Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Kassenschublade Status(offen/geschlossen) abfragen (https://www.delphipraxis.net/202251-kassenschublade-status-offen-geschlossen-abfragen.html)

noisy_master 14. Okt 2019 10:48

Kassenschublade Status(offen/geschlossen) abfragen
 
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!

TiGü 14. Okt 2019 14:29

AW: Kassenschublade Status(offen/geschlossen) abfragen
 
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

noisy_master 14. Okt 2019 14:42

AW: Kassenschublade Status(offen/geschlossen) abfragen
 
Die Schublade ist über eine POS Drucker(z.B. Epson TM... oder ähnliches angeschlossen..
Zitat:

Zitat von TiGü (Beitrag 1449589)
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,...)

Zitat:

Zitat von TiGü (Beitrag 1449589)
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

peterbelow 15. Okt 2019 13:46

AW: Kassenschublade Status(offen/geschlossen) abfragen
 
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

noisy_master 16. Okt 2019 13:11

AW: Kassenschublade Status(offen/geschlossen) abfragen
 
Vielen Dank für die Info zum Printerstatus.....enthält der zufällig auch die Infos zum Schubladenstatus?

haentschman 16. Okt 2019 14:04

AW: Kassenschublade Status(offen/geschlossen) abfragen
 
Hallöle...8-)
hast du das schon gelesen?
https://blog.devilatwork.de/epson-po...lade-auslesen/

noisy_master 16. Okt 2019 15:55

AW: Kassenschublade Status(offen/geschlossen) abfragen
 
Wow! Das ist ja mal richtig cool. DANKE!!!:thumb:

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:-D)
BTW: hat irgenwer einen Link für ein GUTES Delphi OPOS Tutorial für mich?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:43 Uhr.

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