Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Serielle Kassenschublade ansteuern: Was bedeutet z.B "ESC p" (https://www.delphipraxis.net/59202-serielle-kassenschublade-ansteuern-bedeutet-z-b-esc-p.html)

marabu 23. Jan 2006 08:37

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am
 
Noch nie habe ich Gelegenheit gehabt mit so einem POS-Terminal zu spielen. Aber, wenn da ein spezieller Druckertreiber installiert wird, der sich an einen COM-Port bindet und diesen dann für andere Programme sperrt, dann musst du wohl gar nicht mit der seriellen Schnittstelle direkt arbeiten, sondern musst deine Drucker-Befehle einfach im Raw-Mode an das character device senden (PRN, wenn es der Standarddrucker ist). Den Drucker kannst du dann einfach mit AssignPrn() und Write() ansprechen - denke ich.

Grüße vom marabu

King555 23. Jan 2006 13:24

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am
 
Zitat:

Zitat von marabu
Drucker-Befehle einfach im Raw-Mode an das character device senden (PRN, wenn es der Standarddrucker ist)

Den Satz verstehe ich leider nicht. Wie öffne ich den Drucker? Mit AssignFile? Und angenommen es ist nicht der Standarddrucker, gibt's dann auch eine Möglichkeit?

Ansonsten halte ich deine Idee für gut, das könnte klappen.

marabu 23. Jan 2006 20:26

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am
 
Dieser BDN Artikel beschreibt, wie du deine Steuerdaten an diesen Drucker schicken kannst, wenn der installierte Treiber die Durchleitung von Steuerdaten zulässt: klick

Stichworte: QueryEscSupport Escape PassThrough

marabu

King555 30. Jan 2006 10:56

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am
 
Ich habe es genau so gemacht, wie in dem BDN Artikel beschrieben. Die Kassenschublade öffnet sich, allerdings wird durch das BeginDoc und EndDoc (was aber beides unbedingt notwendig ist, damit es funktioniert) ein kleiner Abschnitt gedruckt. Der Abschnitt ist zwar leer, aber es wird immer ein ca. 2 cm langes Stück Papier rausgefahren und abgeschnitten. Bei 10 Kassenbons wären das schon 20 cm verschwendetes Papier und 10 Papierschnipsel. Also leider keine Lösung.

Der Tipp in deinem Posting davor (AssignPrn) geht leider auch nicht. Da öffnet sich die Schublade garnicht. Mir scheint, er druckt den String, der eigentlich eine Steuersequenz ist, auf das Papier (kann ich leider gerade nicht genau feststellen, da das Thermopapier alle ist, ist gerade normales Papier drin).

Kann man dem Drucker bei dem AssignPrn und Write vielleicht irgendwie sagen, dass das jetzt kein Text ist, sondern ein Steuercode? Ist so eine Art Raw-Modus aktivierbar?

marabu 30. Jan 2006 11:03

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am
 
Wird auch ein Papiervorschub erzeugt, wenn du zwischen BeginDoc und EndDoc keine Daten an den Drucker sendest?

marabu

King555 30. Jan 2006 11:12

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am
 
Ja, auch dann. Ich verstehe zwar auch nicht warum, weil ja das "Blatt" absolut leer ist, aber es ist leider so.

marabu 30. Jan 2006 11:20

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am
 
In diesem Fall könnte es ein Konfigurationsproblem des Druckers sein. Eventuell kann man ihn so umstellen, dass der Vorschub unterbleibt.

PS: Konfiguriere den Druckertreiber mal um - von COM1 auf FILE - und hänge die erzeugte Datei an. Dann kann man mal analysieren, was über die Schnittstelle geht.

marabu

King555 30. Jan 2006 11:52

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am
 
Ich habe endlich eine Lösung gefunden!

Siehe hier...

Danke an alle für die Hilfe!


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz