Mahlzeit,
ich verwende Huberts Druckerklasse. Kann man hier irgendwie den vom Drucker gelieferten Fehler auswerten z.B. Papierstau oder kein Papier usw.?
Fehler beim Drucker auslesen
Moderator: Moderatoren
- Wolfgang_B
- Rekursionen-Architekt
- Beiträge: 486
- Registriert: Do, 14. Jun 2007 18:22
- Wohnort: 94065 Waldkirchen
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 5 Mal
Fehler beim Drucker auslesen
Beste Grüße
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Re: Fehler beim Drucker auslesen
Ohne Gewähr auf Korrektheit der Errorcodes...
Habe das Ganze auch nur übernommen ( woher weiß ich nicht mehr ) und geringfügig modifiziert
Habe das Ganze auch nur übernommen ( woher weiß ich nicht mehr ) und geringfügig modifiziert
Code: Alles auswählen
METHOD _HBPrinter:IsPrinterError(oDC) // Printer # READY -> error
local lIsPrinterError := .f., cErrTyp1:="", error_test:=file("DRUCKERROR.CHK")
LOCAL tmp_err:=1
DEFAULT oDC TO ::oPS:device()
do case
case ::_PrinterCreateErr // error at create -> there could be nothing
lIsPrinterError := .t. // Fehler schon bei create -> da kann nichts sein
if error_test
cErrTyp1:="CREATE-ERROR"
endif
case IsNil(oDC)
lIsPrinterError := .t. // NIL !
if error_test
cErrTyp1:="ISNIL-ODC-ERROR"
endif
case oDC:isDerivedFrom( "XbpPrinter" ) .and. IsMethod(oDC,"printerStatus")
lIsPrinterError := ( oDC:printerStatus() # XBPPRN_STATUS_READY )
if error_test
tmp_err:=oDC:printerStatus()
tmp_str:=""
if tmp_err=0
tmp_str:="Drucker wurde angehalten"
elseif tmp_err=1
tmp_str:="Drucker ist bereit"
elseif tmp_err=-1
tmp_str:="Drucker ist beschäftigt"
elseif tmp_err=-2
tmp_str:="Drucker braucht Wartung ( Toner oder Papierstau )"
elseif tmp_err=-3
tmp_str:="Drucker hat kein Papier"
elseif tmp_err=-4
tmp_str:="Drucker offen oder wärmt auf"
elseif tmp_err=-5
tmp_str:="Drucker nicht erreichbar"
elseif tmp_err=-6
tmp_str:="Drucker ist im Fehlerstatus"
elseif tmp_err=-7
tmp_str:="Drucker ist offline"
else
tmp_str:="Druckerproblem nicht identifizerbar"
endif
cErrTyp1:=oDC:devname+" > STATUS = "+alltrim(str(tmp_err))+" > "+tmp_str+" > Station "+usernum+" > "+LW_USERNAM
endif
endcase
if error_test .and. tmp_err<>1
strfile(dtoc(date())+" "+cErrTyp1+chr(13)+chr(10),"DRUCKERROR.LOG",.T.)
endif
return lIsPrinterError
Ahoile aus dem Süden
- Wolfgang_B
- Rekursionen-Architekt
- Beiträge: 486
- Registriert: Do, 14. Jun 2007 18:22
- Wohnort: 94065 Waldkirchen
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 5 Mal
Re: Fehler beim Drucker auslesen
prima, vielen Dank!!
Beste Grüße
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück