Contents
LabelGo

How to Use LabelGo

Drawing

Page Layout

Data Access

Bar Codes

Object Selection and Arrangement

Other Topics

Registration

Other Products (for programmers)

LEGAL & WARRANTY


Drawing

Drawing is done by first selecting the drawing tool (Text, Bar Code or Cheque Amount) either from the menu or the tool bar (the cursor will then reflect the tool selected). Clicking on the drawing area will create an object corresponding to the selected tool.

To edit the text of an object, bind it to the database or modify its attributes, you must first select it by clicking on it. In fact, until there is an object selected, the menu items (and the buttons on the button bars) corresponding to these actions are grayed.


Page Layout

In the Page Layout dialog, the margins that you enter are relative to the edges of the physical page, regardless of the printer's actual printable area. Measure the margin values on the paper and then enter them. If the result of a print test turns out to be shifted compared to the layout on paper, don't modify the margin values; instead, call up the printer origin adjustment dialog.

LabelGo may be able to figure out the actual printable area of the printer through interaction with the printer driver. However, in many cases, the printer driver fails to report exactly the origin of the printable area on the physical paper. So LabelGo may need your help. In the Printer Origin Adjustment dialog, you should enter the adjustment values in such a way that the print test result shows the physical paper's upper-left corner is at (0,0).

By adjusting the printer origin instead of the margins, you can make the layout templates reusable across different printers.


Data Access

LabelGo handles data access only through ODBC, regardless of the actual database format and location (e.g., dBase on the local machine; Oracle server on a UNIX machine over a TCP/IP network).

So ODBC must have been installed and configured before LabelGo can read any data source. You may have already installed ODBC as part of other applications. You may also order ODBC separately from Microsoft. You may also order the LabelGo version distributed on disquettes; it includes ODBC (with drivers for dBase, MS Access, FoxPro, Paradox, Btrieve, MS Excel, and formatted text files). See Registration.

For each database to which you want to have access, you should configure an ODBC data source using the ODBC configuration tool (if ODBC is installed on your system, you can usually find an ODBC icon on the Control Panel; but the icon can also be, sometimes, in a program manager group). ODBC-aware applications (like LabelGo) will use the data source name to gain access to the actual database.

In the LabelGo application, before attempting to bind any object to a database field, you should connect to a data source. In fact, the menu item for binding will stay grayed until you make the connection.

LabelGo always opens your database in READ-ONLY mode.


Object Selection and Arrangement

You may select more than one object at any one time. To add an object to the existing selection, keep the SHIFT key pressed and click on the object; do the same to remove the object from the selection.

Once you have selected more than one object, one of them is the dominant object - you may make the rest of selected objects have the same size as the dominant one by a single click; you may also align them with the dominant one.

To change the dominant object, keep the CTRL key pressed and then click on the object that you want to make dominant.


Bar Codes

LabelGo can print 21 barcode types.

There are two things about a barcode: data and caption. The data is what the barcode stands for and is used to generate the bars. The caption is the text displayed along with the barcode (either above or below). By default, the caption is assumed to be the same as the data. But you can override this by editing the caption or bind it to a database field.

When you bind the barcode data or caption to a database field, you may specify optionally a prefix and a suffix. In this case, it is the prefix plus the database field value plus the suffix that will be used as the barcode data or caption. This feature is very useful when the database contains only part of the data needed by the barcode. For example, when the EAN-13 barcode is used for books (aka Bookland EAN), the first 3 digits are always 978. If your database contains only the ISBNs then, when you bind the ISBN field to the barcode, you need to set the prefix as 978.


Other Products

Bokai Corporation has also the following products available for programmers:

- Easybar/VBX	Bar code custom control for Visual Basic

- Easybar/DLL	Bar code DLL

- Easybar/LIB Portable Edition	Bar code library (source code only) for UNIX and other

operating systems.

Custom programming is also available (MS Windows and also UNIX)

- Quality work for the lowest price!


Easybar/VBX

Easybar/VBX is a barcoding custom control for Visual Basic. It supports 21 bar code symbologies (same as in LabelGo). You may get the current version (1.2x) for US$35 (including Easybar/DLL on request), royalty-free license, shipping by mail included. The version including source code (in pure C using Visual C++ compiler) costs US$95.

Example1: this example shows you how to display a bar code on a form (bar code type, size and position take default values or were set at design time). Double-click the form at run time and see.

Sub Form_DblClick ()

Barcode1.Data = "12345678"

Barcode1.PrintTo = hDC

End Sub

Example2: this example shows you how to print a barcode on the Windows' default printer. It also shows how to set the barcode type at run-time. Double-click the form at run time and see.

Sub Form_DblClick ()

Barcode1.BarcodeType = 5	'UPC-A

Barcode1.Data = "12345678901"

Barcode1.PrintTo = Printer.hDC

Printer.EndDoc

Printer.NewPage

End Sub


Easybar/DLL

Easybar/DLL is a Windows dynamic link library for creating bar codes. It supports 21 bar code symbologies (same as in LabelGo). It is actually also used by the LabelGo application. It allows you to adjust virtually all barcode parameters. You may get the current version (1.2x) for US$35 (including Easybar/VBX on request), royalty-free license, shipping by mail included. The version including source code (in pure C using Visual C++ compiler) costs US$95.

The following is a simple example of how to use Easybar/DLL in C/C++. This piece of code goes into the WM_PAINT message handler (CYourView::OnDraw(), CYourView::OnPrint() or CYourWnd::OnPaint() if you are using MFC):

HBARCODE hBarcode;

hBacode = BarCreate(BCT_3OF9, 0);

BarSetData(hBarcode, "12345678", 8, NULL, 0);

SetRect(&rect, 100, 100, 300, 200);

BarDraw(hBarcode, hdc, NULL, &rect, 0, 0);

BarDestroy(hBarcode);

For other features supported by the DLL, just play with LabelGo (LabelGo was written in Visual C++ using MFC).


Easybar/LIB Portable Edition

Easybar/LIB portable edition is targeted at operating systems like UNIX that has no high-level printing function support. It supports 21 bar code symbologies (same as in LabelGo). It is in source code only (ANSI-C). It does not include any actual drawing function as part of the library, but provides sample drawing code for printing on specific printers (currently only HP printers or other printers supporting PCL 5 language) using the library's functions; see the example below. It provides functions for adjusting all bar code parameters at run time, although direct modification to the default values in the source code is always possible.You may get the current version for US$195, royalty-free license (to be used as part of your applications), shipping by mail included.

The following is a simple example showing you how to use Easybar/LIB:

/* file name: bardemo.c */

#include <stdio.h>

#include <string.h>

#include "easybar.h"

main()

{

HBARCODE hBar;

char *psz;

int pos, width;

unsigned long ulStyle;

/* create a barcode */

hBar = BarCreate(BCT_3OF9, 0);

/* set barcode data */

psz = "12345678";

BarSetData(hBar, psz, strlen(psz));

/* start retrieving the bars, scale factor = 2 */

BarEnumBarStart(hBar, 2);

/* for each bar:*/

while (BarEnumBarNext(hBar, &pos, &width, &ulStyle))

printf("%d %d\n", pos, width);

/* display start position and width of the bar */

BarDestroy(hBar);	/* destroy the barcode */

}

If you have an HP printer (PCL 5 language), you may replace the printf() function above by the following function. Compile and generate the executable: bardemo; then type bardemo|lp to send to printer.

#define ESC	27

/* pos = start position of bar; width = width of bar */

void printBar(int pos, int width)

{

static int x = 0;

printf("%c*p+%dX", ESC, pos - x); /* move printer cursor */

printf("%c*c%dA", ESC, width);    /* width of rectangle */

printf("%c*c%dB", ESC, 200);      /* height of rectangle */

printf("%c*c0P", ESC);            /* fill rectangle */

x = pos;

}


Legal & Warranty

Bokai Corporation and its suppliers make no warranties, express or implied, and specifically disclaim any implied warranties of merchantability or fitness for any particular purpose. Bokai Corporation's liability for damages shall not exceed the current registration fee for the product. In no event shall Bokai Corporation and its suppliers be liable for any special, incidental or consequential damages even if Bokai Corporation has been advised of the possibility of the same.


Registration

You may use this software freely for a period of 28 days. After that, in order to be able to continue to use it, you have to register it.

The registration fee is US$20. You may send cheques (U.S. & Canada; elsewhere, you may consider to get traveller's cheques), money order or cash directly to Bokai Corporation (see address below). CompuServe® members may also register in SWREG #6369. Upon registration, we'll send you a license key that you are going to enter on the Enter License Key dialog under the Help menu.

Registered users will either have free upgrade (those who need shipping will still have to pay shipping & handling) to the Windows® 95 version when available or benefit from significant rebate.

All direct payment to Bokai Corporation will generate an invoice.

If you wish to have the LabelGo application shipped to you on disquettes, you'll have to pay an additional $15 (for a total of $35, no cash please); CompuServe® users could alternatively, if they wish, register on-line twice (for a total of $40). The shipping will include Microsoft desktop ODBC drivers pack (with drivers for 7 database formats: Access®, FoxPro®, dBase®, Paradox®, Btrieve®, MS Excel®, and formatted text files).

For more information, contact:

Bokai Corporation

1221 Dundix Rd., #106

Mississauga, ON  L4Y 3Y9  (Canada)

Fax: (+1) 905 276-7692

Internet: 75333.1235@compuserve.com

CompuServe: 75333,1235


Barcode Types

2 of 5	Interleaved 2 of 5	Code 39

Code 93	Codabar	EAN-8

EAN-13	UPC-A	UPC-E

EAN-128 A	EAN-128 B	EAN-128 C

POSTNET

Bar Codes with Add-ons

EAN-8 + 2	EAN-8 + 5

EAN-13 + 2	EAN-13 + 5

UPC-A + 2	UPC-A + 5

UPC-E + 2	UPC-E + 5


2 of 5

2 of 5 is a non-continuous barcode without check character. Its character set is '0' to '9'.


Interleaved 2 of 5

Interleaved 2 of 5 is a continuous barcode. Its character set is '0' to '9'. The number of characters should be even. The check character is optional and not implemented in LabelGo. You can always integrate it into the data (last digit) should you need it.


Code 39

Code 39 is a non-continuous barcode. Its character set is composed of '0' to '9', 'A' to 'Z', SPACE, '*', '$', '/', '+', '-', '.', '%'. The check character is optional and not implemented in LabelGo; you may always integrate it into the data (last digit) should you need it.

The character '*' being built in as both the start and stop characters of the barcode, you should not attempt to set them any more as part of the data.


Code 93

Code 93 is a continuous barcode with character set composed of '0' to '9', 'A' to 'Z', '-', '.', SPACE, '*', '$', '/', '+', '%' (plus special characters). It has two check characters (not displayed as part of the display text in LabelGo).


Codebar
Codabar

Codabar is a non-continuous barcode without check character. Its character set is composed of '0' to '9', 'A', 'B', 'C', 'D', '$', '-', ':', '/', '.', '+'. 'A' to 'D' are eligible only for start/stop characters. Though the characters 'T', 'n', '*', 'e' may be used instead of 'A', 'B', 'C', 'D', in LabelGo, you cannot directly use them to set data.


UPC-A

UPC-A has a fixed length of 11 characters plus the check character. Its character set is '0' to '9'.

See Also

UPC-A + 2, UPC-A + 5


UPC-E

UPC-E has a fixed length of 7 characters plus the check character. Its character set is '0' to '9'.

See Also

UPC-E + 2, UPC-E + 5


EAN-13

EAN-13 has a fixed length of 12 characters plus the check character. Its character set is '0' to '9'.

See Also

EAN-13 + 2, EAN-13 + 5


EAN-8

EAN-8 has a fixed length of 7 characters plus the check character. Its character set is '0' to '9'.

See Also

EAN-8 + 2, EAN-8 + 5


UPC-A + 2

See Also

UPC-A, UPC-A + 5


UPC-A + 5

See Also

UPC-A, UPC-A + 2


UPC-E + 2

See Also

UPC-E, UPC-E + 5


UPC-E + 5

See Also

UPC-E, UPC-E + 2


EAN-13 + 2

See Also

EAN-13, EAN-13 + 5


EAN-13 + 5

See Also

EAN-13, EAN-13 + 2


EAN-8 + 2

See Also

EAN-8, EAN-8 + 5


EAN-8 + 5

See Also

EAN-8, EAN-8 + 2


EAN-128 A

EAN-128 A is a continuous barcode. Its character set is ASCII 0 to 95 (plus special characters). It has one check character (not shown as part of the display text in LabelGo).


EAN-128 B

EAN-128 B is a continuous barcode. Its character set is ASCII 32 to 127 (plus special characters). It has one check character (not shown as part of the display text in LabelGo).


EAN-128 C

EAN-128 C is a continuous barcode. Its character set is '0' to '9' (plus special characters), internally coded every two characters. It has one check character (not shown as part of the display text in LabelGo). The number of single digit characters (excluding the check character) must be even.


POSTNET

POSTNET is the barcode that represents the U.S. zip code. It may have two fixed lengths: 6 or 9 (or 10 if you count the dash), plus the check character. Its character set is '0' to '9'.