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

EAN 128 Barcodes !!!!

edited April 2006 in General
After reading enough documents to drive me crazy about creating UCC/EAN128
barcodes I am a little closer to actually printing some that actually work,
my customer has a requirement to print pallet lables for Proctor and Gamble
where they use a concatenated EAN128 barcode Eg (10)TEST123456(91)5676. but
we cant understand why the codes we are using dont tie up with Any
documentation from the EAN standard, Eg START_C = #205 but in RB we have to
set it to #210, but we have to add the checksum chars of MOD103 and MOD 10
to the end of the string and this makes these different from the examples we
have been given, why ?

It also appears that there are 3 basic Char sets we can use depending on the
data contained in a string, and that the char set can be switched back and
forth depending on the data, for example, if we have "ABCD123456" as an
output then the "ABCD" part is output using Charset B and then the 123456
number is output as Set C because it compresses pairs of digits eg "12" into
1 bar thus compressing the output.

Does anyone have any experience in calculating the Checksums and if so could
they point me in the right direction ?


Colin Coleman

Comments

  • edited April 2006
    Hi Colin,

    Below is a post from another customer with some similar problems. Perhaps
    the information will help you as well. We apologize, nn all honesty our
    knowledge of barcode symbologies is lacking.

    The RB barcode components originated as a stand alone barcode component that
    we acquired from another company. The original developer of the component
    was very much an expert in barcodes and had tested the barcode output with a
    variety of barcode readers.

    ---

    I have seen the standard RB response when people ask about EAN128 (I've
    posted below for reference).

    With regard to point 1, that link takes you to a page which shows the USS
    Code-128 Character Set. They show Start A as being #203, but in the RB help
    files in the section on Manually Encoding Data for Code 128, Start A is
    #208. In fact, for all of these function codes, all the RB Codes are +5
    higher than the ones shown on this web page (another page
    http://grandzebu.net/informatique/codbar-en/code128.htm also uses #203 for
    Start A). Why are the RB codes different?

    With regards to point 2, I have AutoEncode set to False. Sometimes I can set
    a value to Data and its ok. Othertimes I can set Data to a value and it RB
    displays an message box with an empty message. So it appears to still be
    doing some sort of encoding/check anyway. What's going on? I think what is
    happening is that I was using Character set C which seems to require an even
    number of numbers. Character Set A seems to be more successful. A nicer
    error message would have saved me a lot of time.

    After several hours of struggling and going by a very torturous route, I
    finally seem to have been able to print EAN128 barcodes with multiple
    segments separated by FNC1 by doing something like this:

    ppBarcode1.AutoEncode := False;
    ppBarcode1.Data := #208#207+'01121221'+#207+'17060310'; //#208= Start A,
    #207=FNC1

    It seems to print and scan correctly. One interesting side effect though is
    that Char Set A is supposed to support uppercase characters only. But when
    it scans they show in lowercase.

    Char Set C does give a much more compressed barcode. If you can use numbers
    and if you make sure each segment has an even number of digits (it doesn't
    seem to matter if the overall length is even, each segments seems to need to
    be even), then you should use Set C like this:

    ppBarcode1.AutoEncode := False;
    ppBarcode1.Data := #210#207+'01121221'+#207+'17060310'; //#210= Start C,
    #207=FNC1

    Hopefully others will find this useful.

    Regards

    Jeff

    --------------------------------------------------------
    Tech Tip: UCC/EAN 128 Barcode Generation
    --------------------------------------------------------

    ReportBuilder's support for the Code 128 barcode symbology can be used to
    print UCC\EAN 128 barcodes.
    Code 128 is general purpose symbology that can be used to generate UCC/EAN
    128 barcodes.

    1. Here is a link that came up when I searched in Google. It is for another
    barcode product, but it explains the symbology.

    http://www.idautomation.com/code128faq.html#EAN128andUCC128

    2. The TppBarCode component contains an AutoEncode property that defaults to
    True. To support UCC/EAN 128 you will need set AutoEncode to False and
    manually encode the data. See the AutoEncode topic in the RBuilder.hlp. From
    there you can access a related topic on manually encoding Code 128 data.


    --
    Regards,

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

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited April 2006
    I have implemented pallet labeling like this for our company. All the labels
    where done with report builder but the actual barcode was from a font by a
    company called fontware. The actual text of the barcode is passed to the
    report via a parameter. I used the dll that is supplied with the fonts to
    encode the actual encoded part of the barcode. It took me weeks to work it
    out but we have been using it for a year now.

    I have encoded our check digits with a delphi function I also have a SQL
    server function that does the same.

    Malcolm Laws


  • edited April 2006
    I can send you a label sample to see if it is the same format that you are
    using if you like.

  • edited April 2006
    Hi Malc,

    Thanks for the offer, I think after about two weeks we are getting some
    where, it doesn't
    help when the report builder components are flawed AND the Barcode EAN128
    text is
    MISSING some important field information !!!! (Switch To B is #205) also all
    the codes are
    out by 5 according to the rest of the planet,

    Also found out that the rotation Screws the auto length !!!!...Arghhhhhhh

    They say the "Devils in the detail" well it sure is if you have bought into
    Reportbuilder 9.03
    and are using barcodes, 3 weeks and counting..........Appalling

    Now the standard labels rotated to 270 degrees dont work ...

    Colin Coleman



  • edited April 2006
    Hi Colin,

    Please provide more infomation on the rotated label issue. There is a patch
    available for RB 9.03 that may fix this. If you are interested in the
    patch, please send an email to support@digital-metaphors.com.

    --
    Regards,

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

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited April 2006
    Colin

    I had problems with the rotated barcode. It always messes up when there is
    no data in the field when you are designing the report. It kind of shrinks
    in to a corner and moves the position on the form. I did post about it but
    no fix for it. As I said I used a third party font and encoder. To be fair
    it is not the easiest of barcodes for a reporting package I could not work
    them in Crystal reports either.

    If you need any help feel free to contact me. I'm UK based.

    Regards

    Malcolm



  • edited April 2006
    Colin

    Nico posted with minute of me. I have RB 10.02 and the rotation issue is
    fine

    Malcolm


  • edited May 2006
    I try with ??01977003079004608 and work
    the character ? is the begin character (alt+0208)
    and the character ? is FN1 character (alt+0207)



    --- posted by geoForum on http://delphi.newswhat.com
This discussion has been closed.