Entwickler-Ecke
Windows API - ESC Kommandos über Printer.Canvas ausgeben
Dreyhaupt - Mi 22.07.09 08:02
Titel: ESC Kommandos über Printer.Canvas ausgeben
Hallo,
ich möchte einen Labeldrucker USB unteranderem mit ESC Kommandos ansteuern. Hat jemand eine Idee wie das genau geht.
Beide Versionen gehen nicht!
zb:
Delphi-Quelltext
1: 2: 3:
| Printer.BeginDoc; Printer.Canvas.TextOut(0,0,chr(27)+chr(80)+'Place any text here'); Printer.EndDoc; |
oder
Delphi-Quelltext
1: 2: 3:
| Printer.BeginDoc; Printer.Canvas.TextOut(0,0,#27#80+'Place any text here'); Printer.EndDoc; |
Danke für Infos
Moderiert von
Narses: Delphi-Tags hinzugefügt
Xentar - Mi 22.07.09 08:23
Naja, was du da machst: Du hast einen Druckercanvas, und gibst dort diesen Text aus.
Ich weiß nicht, ob die TPrinter Klasse das unterstützt, dass du direkt Befehle zum Drucker senden kannst.
Ansonsten wirst du wohl die Schnittstelle selber öffnen müssen, und dort die Daten hinsenden.
Was ist denn das für ein Drucker? Und wie ist dieser angeschlossen?
Dreyhaupt - Mi 22.07.09 09:25
Hallo, es ist ein ZEBRA Drucker über USB angeschlossen.
Über LPT oder COM wäre es mir klar die Schnittstelle zu öffen, eine Ansteuerung über USB habe ich noch nicht gemacht. Es muß doch aber in der API irgendeine Möglichkeit geben, ESC Kommandos zu senden
Moderiert von
Narses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
BenBE - Mi 22.07.09 10:02
Ein USB-Drucker bekommt einen virtuellen Port zugewiesen, den man ganz normal wie einen LPT auch öffnen kann.
Wozu brauchst Du das denn, dass du die ESC-Sequenzen selber schicken musst?
Dreyhaupt - Mi 22.07.09 12:52
Den Drucker hat zwei Ausgänge, vorne und vertikal.
Per ESC command zb so ansteuern, das er nicht nach vorne
druckt sondern anders raus.
oder Ansteuerung von Barcode: <ESC><&><234>
BenBE - Mi 22.07.09 12:54
Den Ausgabeschacht kannst Du über den Printer normal auch setzen.
Zwecks Barcode-Nutzung müsstest Du mal genauer schauen; denk aber mal, dafür gibt's auch ne Lösung über die API. Ansonsten einfach mal beim Hersteller anfragen.
Xentar - Mi 22.07.09 12:59
Ich hab selber schonmal mit Zebra Druckern gearbeitet, allerdings nur Parallel angeschlossen bzw. Netzwerk.
Damals war ich auch hergegangen, und hab den kompletten Befehlssatz selber per LPT rausgeschrieben, also ganz ohne TPrinter.
Reinhard Kern - Mi 22.07.09 13:40
Dreyhaupt hat folgendes geschrieben : |
| ich möchte einen Labeldrucker USB unteranderem mit ESC Kommandos ansteuern. Hat jemand eine Idee wie das genau geht. |
Hallo,
eine kopierfertige Lösung in Delphi kenne ich nicht, in Windows gibt es dafür die Funktion Passthrough. Fang mal hiermit an:
http://support.microsoft.com/kb/96795
Gruss Reinhard
Moderiert von
Narses: Zitat gekürzt.
Dreyhaupt - Mi 22.07.09 13:52
Danke, ich teste das mal...
BenBE - Mi 22.07.09 13:57
Also das kannt ich nun auch noch nicht ;-)
Kleiner Hinweis ggf.: Beachte den dort verlinkten englischen KB-Artikel, der liefert noch eine andere Möglichkeit mit einem Testprogramm dazu. Der C-Source dort sollte sogar recht einfach portierbar sein.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!