hat jemand schon mal einen QR-Code mit ESC-Commands an einen STAR Bondrucker geschickt?
Vermutlich nicht, sonst hättest Du eine entsprechende Meldung bekommen. Aber Du kannst der Erste sein!
Ich komme bei der Beschreibung nicht weiter. Leider habe ich auch keinen Drucker zum Testen und dann dies nur beim Kunden machen.
https://www.manualslib.com/manual/16...age=136#manual
Mit dem Befel ESC GS y D 1 komme ich nicht klar wie ich den schicken soll?
Ich möchte folgenden Text schicken "Hallo QR-Code"
Du möchtest wissen, wie der Text aufbereitet werden muss, um als Escape-Sequenz vom Drucker verstanden zu werden. Die Doku zum Drucker gibt ja bereits die Anfang der Datensequenz für den QR-Code vor. Du musst jetzt "nur noch" die Anzahl der Datenbytes berechnen (nL und nH in der Doku), und dann die Nutzdaten anfügen. Hier wird ein RawByteString verwendet, damit keine Konvertierung der Bytes nach
Unicode oder
Ansi stattfindet:
Code:
// ungetestet; direkt hier in den Editor getippt:
var
Data : RawByteString;
Message : string;
i : Integer;
CharLen : Integer;
nLow : Byte;
nHigh : Byte;
begin
Message := 'Hallo QR-Code';
CharLen := Length(Message);
if CharLen > 7089 then
raise
Exception.Create('String too long.');
nHigh := CharLen div 256;
nLow := CharLen mod 256;
Data := #$1B#$1D#$79#$44#$31#$00; // ESC GS y D 1 NUL
Data := Data + AnsiChar(nLow) + AnsiChar(nHigh);
for i := 1 to CharLen do
begin
Data := Data + AnsiChar(Ord(Message[i]));
end;
// Data an den Drucker senden überlasse ich Dir
end;
HTH
Achim