Datamatrix

Hallo zusammen,

ich möchte oder vielmehr muss einen DataMatrixcode ausdrucken.
Den Inhalt stelle ich im programm zusaemmen und übergebe die
Variable an list & label.
Nun beinhaltet der matrixcode aber viele CHR(0) das führt natürlich
dazu, das bei der Übergabe abgeschnitten wird.
Nun mache ich folgendes. Ich ersetze alle CHR(0) mit CHR(64) und
übergebe den String an List und Label. Es kommen genau die benötigten
202 Byte an.
Nun ersetze ich vor dem Druck in list und label mit der
Funktion StrSubst$(MatrixCode,CHR$(64),CHR$(0)) wieder zurück in den
Urspung. Und Schwupp -> Nur noch 196 Bytes sind übrig. Das ist natürlich
ein echtes Problem. Da so der Matrixcode heftigst falsch rauskommt
hat jemand eine Idee ?
Ach ja. List & Label Version 12

Vielen Dank schon mal für die Tips

Michael

Nachtrag.

ich hab es jetzt mit LL 13probiert. Gleiches Problem.
Ersetze ich CHR(64) durch z.B. CHR(65) bleiben die 202 Byte bestehen.
Also besteht das problem nur mit CHR(0) aber warum ?
very strange.

Michael

Hallo,

Dass ein chr(0) direkt nicht klappt, ist recht gut nachvollziehbar, das ist
ja das string-ende zeichen bei vielen programmiersprachen (nulltermiated
string), siehe
[url=Null character - Wikipedia

Im][/url] Designer-Handbuch steht beim Datamatrix folgendes:

Um nicht druckbare Zeichen (Binärdaten) im Barcodetext eingeben zu
können,
müssen sie in einer speziellen Zeichenkette verpackt werden. Man
fügt die Daten
über die Zeichenkette * ~dNNN ein, wobei NNN für den ASCII-Code steht.
<<<<

das sollte ja vielleicht helfen, sofern NULL-Zeichen auch tatsächlich in LL
vorgesehen sind.

also mal einfach versuchen mit:

StrSubst$(MatrixCode,CHR$(64),“* ~d000”)

(sofern vorher Deine ERsetzung nach chr(64) vorgenommen wurde.

Gruss,
Harry

“Michael Blum” <michael.Blum@EDV-Blu…> schrieb im Newsbeitrag
news:264238282009162854@combit.net…

Nachtrag.

ich hab es jetzt mit LL 13probiert. Gleiches Problem.
Ersetze ich CHR(64) durch z.B. CHR(65) bleiben die 202 Byte bestehen.
Also besteht das problem nur mit CHR(0) aber warum ?
very strange.

Michael

Hallo Harald,

Danke für den Tip.
ich hab?s mal eingebaut und an die Post geschickt. Mal sehen was passiert.

Nur in LL12 steht davon nix,
in LL13 steht da “* ~dNNN”
in LL14 steht da “~dNNN”

sehr Bizarr. Kann es sein das ab Ll13 der Barcode zugekauft werden muss
? Irgendwie bekomme ich den gar nicht Angeboten. Nur in LL12 steht er
zur Verfügung.

Erst mal danke für Deine Hilfe. Wie immer: RTFM .

Leider kann ich ohne Barcodereader für datamatrix nicht selber testen.
Sonst gings schneller.
ich werde aber auf jeden Fall berichten.

Michael

Harald Eisen schrieb:

Hallo,

Dass ein chr(0) direkt nicht klappt, ist recht gut nachvollziehbar, das ist
ja das string-ende zeichen bei vielen programmiersprachen (nulltermiated
string), siehe

Im Designer-Handbuch steht beim Datamatrix folgendes:

Um nicht druckbare Zeichen (Binärdaten) im Barcodetext eingeben zu
können,
müssen sie in einer speziellen Zeichenkette verpackt werden. Man
fügt die Daten
über die Zeichenkette * ~dNNN ein, wobei NNN für den ASCII-Code steht.
<<<<

das sollte ja vielleicht helfen, sofern NULL-Zeichen auch tatsächlich in LL
vorgesehen sind.

also mal einfach versuchen mit:

StrSubst$(MatrixCode,CHR$(64),“* ~d000”)

(sofern vorher Deine ERsetzung nach chr(64) vorgenommen wurde.

Gruss,
Harry

“Michael Blum” <michael.Blum@EDV-Blu…> schrieb im Newsbeitrag
news:264238282009162854@combit.net…

Nachtrag.

ich hab es jetzt mit LL 13probiert. Gleiches Problem.
Ersetze ich CHR(64) durch z.B. CHR(65) bleiben die 202 Byte bestehen.
Also besteht das problem nur mit CHR(0) aber warum ?
very strange.

Michael

Hallo Harald,

also mit “* ~d000” gehts in LL12.
Habe heute die Auswertung der Post bekommen.
ist natürlich aus so für den Kunden wesentlich besser.
Da braucht man in LL nur noch die Variable matrixcode anwählen.

Vielen Dank für die Info.

Michael

Korrektur !

mit “~d000” gehts in LL12

Michael Blum schrieb:

Hallo Harald,

also mit “* ~d000” gehts in LL12.
Habe heute die Auswertung der Post bekommen.
ist natürlich aus so für den Kunden wesentlich besser.
Da braucht man in LL nur noch die Variable matrixcode anwählen.

Vielen Dank für die Info.

Michael