AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Kassenschublade Status(offen/geschlossen) abfragen

Kassenschublade Status(offen/geschlossen) abfragen

Ein Thema von noisy_master · begonnen am 14. Okt 2019 · letzter Beitrag vom 16. Okt 2019
Antwort Antwort
noisy_master

Registriert seit: 17. Jun 2009
Ort: Wolfenbüttel/Baddeckenstedt
177 Beiträge
 
Delphi XE5 Professional
 
#1

Kassenschublade Status(offen/geschlossen) abfragen

  Alt 14. Okt 2019, 10:48
Hallo liebe Gemeinde,

wir hatten ja hier schon mehrfach das Thema wie man denn eine Kassenschublade, die an einen POS Printer angeschlossen ist öffnen kann.
Es gibt mehrere Hinweise, wie das OHNE OPOS Treiber geht. Aber kann mir irgendwer verraten, wie man ohne OPOS den Status(offen/geschlossen) der Kassenschublade abfragen kann? Die meisten Schubladen haben einen Schalter eingebaut, die den Status auf 2 Pins am Stecker repräsentieren, aber wie kann man den per SW nun auslesen?

Wenn das NUR über OPOS geht(nativ wäre mir lieber): hat jemand ein gutes Delphi Tutorial(link), wie man mit OPOS arbeitet?

Danke euch schonmal wieder im voraus für eure hilfreichen Infos!
Dirk
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
2.499 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: Kassenschublade Status(offen/geschlossen) abfragen

  Alt 14. Okt 2019, 14:29
1. Da wird dir der Kassenschubladenhersteller am besten eine Antwort geben können, da dies höchstwahrscheinlich über eine DLL vom ihm läuft, die mit dem Treiber/über USB/über TCP/IP mit der Schublade kommuniziert und die Hardware abfragt.

2. Wo genau hängt es denn bei OPOS? Das Importieren der ActiveX-Komponente klappt schon? Nutzt du das? http://monroecs.com/oposccos_current.htm
  Mit Zitat antworten Zitat
noisy_master

Registriert seit: 17. Jun 2009
Ort: Wolfenbüttel/Baddeckenstedt
177 Beiträge
 
Delphi XE5 Professional
 
#3

AW: Kassenschublade Status(offen/geschlossen) abfragen

  Alt 14. Okt 2019, 14:42
Die Schublade ist über eine POS Drucker(z.B. Epson TM... oder ähnliches angeschlossen..
1. Da wird dir der Kassenschubladenhersteller am besten eine Antwort geben können, da dies höchstwahrscheinlich über eine DLL vom ihm läuft, die mit dem Treiber/über USB/über TCP/IP mit der Schublade kommuniziert und die Hardware abfragt.
Das Öffnen der Schublade über den regulären Druckertreiber mit ESC Sequenzen funktioniert einwandfrei...Nur wie den Status über den Druckertreiber auslesen?
Ach so nebenbei: wie lese ich eigentlich den Status des Druckers aus?(Paperout, offline,...)

2. Wo genau hängt es denn bei OPOS? Das Importieren der ActiveX-Komponente klappt schon? Nutzt du das? http://monroecs.com/oposccos_current.htm
Tja, da hängt es eigentlich schon am Anfang... ich habe mit dem OPOS Zeug noch gar nichts gemacht...daher halt die Frage nach einem Delphi Tut. für OPOS
Dirk
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
372 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Kassenschublade Status(offen/geschlossen) abfragen

  Alt 15. Okt 2019, 13:46
Delphi-Quellcode:
Getting the printers status

Uses WinSpool;

function GetCurrentPrinterStatus: DWORD;
var
  hPrinter: THandle;
  Device : array[0..255] of char;
  Driver : array[0..255] of char;
  Port : array[0..255] of char;
  hDeviceMode: THandle;
  bytesNeeded: Cardinal;
  pPI: PPrinterInfo2;
  Defaults: TPrinterDefaults;
begin
  Assert( Printer.PrinterIndex >= 0 );
  Printer.GetPrinter(Device, Driver, Port, hDeviceMode);
  FillChar( Defaults, Sizeof(Defaults), 0 );
  Defaults.DesiredAccess:=
    {PRINTER_ACCESS_ADMINISTER or} PRINTER_ACCESS_USE;
  Win32Check(WinSpool.OpenPrinter(@Device, hPrinter, @Defaults ));
  try
    WinSpool.GetPrinter(
      hPrinter,
      2,
      Nil, 0, @bytesNeeded );
    GetMem( pPI, bytesNeeded );
    try
      Win32Check(WinSpool.GetPrinter(
        hPrinter, 2,
        pPI, bytesNeeded, @bytesNeeded ));
      Result := pPI^.Status;
    finally
      FreeMem( pPI );
    end;
  finally
    WinSpool.ClosePrinter( hPrinter );
  end;
end;

Check the API docs for PRINTER_INFO_2, it tells you what flags may
appear in the status returned by this function. You test for the
presence of a specfic flag via an expression like

   if (Status and PRINTER_STATUS_ERROR) <> 0 then
Peter Below
  Mit Zitat antworten Zitat
noisy_master

Registriert seit: 17. Jun 2009
Ort: Wolfenbüttel/Baddeckenstedt
177 Beiträge
 
Delphi XE5 Professional
 
#5

AW: Kassenschublade Status(offen/geschlossen) abfragen

  Alt 16. Okt 2019, 13:11
Vielen Dank für die Info zum Printerstatus.....enthält der zufällig auch die Infos zum Schubladenstatus?
Dirk
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.578 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

AW: Kassenschublade Status(offen/geschlossen) abfragen

  Alt 16. Okt 2019, 14:04
Hallöle...
hast du das schon gelesen?
https://blog.devilatwork.de/epson-po...lade-auslesen/
  Mit Zitat antworten Zitat
noisy_master

Registriert seit: 17. Jun 2009
Ort: Wolfenbüttel/Baddeckenstedt
177 Beiträge
 
Delphi XE5 Professional
 
#7

AW: Kassenschublade Status(offen/geschlossen) abfragen

  Alt 16. Okt 2019, 15:55
Wow! Das ist ja mal richtig cool. DANKE!!!

ABER: leider hat nur 1 von ~50 Installationen einen Epson...Der Rest ist Posbank, Bixolon oder PBP...
hat irgendwer vielleicht zufällig eine generische Methode?(ausser OPOS natürlich)
BTW: hat irgenwer einen Link für ein GUTES Delphi OPOS Tutorial für mich?
Dirk
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf