Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Druckerschächte = NUR Druckerschächte (https://www.delphipraxis.net/193909-druckerschaechte-%3D-nur-druckerschaechte.html)

gullatrulla 22. Sep 2017 10:13

Druckerschächte = NUR Druckerschächte
 
Hi Delphi-Folks

Ein Thema brennt mir schon länger unter den Nägeln.
Bei der Auslesung der Druckerschächte mit "DeviceCapabilities" werden nicht nur
Schächte, sondern immer wieder auch "andere" Informationen eingeblendet.

Bei meinem Drucker "HP Officejet X476" werden z.B. folgende Informationen ausgelesen,
wenn ich mit "DeviceCapabilities" und "DC_BINNAMES" und "DC_BINS" arbeite:

Automatisch auswählen=15
Drucker autom. Auswahl=257
Man. Zufuhr in Fach 1=258
Fach 1=259
Fach 2=260
Nicht bestimmt=1273
Normal=1272
HP EcoSMART Lite=1271
HP Premium Präsentation=1270
HP Deckblattpapier 200 =1269
HP Broschürenpapier, ma=1268
HP Broschürenpapier, gl=1267
HP Advanced Fotopapier=1266
Leicht 60-74g=1265
Mittelschwer 85-95 g=1264
Mittleres Gewicht 96-11=1263
Schwer 111-130g=1262
Sehr schwer 131-175g=1261
Karton 176-220 g=1260
Etiketten=1259
Briefumschlag=1258
Schwerer Briefumschlag=1257


Der ganze Papierkram wie "Karton" odder "Sehr schwer..." sollte ausgebledet werden können.
Gibt es einen Befehl welcher nur die "echten" Druckerschächte anzeigt.

Ganz kriminell könnte man einfach auf die Bin-Nr > 999 abfragen.
Aber ich bin mir nicht sicher, ob dies sinnvoll - und bei allen Druckern gleich wäre!

Habt Ihr dieses Problem schon gelöst?

Gruss Roland

mischerr 22. Sep 2017 12:06

AW: Druckerschächte = NUR Druckerschächte
 
Hallo, prüfe einfach auf BinNr < $200.
Damit solltest Du alle Schächte erhalten - funktioniert hier mit zig Druckern verschiedener Marken einwandfrei.

gullatrulla 22. Sep 2017 12:46

AW: Druckerschächte = NUR Druckerschächte
 
Danke und funktioniert :-D

Doch eine Frage noch...
Woher kommt $200?
Hier habe ich im Moment einen kleinen "Hänger"!

Gruss Roland

mischerr 22. Sep 2017 14:07

AW: Druckerschächte = NUR Druckerschächte
 
Ich verwende den Codeteil hier schon sehr lange...
Laut MSDN > DeviceCapabilities > DC_BINS > DEVMODE > dmDefaultSource gibt es DMBIN_UPPER = $100.
Gerätespezifische Schächte liegen über DMBIN_UPPER, Allgemeine darunter. Daher hatte ich die Prüfung auf < $200 gewählt.
Bei mir kamen die Papierinformationen immer mit gesetztem Bit 2^10. Wahrscheinlich kannst Du daher auch auf < $400 testen.

gullatrulla 24. Sep 2017 17:24

AW: Druckerschächte = NUR Druckerschächte
 
Danke für die Info.
Dies habe ich in der MSDN wirklich übersehen.

Gruss Roland


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:20 Uhr.

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