AGB  ·  Datenschutz  ·  Impressum  







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

Kassenlade öffnen

Ein Thema von Natcree · begonnen am 21. Jun 2014 · letzter Beitrag vom 26. Jun 2014
Antwort Antwort
Seite 6 von 9   « Erste     456 78     Letzte »    
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#51

AW: Kassenlade öffnen

  Alt 25. Jun 2014, 12:11
programming guide und die ganzen ASCII codes habe ich
um die kassenlade zu öffnen soll dieser ASCII code genommen werden ESC p m t1 t2

Geändert von Natcree (25. Jun 2014 um 12:13 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#52

AW: Kassenlade öffnen

  Alt 25. Jun 2014, 12:13
Dann nimm besser eine Seriell-Komponente und kommuniziere direkt über den COM-Port des Druckers.
Markus Kinzler
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.250 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#53

AW: Kassenlade öffnen

  Alt 25. Jun 2014, 12:58
Dann nimm besser eine Seriell-Komponente und kommuniziere direkt über den COM-Port des Druckers.
Das geht aber nicht mehr auf aktuellen Druckern, die meistens nur USB haben

Ich biete in meiner Kassensoftware an, direkte Ansteuerung von COM, Ansteuerung via separates Programm (liefern manche Ladenöffner mit), Ansteuerung via "ich drucke was aus" und die Lade öffnet sich via Druckertreiber, OPOS Ansteuerung und ich gebe direkt die Steuerbefehle via Druckertreiber an den Drucker (das ist was Natcree hier versucht -> hier im Forum gibt es aber einen guten Beitrag mit Beispiel von diesem Jahr, das genau das macht).

Geändert von arnof (25. Jun 2014 um 13:00 Uhr)
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.250 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#54

AW: Kassenlade öffnen

  Alt 25. Jun 2014, 13:03
programming guide und die ganzen ASCII codes habe ich
um die kassenlade zu öffnen soll dieser ASCII code genommen werden ESC p m t1 t2
der String ist folgender:

s:=#27+'p'+#48'pz';

t1 und t2 sind Zeiten in msec die für Steuerung die die Schublade entriegelt wird, die Werte muss man ggf mal testen, je nach Hardware
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#55
  Alt 25. Jun 2014, 13:37
@Natcree

Der Record ist falsch deklariert.
Natürlich funktioniert das nur, wenn ein Druckertreiber für diesen Drucker vorhanden ist und dieser auch PassThrough unterstützt.
In deinem Beispiel muss der Drucker auch noch als Standard ausgewählt sein.
Delphi-Quellcode:
type
  TPassThroughData = record
    nLen : Word;
    Data : array[0..255] of Byte;
  end;

function PrinterSupport(APrinter: TPrinter; ACommand: Integer): Boolean;
begin
  Result := (Escape(APrinter.Canvas.Handle, QUERYESCSUPPORT, SizeOf(ACommand), @ACommand, nil) > 0);
end;

function DirectPrint(APrinter: TPrinter; const s: AnsiString): Boolean;
var
  PTBlock : TPassThroughData;
begin
  Result := (Length(s) < 256);
  if Result then
  begin
    PTBlock.nLen := Length(s);
    StrPCopy(@PTBlock.Data, s);
    Escape(APrinter.Handle, PASSTHROUGH, 0, @PTBlock, nil);
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Printer.BeginDoc;
  try
    if PrinterSupport(Printer, PASSTHROUGH) then
      DirectPrint(Printer, {...hier Zeichenkette für den Drucker übergeben...});
  finally
    Printer.EndDoc;
  end;
end;
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#56

AW: Kassenlade öffnen

  Alt 25. Jun 2014, 17:58
blup mit deinen code öffnet er Aber schiebt einen 2 cm streiffen aus dem thermaldrucker raus und cuttet ihn.
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#57

AW: Kassenlade öffnen

  Alt 25. Jun 2014, 22:19
weiss den keiner weiter?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Kassenlade öffnen

  Alt 25. Jun 2014, 23:12
blup mit deinen code öffnet er Aber schiebt einen 2 cm streiffen aus dem thermaldrucker raus und cuttet ihn.
Und welche Daten hast Du übergeben?
(und Du bist sicher, daß er DirectPrint auch ausgeführt hat?)

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

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#59

AW: Kassenlade öffnen

  Alt 25. Jun 2014, 23:57
#27+'p'+#48'pz'

Habe ich übergeben

direktprint muss er doch ausgeführt haben die lade ist ja geöffnet worden nur das er einen schnippsel von der papierrolle ca. 2 cm auswirft und dann cuttet
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#60

AW: Kassenlade öffnen

  Alt 26. Jun 2014, 01:03
Auch wenn es eigentlich nichts Anderes ist, aber man sieht irgendwie klarer
Delphi-Quellcode:
const
  ESC = #27;
  GS = #29;

  { Commands }
  
  ESC_em = ESC + #33; { Select print mode } 
  ESC_p = ESC+#112; { Generate pulse }
  GS_V = GS + #86; { Select cut mode and cut paper }

  { Parameter }

  Lade1 = #48;
  Lade2 = #49;

  PulsDauer100ms = #050; {* 2ms}
  PulsDauer200ms = #100; {* 2ms}
  PulsDauer300ms = #150; {* 2ms}
  PulsDauer400ms = #200; {* 2ms}
  PulsDauer500ms = #250; {* 2ms}

function GetGeneratePulseSequence( m, t1, t2 : AnsiChar ) : Ansistring;
begin
  Result := Esc_p + m + t1 + t2;
end;

function GetDefaultGeneratePulseSequence : AnsiString;
begin
  Result := GetGeneratePulseSequence( {m} Lade1, {t1} PulsDauer200ms, {t2} PulsDauer200ms );
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (26. Jun 2014 um 10:43 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 9   « Erste     456 78     Letzte »    


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 04:48 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