SAIA Epsonprinter und NUL Charakter

Aug 05, 2004 4 Replies

Hi zusammen



Ich seh grad keine Lösung, womöglich liegt sie ja ganz nah.



Ich möchte mit einer SAIA PCD Epson ESC/POS Sequencen an einen Epson Printer schicken, das funktioniert eigentlich auch einwandfrei, bist auf Sequenzen die einen NUL Charakter beeinhalten.



Diese Sequenz z.B. funktioniert: "d" ; 5 Zeilen vorschub "V" ; Papier Abschneiden



Diese Sequenz nicht: "p" ; Gespeichertes Bild 1 drucken normale Grösse



Diese wiederum schon: "p" ; Gespeichertes Bild 1 drucken doppelte Breite



Bei Sequenz: "p"



Weigert sich das PG zu Kompilieren und bricht mit der Fehlermeldung



Error 389: Intitialisation.obj: NUL character in Text Print2



die Kompilierung ab.



Aber nach den Epson Unterlagen braucht es diese Sequenz:



FS p n m



wobei n die Nummer des Bildes ist.



und m beschreibt den Modus


0.48 Normal
1.49 doppelte Breite
2.50 doppelte Höhe
3.51 doppelte Höhe und Breite

Hat das schonmal jemand versucht?



p lässt sich zwar kompilieren wird aber vom Drucker nicht verwertet.



Als Unterlage verwende ich die von Epson zugesendete Spezifikation des TM-T88 II serie Printer



Es geht dabei um diesen Befehl:

formatting link
mfG René


Hast Du es schon mal mit "escapen", also einem \ vor der NUL versucht? Das ist eigenlich der übliche Weg, irgendwelchen Chars ihre Sonderstellung zu nehmen.

Gruß Willi

Willi Marquart schrieb folgendes:

Dann motzt der Compiler leider auch wegen illegal expression.

mfG René

Hallo,

ich fürchte, es gibt hier ein Verständnisproblem. Und zwei Dinge werden durcheinandergeschmissen. (1) Einmal handelt es sich offenbar um ein Problem mit einem Compiler und René verrät uns nicht, um welchen es sich handelt. Und (2) zum anderen um das richtige Deuten des Handbuchs von Epson.

Zu (1)

Ich finde obige Fehlermeldung recht eindeutig: Es heißt dort, dass sich ein "NUL character" (genau wie Du es willst) in der wie auch immer gearteten Entität "Text Print2" befindet. Da ich meine Kristallkugel verliehen habe, weiß ich nicht, um welche Sprache es sich handelt, und ich kann Dir nicht verraten, ob es in jener Sprache zulässig ist, einen String mit NUL-Zeichen zu belegen oder es andere Möglichkeiten gibt, NUL-Zeichen zu verarbeiten.

Das Deuten von Handbüchern von Druckerherstellern (hier EPSON) hat auch immer etwas mit geschicktem Raten zu tun ;)

Ich deute die Angabe "0.48 Normal" so, (a) dass hier für m entweder die sowohl der ASCII-Wert 0 als auch alternativ der ASCII-Wert 48 eingesetzt werden kann. (b) Es könnte auch heißen, dass die Ziffer '0' benutzt werden soll, welche ja bekanntlich den ASCII-Wert 48 besitzt.

Beide Auslegungen dieser Handbuchseite würden den ASCII-Wert 48 erlauben. Daher würde ich es damit versuchen. Außerdem gehst Du damit auch dem leidigen NUL-Problem aus dem Weg.

Grüße Nils

Nils Hagge schrieb folgendes:

Es ist eben nicht möglich einen Nul Charakter zu verarbeiten.

Der Compiler ist der im PG5 Paket von Saia integrierte.

So hab ich das eben auch gedeutet, darum hab ichs auch mit 48 versucht, leider ohne Erfolg.

Und genau so funktioniert es :-) Danke.

Der korrekte String heisst nu: p0

Vielen Dank.

mfG René

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required