Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Printer auslesen (https://www.delphipraxis.net/209857-printer-auslesen.html)

OptPrime 1. Feb 2022 08:33

Delphi-Version: 5

Printer auslesen
 
Hallo Zusammen,

ich möchte in meiner Anwendung gerne sehen, wie das Layout (Breite, Höhe) des Druckertreibers vom Standarddrucker oder auch anderen Druckern eingestellt sind.
Auf Delphi-Treff habe ich unter anderem diese Seite gefunden: https://www.delphi-treff.de/tipps-tr...eigenschaften/
Da habe ich jedoch Probleme das mein Delphi "PDriverInfo2" wohl nicht findet. Muss ich hierzu irgend ein Paket installieren?

Wenn ich unten stehenden Code ausführe habe ich außerdem das Problem den aktuellen Drucker zu setzen. Die IDE Hängt sich immer auf wenn er versucht .SetPrinter aufzurufen. Eventuell habe ich hier auch die komplett falsche Vorgehensweise. Hat jemand eine elegantere Lösung?

Vielen Dank.

Ich nutze Delphi 10.1


Code:
Printer.GetPrinter( ADevice, ADriver, APort, ADeviceMode );

 pPrinter.SetPrinter(ADevice,ADriver,APort, ADeviceMode);

 lblHeight.Caption := pPrinter.PageHeight;

himitsu 1. Feb 2022 09:47

AW: Printer auslesen
 
Sag blos, dass nirgenwo in dem Beispiel etwas von der [B]Uses[/S] WinSpool zu lesen ist?

PS: Strg+Shift+F und nach PDriverInfo2 in *.pas des Verzeichnis $(BDS) mit Unterverzeichnissen suchen.



"Ich nutze Delphi 10.1"
Warum hast du das dann oben nicht angegeben, in diesem Unterforum? Weil da steht Delphi 5 :zwinker:
Alternativ einfach im User-Profil angeben, damit es links beim Namen steht.

peterbelow 1. Feb 2022 12:35

AW: Printer auslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von OptPrime (Beitrag 1501505)
Hallo Zusammen,

ich möchte in meiner Anwendung gerne sehen, wie das Layout (Breite, Höhe) des Druckertreibers vom Standarddrucker oder auch anderen Druckern eingestellt sind.

Delphi-Quellcode:
  WriteLn(
    'Printer name: ', Printer.Printers[Printer.PrinterIndex],
    #13#10,
    'PageHeight: ', Printer.PageHeight,
    #13#10,
    'PageWidth: ', Printer.PageWidth);
TPrinter hat mittlerweile eine ganze Menge nützlicher Properties. Wenn Du direkt mit Windows DEVMODE-Records arbeiten willst sieh Dir mal die PB.PrintUtilsU Unit im angehängten Zip-File an.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:20 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