Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

2DBarcode

edited January 2008 in General
Hi,

We are in delphi2007. RBuilder 10.07.

We are going to do a bar code label following MIL_STD_130M Guidelines.

In the new version of Rbuilder 2DBarCode. Barcode Type:bcMaxicode
Had Extended Syntax which may help us out per our requirement.'


Our Requirement is like this

CONSTRUCT 2 - SAMPLE BARCODE LABELS PER MIL-STD-130M

For the UID: 0CVA512345678123786950
[)>RSDDGSMFR0CVA5GSPNR12345678GSLOT123GSSER786950RSEoT


[)> = A three-character compliance indicator in the message header
RS = A Format Trailer Character to indicate the fourth character of
the message header
[)>RS = The message header
DD = A special DoD-specific format header, which indicates Text Element
Identifiers (TEIs) are being used in the collaborative solution
GS = A Data Element Separator used between data fields
MFR = TEI for Manufacturer Commercial and Government Entity (CAGE) code
0CVA5 = CAGE Code
GS = A Data Element Separator used between data fields
PNR = TEI for Current Part Number within the Enterprise Identifier
12345678 = Part Number within the Enterprise Identifier ((Part Number)
GS = A Data Element Separator used between data fields
LOT = TEI for Lot or Batch Code within the Enterprise Identifier, if
applicable
123 = Lot Number
GS = A Data Element Separator used between data fields
SER = TEI for Serial Number within the Enterprise Identifier
786950 = Serial Number within Enterprise Identifier
RS = A Format Trailer Character to indicate the end of a data format
envelope
EoT = A Message Trailer which identifies the end of the message within the
data stream




In the Help of Rbuilder 10.07 I saw following syntax is supported for
bcMaxicode.

The MaxiCode escape sequences are defined in the following table:
Escape Sequence Meaning
ddd Insert the decimal character represented by ddd. There
Cdd must be three digits, from 000 to 255. Insert the codeword represented
by dd. There must be two
Edddddd digits, from 00 to 63. Insert a switch to ECI dddddd. There must be
six digits,
EOT with a value from 000000 to 999999. Insert an EOT character (Decimal 4).
This character is
frequently used to indicate the end of the message in a
MaxiCode symbol.
FS Insert the FS character (Decimal 28)
GS Insert the GS character (Decimal 29). This character is
frequently used to separate fields in a MaxiCode symbol
NS Insert the NS codeword (Codeword 31).
RS Insert the RS character (Decimal 30)
Xdd Insert the hexadecimal character value represented by dd.
There must be two hexadecimal digits, with a value from
00 to FF.
\ Inserts a backslash character.


We want to make use of this above syntax.

Can you please send us a demo how to implement this.




Thank You
Bharathi

TIP TECHNOLOGIES

Comments

  • edited January 2008
    Hi Bharathi,

    The implementation of a barcode with the below specifications should be
    possible using the 2DBarcode component. Though I haven't spent much time
    with the MaxiCode barcode type I have spent a considerable amount of time
    with the PDF 417 specification which shares the same ancestor. Below are a
    few tips to get you going.

    1. Construct the data string using a TStringList (unless you are pulling the
    data from a database).
    2. For special characters such as the group separator (Char(29)) use the
    following syntax...

    Data := '[)>' + #30 + 'DD' + #29 + 'MFR0CVA5' + ...;

    In my experience, using the actual ascii values of the special characters
    seems more robust than using the backslash method.

    Let me know if you come across any snags and I'll be glad to help you.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.