![]()
Quick_links...
Search site
Trial products
Online tutorials
Products
Barcodes for Office
Barcode creators
Barcode fonts
Developer tools
Label printing
Labelling tools
Point Of Sale
Resources
New to barcodes?
How To ...
Support centre
Tutorial centre
Which product
For users
Common problems
What's New?
Newsletter
Online registration
Contact us



The dBarcode DLL products consist of a 32 bit DLL and full sample source code illustrating the writing of barcode applications in Microsoft Visual Basic 6 or VBA or C/C++. Suitable for Visual Studio 6 - Visual Studio 2010. Each package also includes a Delphi component (derived from TImage).
The latest release also includes a 64 bit DLL which may be installed on a 64 bit system, along with a C++ sample and source code for Viusal Studio 2005 or later.
Each unit enables the developer to set the code, code type, size, font details, text justification, orientation, background and foreground colours, and to enable or disable text characters all from within their application.
Each unit generates both a pattern string for bars and spaces and a metafile picture containing the barcode image and (where enabled) the code text. The picture may be displayed, printed, saved or passed to the clipboard by the user’s code.
Source code for demonstration applications included. -
see sample
Full HELP system.
Screen shot - click on images to enlarge
Popup dialog
There are 11 dLSoft dBarcode DLL products, each supporting a range of barcode types
To download a TestWare version now or buy from the online store select the required product below. Licence covers both 32 and 64 bit versions
|
Product |
Supports |
| dBarcode DLL – 2D Universal | Aztec, DataMatrix, Maxicode, PDF417,Truncated PDF417, MicroPDF, *QR Code, *Micro QR and GS1-DataBar (RSS) |
| or for limited barcode type support: | |
|
Code 39, Extended 39, Code 93, Extended 93, Code 128, Interleaved 2 of 5 and Matrix 2 of 5 |
|
|
EAN-13/8, UPC-A/-E (with supplementaries), EAN/UCC 14, GS1-128, ITF and SSCC |
|
|
Aztec |
|
|
DataMatrix |
|
|
MaxiCode |
|
|
PDF417, Truncated PDF417 & MicroPDF |
|
|
QR Code & Micro QR Code |
|
|
GS1-DataBar (formerly RSS) |
* Composite product does not generate vector EPS files.
View the product Help files
*
Composite product does not generate vector EPS files.
**dBarcode DLL - Universal supports: 2 of 5, 3 of 9, Australia
Post, Codabar, Code 11, Code 39, Extended Code 39, Code 93, Extended
Code 93, Code 128, Code B, Deutschen Post, DUN14, EAN- 8, EAN-13,
EAN-14, EAN-128/UCC-128, ISBN, ISMN, ISSN, IATA 2 of 5, ITF-14,
ITF-6, Interleaved 2 of 5, InfoMail, Intelligent Mail (OneCode),
Italian Post 2/5, Italian Post 3/9, Japan Post, JAN, Korean Postal
Authority, Matrix 2 of 5, MSI (Modified Plessey), Planet, Plessey,
PostNet & FIM, Royal Mail 4 State, SSCC, SICI/SISAC, Swiss Post,
Telepen (numeric and ASCII), UCC-14, UPC-A, UPC-E
Windows 2000/XP/2003/Vista/Windows 7 or Windows 2003/2008 Server.
The 32 bit DLL may be used on 32 or 64 bit systems. The 64 bit DLL
is suitable only for 64 bit systems.
Development environment using a language capable of making DLL
calls.
Each dLSoft dBarcode DLL may licensed as a single computer product or as a developer version which permits Royalty-free distribution of the DLL as part of the developer's own project for up to 10,000 distributions. Licences cover both 32 bit and 64 bit versions.
Probably the most import matter to resolve before
using the DLL is what type of image is to be created.
We always recommend that barcode images are created as metafile
images or enhanced metafile images as these have the highest
possible resolution. Using the library calls BarCodem (or BarCdm)
and BarCodemx (or BarCdmx) will allow handles to these metafile
images to be obtained directly.
Some developers may prefer (or be forced) to obtain the images from the clipboard (using BarCodec or BarCdc) or from a disk file (BarCodef or BarCds). Others may be unable to use metafile images and be forced to use either monochrome bitmaps or device independent bitmaps, at the current default resolutions using calls to SetDpi, BarCodeb or BarCoded respectively, or at a specified target resolution in dpi using BarCodeb3 or BarCoded3 respectively.
The DLL can also draw the barcode image directly into a device context using BarCodeh or BarCodeh2 (or BarCdh2)
Library calls are formed into two Groups. Group 1 calls to the DLL require a Barcode structure to be filled prior to the call. Group 2 calls do not require the Barcode structure (unless a structure is being retrieved from the dialog box), but do require a dialog box to be used to set barcode properties (as shown in the image above).
Visual Basic programmers should note that some of the elements of the structure are character arrays, and that when these are defined in VB as BYTE arrays, four characters are lost through the VB array header, as shown in the VB declaration below.
Finally it must be emphasised that barcodes created with the kit should be tested before being used. The thickness of lines is an essential element in the readability of barcode images, and while the DLL attempts to produce the correct line thickness, what actually appears on paper is also significantly influenced by the printer technology being used.
The library calls for the GS1 Composite library are analogous to those for the dBarcode DLLs, except that all calls that supply a data string have been modified to supply two data strings – one for the Linear portion of the barcode and one for the Composite Component of the symbol.
The size of symbols generated
by the composite library is determined entirely by three members of
the BARCOMP structure:
xunit – this is the width (in Mils – 1/1000 inches) of the thinnest
element of the symbol.
ymult – this is the value by which xunit is multiplied to generate
the height of each element of the composite component.
linheight – this is the height of linear bars in Windows HIMETRIC
units (0.01 mm). The barcode properties dialog allows this value to
be provided in Inches or Millimetres.
For Databar Stacked and Truncated types there are height values
specified by the GS1 Databar standard and these override any value
provided through the linheight parameter.
The size of the symbol created is returned in the length and height members of the BARCOMP structure in Windows HIMETRIC (0.01 mm) units.
The dBarcode for Delphi Components are wrappers for the dBarcode DLLs, and create TPicture images containing a barcode and (optionally) the text version of the code underneath the bars. The metafile picture may be viewed, printed, saved to disk or copied to the clipboard through the users own program.
The barcode component is based on the
TImage and so inherits many of its properties from this object. Over
and above this, the component supports properties specific to its
application, in this case the production of Barcodes. The component
can be placed on a form and its properties set a Design time or
altered through code at Run-Time.
A sample application is included in the form of the dBarcode1
project, which includes the UNIT1.PAS source file.
A typical example is shown below
procedure TForm1.DoBarcode();
begin
Barcode1.Xunit:=20;
Barcode1.BarcodeType:=8;
Barcode1.Caption:=Edit1.Text;
errormessage.Text:=Barcode1.GetError(Barcode1.Error);
end;
To print a barcode image one approach
is to Draw the Picture on the Printer.Canvas, as shown in the code
sample below.
Note that the Picture is created in HIMETRIC units, and so to print
the image at the correct size these must be converted into printer
pixel units using the GetDeviceCaps() function.
procedure TForm1.Button2Click(Sender:
TObject);
var
ii: integer;
jj: integer;
Rect: TRect;
pScalex: Integer;
pScaley: integer;
begin
DoBarcode(); {recreate the barcode image}
{set the target rectangle for drawing on the printer}
{change from mm to pixels}
pScalex:=GetDeviceCaps((Printer.Handle),LOGPIXELSX);
pScaley:=GetDeviceCaps((Printer.Handle),LOGPIXELSY);
ii:=(Barcode1.ImageWidth*pScalex) div 2540;
jj:=(Barcode1.ImageHeight*pScaley) div 2540;
Rect.Left:=200;
Rect.Top:=200;
Rect.Right:=Rect.Left+ii;
Rect.Bottom:=Rect.Top+jj;
Printer.BeginDoc;
Printer.Canvas.StretchDraw(Rect, Barcode1.Picture.Graphic);
Printer.EndDoc;
end;