Seite 1 von 1

Datamatrix

Verfasst: Do, 13. Okt 2016 17:48
von Armin
Hallo,

ich will mit List und Label einen Datamatrix-Code drucken.

Separators (ISO 15434 & ASC MH 10 Standards)

[)> Start of transmission with
<RS> Record Separator
06 ASC MH 10 Data Identifiers
<GS> Group Separator
<EOT> End Of Transmission

Den String bereite ich so auf:

Code: Alles auswählen

    cHilf := "[)>"+ "~d030"+"06"+"~d029"+;
             "P"  + trim(field->LATENK) + "~d029"+;
             "1T" + trim(field->XXFAUN) + "~d029"+;
             "14D"+ field->XXMHDT + "~d029"+;
             "Q"  + trim(field->XXVPEI) + "~d030"+;
              "~d004"
D.h. für <RS> verwende ich chr(30), für <GS> chr(29) und für <EOT> chr(4)

So erzeuge ich die LL-Variable:
LlDefineVariableExt(hJob, cFeldname, Trim(cHilf), LL_BARCODE_DATAMATRIX, 0 )

Der Code wird mit einer Barcode-App auf dem Handy als Format DATAMATRIX und Typ TEXT angezegit.
Folgendes Ergebnis:
[)> 06 PA2U00095689 1TF160099901 14D20211110 Q20000

Jetzt behauptet der Kunde, dass die Steuerzeichen fehlen.

bzw. sind die Codes richtig?
<RS> entspricht chr(30)
<GS> entspricht chr(29)
<EOT> entspricht chr(4)

Hier wird das etwas erklärt:
http://www.idautomation.com/barcode-faq/iso-iec-15434/

Grüße, Armin

Re: Datamatrix

Verfasst: Di, 18. Okt 2016 10:08
von Armin
Hilfe,

der Kunde hat uns jetzt einen Datamtrix zugesendet, wie er ihn gerne haben will.

Wenn ich den scanne, dann sind da die Steuerzeichen drin und werden folgendermaßen angezeigt:

[)><RS>06<GS>PA2U00095689<GS>1TF160099901<GS>14D20211110<GS>Q20000<RS><EOT>

Wie bringe ich List und Label dazu, diese Steuerzeichen in den Datamatrix einzufügen?

Grüße, Armin

Re: Datamatrix

Verfasst: Di, 18. Okt 2016 10:10
von Armin
Der richtige Datamatrix Barcode im Anhang

Re: Datamatrix

Verfasst: Di, 18. Okt 2016 10:24
von brandelh
Mein Smartphone gibt für den Barcode einen anderen Code zurück, war das nur ein Beispiel oder spinnt der reader bei mir ?

Re: Datamatrix

Verfasst: Di, 18. Okt 2016 10:32
von brandelh
Hast du mal versucht statt "~d029" einfach chr(29) etc. zu verwenden ?

Re: Datamatrix

Verfasst: Do, 20. Okt 2016 11:36
von Armin
Hallo Hubert,

vielen Dank für Deine Antworten!
Hast du mal versucht statt "~d029" einfach chr(29) etc. zu verwenden ?
ja, da kommt das gleiche dabei raus.

Das ist nur ein Beispiel vom Kunde - ich wollte zeigen, dass beim Scannen die Steuerzeichen als z.B. "<RS>" gezeigt werden.
In meinem Beispiel werden an diesen Stellen Leerzeichen gezeigt. Combit hat meinen String jetzt auch mal verwendet und sie sehen die entsprechenden Zeichen nach dem Scannen als Hex-Werte drin. Trotzdem scheint der Datamatrix nicht i.O..

Man sieht auch den Unterschied - der richtige vom Kunde scheint in 4 Bereiche aufgeteilt zu sein.

Grüße, Armin

Re: Datamatrix

Verfasst: Mo, 24. Okt 2016 10:06
von Armin
Hallo zusammen,

jetzt klappt es - dank Combit-Support.

Die Lösung:

Den String an List und Label so uebergeben:
"[)><RS>06<GS>PA2U00095689<GS>1TF160099901<GS>14D20211110<GS>Q20000<RS><EOT>"


D.h. die Steuercodes
<RS> entspricht chr(30)
<GS> entspricht chr(29)
<EOT> entspricht chr(4)

werden nicht als Steuerzeichen (z.B. "~d029") uebergeben (waere laut Doku zu erwarten) sondern als entsprechenden Text "<RS>" usw..
List und Label scheint dann den Text in die Steuerzeichen umzuwandeln... :roll:

Grüße, Armin

Re: Datamatrix

Verfasst: Mo, 24. Okt 2016 10:21
von brandelh
Das macht aber auch Sinn, "<...>" wird als Text über alle Schnittstellen sauber übergeben, Steuerzeichen eventuell "gefressen" oder interpretiert.
Einfacher ist es auch :D

PS: manchmal denkt man zu kompliziert ... geht mir auch so :roll:

Re: Datamatrix [ERLEDIGT]

Verfasst: Mo, 24. Okt 2016 11:13
von Armin
Hallo Hubert,

vielen Dank für Dein Mitdenken! :D
PS: manchmal denkt man zu kompliziert ... geht mir auch so
ja - kann passieren - die Dokumentation dazu ist aber auch sehr widersprüchlich bis überhaupt nicht vorhanden (List und Label).
Ich wollte es halt gleich richtig machen und nicht rumprobieren...

Gut - klappt ja jetzt,

Grüße, Armin