
			============================
                TBarCode DLL / V 2.0
			============================

            TEC-IT Datenverarbeitung GmbH
                  Wagnerstrasse 6
                    A-4400 Steyr
                   AUSTRIA/EUROPE

                http://www.tec-it.co.at
                 barcode@tec-it.co.at
             phone: 043 / 7252 / 77751-80
               fax: 043 / 7252 / 78335

			============================


         (best viewed with tab size set to 4)

                         +++

1) Whats new compared to V1.4 (for both the DLL and the ActiveX)?

* PDF417                 : full support (even the "truncated" - version)
* Code128                : direct selection of Code128A, Code128B or Code128C 
                           (without specification of format/subset strings)
* Escape-Sequences       : Use control codes (such as carriage return) within 
                           the bar-code by utilization of so called escape 
						   sequences (e.g. \x0d) (new property EscapeSequences).
* Clipboard              : The barcode image can now be copied to the clipboard 
                           (new method CopyToClipboard)
* Auxiliary              : The width of the generated bar-code can be retrieved 
                           (supported units: pixels or mm) 
						   (new methods GetMinWidth, GetWidth and GetModuleWidth)
* Licensing              : we have implemented a new licensing method 
                           (changed parameters for method LicenseMe)
* ActiveX Property Dialog: a new dialog for the PDF417-properties was added. 
                           And some "cosmetic" changes.
* MFC                    : Improved print-previewing when using the TBarCode ActiveX 
                           Control within MFC applications (new method PaintMFC)
* Memory                 : optimized memory usage 
* Sample Applications    : more (and better) applications are available now
* Setup                  : Beside the ActiveX the setup program now installs sample 
                           applications and a start menu entry
* Help                   : Depending on the active page of the TBarCode property dialog 
                           the corresponding help section is displayed
* Compatibility          : Attention - the V2.0 is not compatible with V1.4 
                           (new licensing method and new licensing keys) 
						   Make sure to deinstall older version before installing V2.0!

                         +++

2) The DLL is shipped with the following files:

* TECITStd.h
* TECErrorCodes.h
* TECBarCode.h
* TECBCEnum.h
* TBarCode2.DLL
* TBarCode2.Lib
* TBarCode.Hlp
* TBarCode.cnt

This first 6 files are needed for using the DLL in your application.
The last 2 files are intended for developer help only.

                         +++

3) The Example program consist of the following files

* BarCTest.CPP
* BarCTest.H
* Read_Me.txt (this file)
* resource.h
* Stdafx.cpp
* Stdafx.h
* TBarCode_Exe.cpp
* TBarCode_Exe.dsp
* TBarCode_Exe.h
* TBarCode_Exe.rc
* res\TBarCode_Exe.ico
* res\TBarCode_Exe.rc2

                         +++

4) Compiling the Demo

* Unzip all files.
* Start Visual C++ 5.0 (or 6.0)
* Load the Project "TBarcode_exe.dsp"
* Compile the project
* Run the Demo

                         +++

5) Demo EXE Information

Please note, this is a "Demo". No input validation is performed!


Fields:

BARCODE TYPE
	Select the barcode type you want.
	NOTE: 
	A blank data field can result in some bars (because of start / stop sequences).
	If the selected type is not supported or there is an error in the barcode data 
	(e.g. unsupported characters, unsopported check-digit) then nothing is drawn. 
	If you are using the DLL as a programmer you will get an error code

	Accepted data-lengths for the different barcode types:

	None						no barcode is drawn
	Code 11						> 0
	Code 2 of 5 standard		> 0 
	Code 2 of 5 interleaved		> 0 (a 0 is inserted if odd number of digits specified)
	Code 2 of 5 IATA			> 0 
	Code 2 of 5 Matrix			> 0 
	Code 2 of 5 DataLogic		> 0 
	Code 2 of 5 Industrie		> 0 
	Code 39 (3 of 9)			> 0 
	Code 39 (full ASCII)		> 0 
	EAN8						8 with "no check digit", 7 (8) with "standard check digit"
	EAN8P2 (2 digit add-on)		8+2 with "no check digit", 7(8)+2 with "standard check digit"
	EAN8P5 (5 digit add-on)		8+5 with "no check digit", 7(8)+5 with "standard check digit"
	EAN13						13 with "no check digit", 12(13) with "standard check digit"
	EAN13P2  (2 digit add-on)	13+2 with "no check digit", 12(13)+2 with "standard check digit"
	EAN13P5  (5 digit add-on)	13+5 with "no check digit", 12(13)+5 with "standard check digit"
	EAN128						> 0
	UPC12						same as UPCA
	CodaBar2					> 0
	CodaBar18					not supported
	Code128						> 0
	DPLeitcode					> 0 
	DPIdentcode					> 0
	Code 16K					not supported
	Code 49						not supported
	Code 93 (9 of 3)			> 0
	UPC25						not supported
	UPCD1						not supported
	UPCD2						not supported
	UPCD3						not supported
	UPCD4						not supported
	UPCD5						not supported
	UPCSCC						not supported
	UCC128						same as EAN128
	UPCA						12 with "no check digit", 11(12) with "standard check digit"
	UPCAP2 (2 digit add-on)		12+2 with "no check digit", 11(12)+2 with "standard check digit"
	UPCAP5 (2 digit add-on)		12+5 with "no check digit", 11(12)+5 with "standard check digit"
	UPCE						8 with "no check digit", 7(8) with "standard check digit"
	UPCEP2 (2 digit add-on)		8+2 with "no check digit", 7(8)+2 with "standard check digit"
	UPCEP5 (5 digit add-on)		8+5 with "no check digit", 7(8)+5 with "standard check digit"
	PostNet5					5
	PostNet6					6 with "no check digit", 5(6) with "standard check digit"
	PostNet8					8
	PostNet10					10 with "no check digit", 9(10) with "standard check digit"
	PostNet11					11
	PostNet12					12 with "no check digit", 11(12) with "standard check digit"
	Plessey						> 0
	MSI							> 0
	POSTCODE					not supported
	FIM							not supported
	LOGMARS						not supported
	DUN							not supported
	PHILIPS						not supported
	DOTCODEA					not supported
	GP							not supported
	PDF417						> 0
	PDF417Truncated				> 0
	MAXICODE					not supported
	QR-Code						not supported
	Code128A (Subset A)			> 0
	Code128B (Subset B)			> 0
	Code128C (Subset C)			> 0


CHECK DIGIT
	Select the check-digit type you want:
	no Check Digit.......:	no check digit is appended 
							for barcode-types where a check digit is required (like EAN, UPC, ...) 
							you have to supply the check-digit as part of the barcode-data.
	standard check digit.:	the standard check-digit for the selected barcode type is computed and 
							appended to the barcode automatically (see list below)
							For barcode-types like EAN, UPC or PostNet the check-digit is computed 
							only if required. 
	Modulo 10............:	suitable for all 2of5 symbologies 
	Modulo 43............:	suitable only for Code39 and Code39 extended
	Modulo 47............:	standard for Code93 and Code93 extended
	DP Leitcode..........:	standard for DP Leitcode
	DP Identcode.........:	standard for DP Identcode
	Code 11 (Digit 1)....:	for Code11
	Code 11 (Digit 2)....:	for Code11
	Postnet..............:	standard for Postnet6, Postnet10, Postnet12
	MSI (Digit1).........:	standard for MSI
	MSI (Digit2).........:	not supported
	Plessey..............:	standard for Plessey
	EAN8.................:	standard for EAN8, EAN8P2, EAN8P5
	EAN13................:	standard for EAN13, EAN13P2, EAN13P5
	UPCA.................:	standard for UPC12, UPCA, UPCAP2, UPCAP5
	UPCE.................:	standard for UPCE, UPCEP2, UPCEP5
	EAN128...............:	standard for EAN128 (all subsets)
	Code128..............:	standard for Code128 (all subsets)	
 	

DATA
	The barcode data. 
	NOTE: no input validation is performed

MODUL WIDTH
	The module width in mm/1000 if not empty
	NOTE: The barcode may be drawn OUTSIDE of the rectangle if the module width is too large. No clipping is performed.

PRINT RATIO:
	The required print ratio in the form number ":" number ":" and so on
	The text box to the right (format hint) of this fields shows you how much numbers you can enter (depends on barcode type)
	1B, 2B, 3B, ... stands for bar widths (1B...small bar, 2B wide bar, 3B...wider bar)
	1S, 2S, 3S, ... stands for space widths (1S...small space, 2S wide space, 3S...wider space)
	Example:
	Format hint: shows 1B:2B:1S:2S (as for 2 of 5 interleaved)
	You enter  : 1:2:1:2
	The barcode is drawn with a print ratio of 2:1 (wide bars/spaces to narrow bars/narrow spaces)

FORMAT (SUBSET CONTROL)
	Used for subset control (for code128 - enter A, B or C depending on required subset), 
	for positioning the check digit(s) and 
	for formating the barcode data (contact us for detailed documentation)
	The following control characters are supported:
	A...switch to subset A (Code 128) or add charater 'A' to raw barcode data
	B...switch to subset B (Code 128) or add charater 'B' to raw barcode data
	C...switch to subset C (Code 128) or add charater 'C' to raw barcode data
	#...placehooder for next character of raw barcode data
	&...placeholder for the complete (or remaining) raw barcode data
	^...placeholder for the next check digit
	each other character is added literally to the barcode data 

	Example:
	Raw data: 1234
	Format  : A##9&A
	Result  : A12934A


GUARD BAR WIDTH
	The width of the guard bar in mm/1000 if not 0.
	NOTE: The guard bar is drawn regardless of the selected barcode type. Even if guard bars makes no sense (e.g. EAN8).

TEXT ABOVE
	Specifies whether the human readable interpretation should be printed above or below the barcode

PRINT TEXT
	Specifies whether the human readable interpretation should be printed.

ORIENTATION
	Specifies the orientation of the barcode in 90 deg steps


Buttons:

BAR COLOR
	Press this button to select a color for the barcode bars

FONT
	Press this button to select a font for the human readable interpretation

LICENSE
	Look at the button-handler source code for an automatic-licensing example .

                         +++

6) Frequently asked questions

Q: Which packing is required for using the DLL
A: The DLL was compiled using 8-Byte packing. The corresponding pragma pack (8) 
   for VC is included in the header files

Q: How to add the leading and trailing '*' for CODE39
A: No action is required. The *'s are added automatically to the barcode
 
Q: How to add the check digit to CODE39
A: Enter &^ in the Format string (^ is a placeholder for the check digit)
   And select Modulo 43 as Check-Digit Method

Q: How to add the leading and trailing 'A' (or B or C or D) for CODABAR
A: Enter A&A in the Format string (& is a placeholder for the barcode raw data)

Q: How can I order a license?
A: Please check out http://www.tec-it.co.at/tie_ordr.htm 
   Beside online ordering we accept fax, phone and eMail orders.
   If you want to pay using credit cards you will receive your
   license key within 6 hours on workdays.

