Delphi-PRAXiS
Seite 5 von 9   « Erste     345 67     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Kassenlade öffnen (https://www.delphipraxis.net/180831-kassenlade-oeffnen.html)

Natcree 24. Jun 2014 16:16

AW: Kassenlade öffnen
 
die kassenladen ist über einen thermodrucker tpg Color a795 angeschlossen und ist über com1 erreichbar. zumindest habe ich die kasse schonmal aufbekommen aber er druckte ein 2 cm streifen und machte nen cut. also com1 muss angesprochen werden.

himitsu 24. Jun 2014 16:33

AW: Kassenlade öffnen
 
Und wieso sagt das keiner, während hier ständig versucht wird über LPT, anstatt über COM zu gehn?


Wenn der "Steuer-Code" stimmt, dann entweder über deine ComPort-Komponente den "Text" senden, oder über meine beiden Beispielcodes, welche nicht über TPrinter gingen.
(da halt "COM1", statt "LPT1")



Aber wenn der Drucker die Steuerzeichen, welche eigentlich nicht für ihn sind, obwohl sie an ihn geschickt werden, nicht rausfiltert, dann kann man eben die druchausgabe nicht unterbinden.

p80286 24. Jun 2014 16:37

AW: Kassenlade öffnen
 
Taucht dieser Drucker den in
Delphi-Quellcode:
Printer.Printers
auf?

Und bist Du sicher,daß da wirklich ein Drucker installiert ist?
Unter Windoofs muß ein angeschlossener Drucker (der Stecker ist drin!) auch im/dem System als Drucker bekannt gemacht werden.
(und wenn Dein Drucker an COM1 hängt, dann funktionieren die Beispiele mit
Delphi-Quellcode:
assignfile(tf,'LPT1:');
rewrite(tf);
write(tf,#27#.....);
closefile(tf);
natürlich nicht. dann solltest Du ggf. mit
Delphi-Quellcode:
assignfile(tf,'LPT1:');
arbeiten.

Gruß
K-H

Natcree 24. Jun 2014 17:27

AW: Kassenlade öffnen
 
wie kriege ich das umgesetzt und wo muss ich den code hin tipseln

Natcree 24. Jun 2014 17:38

AW: Kassenlade öffnen
 
also mit diesem code öffnet er die kassenlade schiebt aber einen 2 cm streifen raus und cuttet ihn.

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 TForm1.Button2Click(Sender: TObject);
begin
Printer.BeginDoc;
   DirectPrint(#27 + 'p' + #0 + #50 + #50);
   Printer.EndDoc;
end;

arnof 25. Jun 2014 07:03

AW: Kassenlade öffnen
 
Auf die Gefahr hin mich zu wiederholen Schau dir die Beispiele hier im Forum an!

Nix Printer.xxx es muss direkt mit dem Drucker kommuniziert werden!

arnof 25. Jun 2014 09:53

AW: Kassenlade öffnen
 
Deine Schublade öffnet z.Z. nur weil Du das im Druckertreiber eingestellt hast: dein Programm geht nicht!

Die Öffnet auch, wenn Du "Hallo Welt" zum Drucker schickst :cyclops:

Medium 25. Jun 2014 11:53

AW: Kassenlade öffnen
 
Es sollte viellecht erst einmal eine Entscheidung getroffen werden, ob jetzt über die COM Schnittstelle direkt, oder über den offenbar vorhandenen Druckertreiber kommuniziert werden soll. Das sollte auf keinen Fall vermischt werden!

Natcree 25. Jun 2014 11:57

AW: Kassenlade öffnen
 
am besten direkt die com schnittstelle.

Medium 25. Jun 2014 12:08

AW: Kassenlade öffnen
 
Dann sind alle Zeilen, die in irgend einer Weise "Printer." beinhalten schon mal passé, und du brauchst eine Dokumentation über das Protokoll, dass der Drucker erwartet. Sonst bleibt's hier beim Rätselraten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:31 Uhr.
Seite 5 von 9   « Erste     345 67     Letzte »    

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