AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ESC-Sequenze für QR-Code

Ein Thema von Thomas Feichtner · begonnen am 19. Okt 2015 · letzter Beitrag vom 20. Okt 2015
Antwort Antwort
Thomas Feichtner

Registriert seit: 30. Nov 2007
Ort: Rum
137 Beiträge
 
Delphi 10.4 Sydney
 
#1

ESC-Sequenze für QR-Code

  Alt 19. Okt 2015, 12:39
Hallo,

hat schon jemand einen QR-Code auf einen Epson TM88 IV über ESC-Sequenzen gedruckt?

Leider komme ich mit der Beschreibung nicht recht weiter.

Diese Daten schicke ich an den Drucker:

Delphi-Quellcode:
function TfKTESCSequences.GetESCSequenceQRCode: String;
begin
  { Initialize printer }
  Result := #27 + #64;
  { Auf Drucker umschalten }
  Result := Result + #27 + #61 + #1;

  { Selectet print modes, Font A }
  Result := Result + #27 + #33 + #0 + 'Font A' + #27 + #33 + #0 + cCRLF;

  { Daten für QR }
  Result := Result + #29 + #40 + #107 + #4 + #0 + #49 +#65 + #50 + #0;
  Result := Result + #29 + #40 + #107 + #3 + #0 + #49 +#67 + #20; //#5
  Result := Result + #29 + #40 + #107 + #3 + #0 + #49 +#69 + #48;
  Result := Result + #29 + #40 + #107 + #3 + #0 + #49 +#80 + #48 + 'www.mgm.at';
  Result := Result + #29 + #40 + #107 + #3 + #0 + #49 +#81 + #48;

  { Print and feed n lines }
  Result := Result + #27 + #100 + #10;

  { Papier abschneiden }
  Result := Result + #29 + #86 + #1 + #0;
end;
mfg

Thomas Feichtner
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
707 Beiträge
 
#2

AW: ESC-Sequenze für QR-Code

  Alt 19. Okt 2015, 13:18
Mit deinem Epson-Drucker habe ich zwar keine Erfahrung, aber mit einem ähnlichen Drucker, der per Bluetooth an einem Android-Gerät genutzt wird.

Dabei hat es schon mal total geholfen, statt einem String ein Byetarray zu verwenden, denn z.B.(!) ein #0 steht für Stringende.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#3

AW: ESC-Sequenze für QR-Code

  Alt 19. Okt 2015, 14:53
Dein "Result" ist ein ziemlicher Blödsinn!
Der Drucker wird X-mal initialisiert...

Geändert von hathor (19. Okt 2015 um 14:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: ESC-Sequenze für QR-Code

  Alt 19. Okt 2015, 15:03
Dein "Result" ist ein ziemlicher Blödsinn!
Der Drucker wird X-mal initialisiert...
Pro Funktionsaufruf genau einmal. Oder was liest du da?
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Thomas Feichtner

Registriert seit: 30. Nov 2007
Ort: Rum
137 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: ESC-Sequenze für QR-Code

  Alt 19. Okt 2015, 15:47
Jetzt funktioniert es bei mir.
Beim Drucken muss man die Länge mit übergeben
Delphi-Quellcode:
function TfKTESCSequences.GetESCSequenceQRCode: String;
var
  sText: String;
  iLength: INteger;
begin
  sText := 'Thomas kann QR-Code Drucken';
  iLength := length(sText);

  { Initialize printer }
  Result := #27 + #64;
  { Auf Drucker umschalten }
  Result := Result + #27 + #61 + #1;

  { Selectet print modes, Font A }
  Result := Result + #27 + #33 + #0 + 'Font A' + #27 + #33 + #0 + cCRLF;

  Result := Result + #29 + #40 + #107 + #4 + #0 + #49 +#65 + #50 + #0;
  Result := Result + #29 + #40 + #107 + #3 + #0 + #49 +#67 + #20; //#5
  Result := Result + #29 + #40 + #107 + #3 + #0 + #49 +#69 + #48;
  Result := Result + #29 + #40 + #107 + char(3 + iLength) + #0 + #49 +#80 + #48 + sText;
  Result := Result + #29 + #40 + #107 + #3 + #0 + #49 +#81 + #48;

  { Print and feed n lines }
  Result := Result + #27 + #100 + #10;

  { Papier abschneiden }
  Result := Result + #29 + #86 + #1 + #0;
Wobei die die Parameter für die Länge noch schöner gemacht werden müssen so wie in der Beschreibung. Sonst kann ich maximal 253 Zeichen drucken.
mfg

Thomas Feichtner
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

AW: ESC-Sequenze für QR-Code

  Alt 19. Okt 2015, 16:00
QR-Code per ESC-Sequenz drucken das geht ? Ja, wäre nicht schlecht. Habe hier einen TMT88III und da ist allerdings im Handbuch nichts mit QR zu finden. Drucker initialisieren/rücksetzen ist übrigens <ESC>@ also in Delphi schon richtig mit #27 #64. Nur : das was danach kommt ist mir viel zu viel. Da gibts nochmalerweise nur : ESC + ?? zum Umschalten auf QR-Modus, dannn das was in den QR rein soll und noch Ende-Zeichen. Du hast aber da in das Result mind. 20 Zeichen verbaut. Warum ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: ESC-Sequenze für QR-Code

  Alt 19. Okt 2015, 16:21
Bist Du sicher, daß das richtig ist?
Zitat:
Result := Result + #29 + #40 + #107 + char(3 + iLength) + #0 + #49 +#80 + #48 + sText;
Gefühlt wäre ...+#107+#3+chr(ilength)+#0.. sinnvoller?

und wie schon oben angemerkt, ein Array of Byte wäre nicht so fehleranfällig!

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz