![]() |
Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Hallo,
hilferuf an alle. Ich möchte NUR die Kassenschublade öffnen. :wall: Der Drucker ist ein Laser Epson TM-T88 Das habe ich gemacht .... Mit (0,0,'P') bewegt sich nur der Drucker Mit (0,0,'A') Öffnet Schublade und Druckt. Wer kann mir dabei helfen ?? Gruß - Egon
Delphi-Quellcode:
with Printer do begin // Druckt (Image) auf Bon
Begindoc; Printer.Canvas.Font.Name:='control'; // Steuercode für Bondrucker und Schublade Printer.Canvas.Font.Size:=10; Printer.Canvas.TextOut(0,0,'A'); EndDoc; end; |
Re: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Vielleicht hilft das
![]() |
Re: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Geht mit dieser ESC-Sequenz :
Delphi-Quellcode:
(chr (27) + 'p' + chr (0) + chr (50) + chr (50));
|
Re: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
:wall:
Leider noch nicht , ich weiß nicht wo der Fehler liegt. Wenn das so aussehen soll,bekomme ich die Meldung Inkompatible Typen Interger u. String.
Delphi-Quellcode:
Printer.Canvas.TextOut (chr (27) + 'p' + chr (0) + chr (50) + chr (50);
|
Re: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Delphi-Quellcode:
Printer.Canvas.TextOut(0, 0, #27 + 'p' + #0 + #50 + #50);
|
Re: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Hallo Omata u. alle.
Ne, geht nicht,mit dem Code wird nur Gedruckt. Aber ich möchte nUR dir Schublade öffnen.
Delphi-Quellcode:
Printer.Canvas.TextOut(0, 0, #27 + 'p' + #0 + #50 + #50);
|
Re: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Neuer Versuch...
Delphi-Quellcode:
type
TPassThroughData = record nLen : Integer; Data : array[0..255] of byte; end; procedure DirectPrint(s:string); var PTBlock : TPassThroughData; begin PTBlock.nLen := length(s); StrPCopy(@PTBlock.Data, s); Escape(Printer.Handle, PASSTHROUGH, 0, @PTBlock, nil); end; procedure TForm.ButtonClick(Sender: TObject); begin Printer.BeginDoc; DirectPrint(#27 + 'p' + #0 + #50 + #50); Printer.EndDoc; end; |
DP-Maintenance
Dieses Thema wurde von "fkerber" von "Open-Source" nach "Sonstige Fragen zu Delphi" verschoben.
Dieser Bereich dient zur Vorstellung eigener OpenSource-Programme. Da es sich hier um eine Frage handelt, verschiebe ich mal... |
Re: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Zitat:
Zitat:
Delphi-Quellcode:
(chr (27) + 'p' + chr (0) + chr (100) + chr (100));
|
Re: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Jo, Schlaumeier. Ich habe den Link gar nicht durchgelesen, sondern die Prozedur schneller in funktionierendem Programm gesucht, als das alles zu lesen. 8) Im nachhinein würde ich sagen : Link auf Klartext-Silbertablett und selbst den kriegt er offenbar nicht so einfach hin. Vielleicht liegts ja an der Hex. :mrgreen: Obwohl, Omata hat doch sogar ganze ferige Prozedur geschickt. :shock:
Die Schublade braucht auch wohl kaum Druck-Koordinaten, das Textout aber schon. Schicke meine Sequenz GENAU SO direkt an den Drucker (siehe Omata). Oder zumindest vorerst mit
Delphi-Quellcode:
Diese Drucker sind auch nur bedingt grafikfähig. Deshalb besser gleich Finger weg von Canvas etc.
write (LST,....);
|
Re: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
:wall:
Hallo Ihr alle, konnte mich nicht sofort melden. Nun habe ich alle Möglichkeiten Probiert,aber nix geht. Ich habe eine alte DOS Version gefunden,die ich mal mit Clipper(DBase 3) geschrieben habe. Da geht´s so .... @ Zeile,0 say chr(27) + "p" +chr(0) + chr(100) + chr(100) Ich stehe vor einem Rätsel ich verstehe die Welt nicht mehr. Mit dieser möglichkeit " DirectPrint(#27 + 'p' + #0 + #50 + #50); " Reagiert zwar der Drucker, aber die Schublade geht zum Verrückt werden nicht auf. Gruß - Egon |
Re: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Wie sieht es mit 100 aus?
Delphi-Quellcode:
DirectPrint(#27 + 'p' + #0 + #100 + #100);
|
Re: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Liste der Anhänge anzeigen (Anzahl: 1)
Probiere mal das Programm im Anhang aus. Das sind 2 Arten, den Drucker anzusteuern.
|
Re: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Hallo Hansa.
:wall: Tut mir leid, NIX GEHT. Auch nicht mit Deiner " Kasseauf.exe" Wie gesagt , ich bin Kaputt und weiß nicht weiter. Muss ne kleine Pause einlegen. Gruß - Egon |
Re: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Liste der Anhänge anzeigen (Anzahl: 1)
Was ist das eigentlich für eine Schublade ? Könnte auch am falschen Anschlusskabel liegen. Und wo ist der Drucker angeschlossen ? Parallel, USB oder was ?
Als nächstes würde ich alle Fehlerquellen so weit wie möglich ausschalten. Also Delphi, Windows usw. Schreibe ein kleines Programm, das die Sequenz in Textdatei schreibt. Diese dann so ausdrucken :
Code:
Die Datei ist hier dabei. Die eine Zeile.... :mrgreen:
type test.txt >lpt1
|
Re: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Hi,
also das ist eine Schublade ohne besonderen Namen. Die Schublade wird mit einem RJ 45 Kabel zum EPSON TM [...] Drucker Verbunden. Leider kann ich mit dem EPSON zur Zeit nicht mehr arbeiten weil er morgen wieder im Laden gebraucht wird. Gruß - Egon |
AW: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Hallo Leute
das mit dem Öffnen der Schublade ist nicht wirklich ein Propblem. Das funzt wie hier mehrfach beschrieben. Fehlermeldungen wie der Hinweis auf string / int Typen sollten doch mit Lesen der Delphi-Hilfe beseitigt werden können. Ich versuche dagegen schon eine geraume Zeit zu überprüfen, ob die Schublade (noch) geöffnet oder geschlossen ist. Da komme ich keinen Schritt weiter. Fällt jemandem etwas dazu was ein? Vielen Dank schon mal vorab ... Gruß Michael Nachtrag: Die TM-XX Epsondrucker verfügen über ein Ausgang der einen definierten Spannungsimpuls an einem speziellen Port zur Verfügung stellt. Dort kann men alle Schubladen mit der Spezifikation anschliessen. Wenn der Drucker nun die Sequenz (öffnen) erhält, bekommt ein Haltemagnet in der Schublade einen kurzen Impuls und die Schublade wird von eienr Feder aufgedrückt. Das ist alles auch gut dokumentiert und ist einfach per ESC-Sequenz zu realisieren. Der Drucker stellt aber auch die Information über den Öffnungszustand der Schublade bereit. Diese Info auszulesen macht mich gerade wahnsinnig. Das Wenige an Doku reicht nicht aus. Der deutsche EPSON-Support stellt nur unbrauchbares Zeugs zur Verfügung. Deren Hotline sagt bloß "müsste aber". Hat jemand von Euch eine Lösung? Wäre echt dankbar .... |
AW: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Nachtrag:
Anbei die Function mit der ich arbeite. Die Klasse "TioDevice" behandelt alle möglichen Interfaces wie RS232, USB, Lpt1, Ethernet .... function KassenschubladeOeffnen(): boolean; var sequenz: string; Device : TioDevice; begin RESULT := False; sequenz := dmbm.GetStringOfSql('SELECT laden_sequenz FROM barkassen WHERE id = ' + IntToStr(kasse_id)); if length(sequenz) > 0 then begin sequenz := StrWertBilden(sequenz); // 27,112,48,55,121 StrWertBilden(erzeugt einen String aus der Ziffernkette) Device := TRs232Device.Create; (Device as TRs232Device).Stopbits := ONESTOPBIT; (Device as TRs232Device).SetBaudrate(CBR_38400); (Device as TRs232Device).Datenbits := DATABITS_8; (Device as TRs232Device).Parity := NOPARITY; (Device as TRs232Device).Name := 'COM2'; (Device as TRs232Device).ReadTimeout := 500; (Device as TRs232Device).WriteTimeout := 500; try (Device as TRs232Device).Open; (Device as TRs232Device).SetDTR; (Device as TRs232Device).SetRTS; try RESULT := schreiben(sequenz,(Device as TRs232Device)); except chipanmeldung := False; end; (Device as TRs232Device).Close; (Device as TRs232Device).Destroy; kasse_main.FormTouchKasse.Lladeoffen.Visible := RESULT; except RESULT := False; end; end; Das könnt ihr ja mal versuchen. Das funzt definitiv .... Gruß Michael |
AW: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Zitat:
Schritt 1.) Doku der Schnittstelle für den Drucker besorgen. Und ganz wichtig: wenn du diese gefunden hast, dann stell' den Link für den Download hier ins Forum. Weil du das nicht gemacht hast :twisted: ist hier das Ergebnis meiner Suche: ![]() Meine Suche war epson tm-t88 "programming guide" Schritt 2.) Schauen nach was man im Dokument suchen muss. Schublade = drawer (english) Schubladenauslösung = drawer kick-out Damit findet man auf Seite 288 den Befehl "Transmit real-time status". Schritt 3.) Doku genau lesen und verstehen Wenn man dem Drucker den String #16#4#1 schickt, dann antwortet er mit einem Statusbyte (siehe Seite 290) In diesem Byte gibt es ein Bit für den Drawer kick-out connector pin 3. Dieses Bit dürfte das sein was dich interessiert Schritt 4.) eine Datei mit 3 Bytes (16,4,1) erzeugen und mit einem Terminalprogramm an den Drucker schicken (ASCII File upload). Der Drucker muss mit einem Statusbyte antworten. Mit offener und geschlossener Schublade testen und auf den Unterschied im Statusbyte achten. Schritt 5.) das was in Schritt 4 getestet wurde mit Delphi programmieren. |
AW: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
Vielen Dank zunächst. Ich werde das versuchen ...
Das Problem dürfte die parallele Schnittstelle sein. Da habe ich keine Erfahrung wie man da eine Antwort ausliest. Gruß Michael |
AW: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
hast Du schon mal versucht den "Printerstatus" mit Hilfe von Port_Info_x auszulesen?
Gruß K-H Nachtrag: Durch Zufall gefunden: ![]() |
AW: Epson TM-T88 Römisch 3 NUR Kassenschublade öffnen
ich hatte auch gerade einen Kunden dran, bei dem Drucker gehen irgendwie die Standard Epsoncodes nicht!
Komische Sache |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:19 Uhr. |
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