Page 1 of 1

EAN 128 alphanumeric...

PostPosted: Wed Jun 29, 2005 12:49 pm
by energywave(Legacy Member)
I'm evaluating your solution for printing EAN128 with Visual Basic.net (in Crystal Reports).
Because I don't want to use UFL or custom Crystal Report DLL, I'm using the ActiveX to format the string to render in Crystal Reports.
All is fine except that I have some fields (AI) in our EAN128 that contains alphanumeric chars. As FontPal do I use the MRVCode128M to render but the alphanumeric chars are "converted" to numeric whitout sense...
It seems that it use the code C all the time.

Please help me or I cannot use your product.

Thank you!

Re: EAN 128 alphanumeric...

PostPosted: Wed Jun 29, 2005 1:13 pm
by glitch (legacy member)
Energywave,

Are you saying that the barcode is incorrect when readed, or just the human readable is incorrect?

If the barcode is incorrect please post your data so we can re-produce.

If you refer to the incorrect human readable text, it is normal. The human readable will not match the data for a mix-encoded Code128 barcode. You can get around it by using a non-human readable font (such as MRV Code128M) and placing a text box below the barcode field.

Re: EAN 128 alphanumeric...

PostPosted: Thu Jul 07, 2005 9:19 am
by energywave(Legacy Member)
Hi and thank you for the quick reply, unfortunately I was out until now.

The problem is not the human readable part: I understand that in mixed mode the human readable part it's not correct so I'm using the MRVcode128 and I've added a label under the barcode in wich I write the human readable version of EAN128. This is perfect, no problem.

My problem is with the barcode itself! It is read by barcode readers, but the alphanumeric part is read as numeric with no sense numbers. I'm unable to encode alphanumeric EAN128 in fact.
I report the piece of code in wich I encode one of the barcodes (written in vb.net, I use a object variable because my program must work even if morovia ActiveX is not installed... so I use late binding):

Barcode = CreateObject("cruflMorovia.Barcode")
Code = String.Format("(241){0}", CodArt)
DS.Tables("Reggiatura").Rows(0).Item("EAN128_3Text") = Code
Code = Barcode.EAN128Ex(Code)
If Code Is Nothing = False AndAlso Code.Length > 0 Then
DS.Tables("Reggiatura").Rows(0).Item("EAN128_3") = Code
End If

I put in my DataSet the data to use in Crystal Reports, in particular in EAN128_3Text I put the human readable text to be put in the label at the bottom of the barcode, and in EAN128_3 I put the encoded string to be printed with MRVCode128M font.

The result is what I was saying. Please help me because I can't complete this application with your fonts!

Thank you.

Re: EAN 128 alphanumeric...

PostPosted: Thu Jul 07, 2005 12:57 pm
by glitch (legacy member)
We just discovered a bug associated with encoding odd-length numeric data in Code128Ex and EAN128Ex functions. If your data has an odd length, you need to download the most recent Font Tools from this link:

http://www.morovia.com/font/support/dow ... ttools.asp

The issue is described at KB10062, http://www.morovia.com/support/article10062.html

Verify the result in FontPal. If problem still exists, dump the value of the variable Code and send to us for a further analysis.

Re: EAN 128 alphanumeric...

PostPosted: Fri Jul 08, 2005 5:26 am
by energywave(Legacy Member)
Great! So that was the problem. Now it works correctly... but... now there is another problem: the space character is not encoded in the barcode.
I have this EAN128 code: (400)46018608/310 90012913
When I encode this barcode i read 40046018608/31090012913 that is correct except the space that left away.

Thank you for your pre-sale support effort!

Re: EAN 128 alphanumeric...

PostPosted: Fri Jul 08, 2005 8:38 am
by DavidXu(Legacy member)
Hello!

This problem is very ease to solve.

If you want to get Barcode, you must specify its readable ID without format (i.e. without space and so on), Programm will format readable ID automatically.

Greetings,

David Xu

Re: EAN 128 alphanumeric...

PostPosted: Fri Jul 08, 2005 8:54 am
by glitch (legacy member)
energywave,

The EAN128Ex strips the space character. Most of EAN128 applications as far as I know do not encode white spaces.

To encode your data, you may use Code128Ex function. You can use tilde code ~1 to input FNC1 character.

To create an EAN128 barcode for your data (400)46018608/310 90012913, you can use

Code128Ex("~140046018608/310 90012913")

Just curious: does EAN-128 with AI 400 (purchase order) allow space and slash characters?

Re: EAN 128 alphanumeric...

PostPosted: Thu Jul 14, 2005 10:55 am
by energywave(Legacy Member)
Thank you again glitch,

as far as I know the AI 400 is reported as alphanumeric max. 30 chars, I guessed that it was full alphanumeric. I don't really know if there is a limitation to the ascii character set in alphanumerics AIs.
However the problem was born because the client for wich we are developing a software has some "purchase order" like the one of the example, he send a sample coded with code128 to a client who is used to read EAN128 and he said it was ok. So maybe there can be spaces and slashes too, but I'm not sure.
Anyway thank you, if I must encode special characters I'll use Code128, and all is ok.