AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Komponente TPrinterInfo v2.0

Komponente TPrinterInfo v2.0

Ein Thema von RWarnecke · begonnen am 16. Mai 2009 · letzter Beitrag vom 12. Feb 2018
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von RWarnecke
RWarnecke
Registriert seit: 31. Dez 2004
Hallo zusammen,

da ich schon mehrfach gefragt wurde, ob ich den Quelltext von meinem Programm SystemInfo veröffentliche und dieses immer verneint habe, möchte ich euch eine Klasse zur Ermittlung von Informationen der installierten Drucker vorstellen. Mit dieser Klasse fülle ich die ListView in meinem Programm SystemInfo. Die Klasse TPrinterInfo wird mit Informationen des API-Befehls MSDN-Library durchsuchenEnumPrinters und der Struktur MSDN-Library durchsuchenPRINTER_INFO_2 gefüttert. Das ganze wird dann in Eigenschaften geschrieben, die abgerufen werden können.

Die neue Version 2.0 hat ist eine Weiterenticklung, von der Unit, wie Sie in SystemInfo eingesetzt wird.

Die Komponente steht für folgende Delphi-Versionen zur Verfügung :

Delphi 5
Delphi 6
Delphi 7
Delphi 2005
Delphi 2006
Delphi 2007
Delphi 2009

Download (Größe ca. 38KB)

Changelog:
Version 2.0:
[+] Die Eigenschaft "Memory" hinzugefügt
[+] Die Eigenschaft "SuportDuplex" hinzugefügt
[+] Die ID des Standarddrucker als Eigenschaft hinzugefügt. (z.B. für eine Auswahl in einer Combobox)
[+] Mehrere Properties für die Komponente TJobInfo hinzugefügt. (siehe Kommentar in der Unit)
[+] Neue Komponente TJobInfo für die Informationen der Druckeraufträge.
[+] TPrinterCustomInfo als Steuerungsklasse für TJobInfo und TPrinterInfo hinzugefügt.[*] Die Hauptklasse TPrinterCustom erstellt[*] Die Liste der Jobnamen kann jetzt über die Klasse TJobInfo abgerufen werden.

Version 1.6:
[+] Eigenes Icon für die Komponente hinzugefügt, welches in der Toolpalette angezeigt wird.
[+] Property "ColorPrinting" hinzugefügt. Damit kann überpüft werden ob der Drucker Farbe drucken kann
[+] Property "JobNameList" hinzugefügt. Dient zum Anzeigen der Jobnamen aus der Druckerqueue

Version 1.3:[*] Änderung zu einer nicht visuellen Komponente (6,7,2005,2006,2007,2009)
[+] Property "PaperSizes" hinzugefügt
[+] Property "PaperTrays" hinzugefügt

Version 1.2:
[+] Neue Property "PrinterListName" vom Typ TStrings hinzugefügt

Crosspost im Delphi-Forum

Testet einfach mal die Komponente und gebt mir Feedback, was Ihr davon haltet und was man noch verbessern kann.
 
Benutzerbild von toms
toms

 
Delphi XE Professional
 
#11
  Alt 21. Mai 2009, 10:29
Zitat von RWarnecke:

Die Komponente steht für folgende Delphi-Versionen zur Verfügung :

Delphi 6
Delphi 7
Delphi 2005
Delphi 2006
Delphi 2007
Delphi 2009
Funktioniert auch unter D5, wenn

Zeile 128 geändert wird zu
constructor Create(AOwner: TComponent); ud Zeile 195 zu:

inherited Create;
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

 
Delphi XE8 Enterprise
 
#12
  Alt 21. Mai 2009, 10:47
Hallo Toms,

welche Version hast Du als Ausgang genommen für die Änderungen ? Denn in den Zeilen 128 und 195 steht bei mir das nicht.
Rolf Warnecke
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms

 
Delphi XE Professional
 
#13
  Alt 21. Mai 2009, 10:52
Die oben verlinkte Unit "Download als Komponente"

Delphi-Quellcode:
constructor TPrinterInfo.Create(AOwner: TComponent);
begin
  inherited Create; //<- geändert!

Delphi-Quellcode:
    property PaperTrays : TStrings read GetPaperTrays;
    property PaperSizes : TStrings read GetPaperSizes;
    constructor Create(AOwner: TComponent);
    destructor Destroy; override; //<- geändert!
  end;
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

 
Delphi XE8 Enterprise
 
#14
  Alt 21. Mai 2009, 15:50
Dank dem Hinweis von Toms, habe ich die Komponente nun für Delphi 5 online gestellt.
Rolf Warnecke
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

 
Delphi XE8 Enterprise
 
#15
  Alt 10. Jun 2009, 09:10
Hallo zusammen,

ich habe jetzt die Entwicklung an der Unit GetPrinterInfo.pas eingestellt und führe alle Änderungen und Erweiterungen nur noch in der Komponente durch. Wer Turbo Delphi besitzt kann diese Komponente trotzdem noch weiter nutzen, indem er in die USES-Klausel PrinterInfoComp einfügt und die Komponente zur Laufzeit erstellt.

Das aktuelle Changelog sieht folgendermaßen aus :

Changelog:
Version 1.6:

[+] Eigenes Icon für die Komponente hinzugefügt, welches in der Toolpalette angezeigt wird.
[+] Property "ColorPrinting" hinzugefügt. Damit kann überpüft werden ob der Drucker Farbe drucken kann
[+] Property "JobNameList" hinzugefügt. Dient zum Anzeigen der Jobnamen aus der Druckerqueue

ChangeLog erstellt durch DevProject Manager und phpbb Plugin

Testet bitte fleißig und gebt mir reichlich Feedback, da es meine erste Komponente ist.
Rolf Warnecke
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

 
Delphi XE8 Enterprise
 
#16
  Alt 31. Okt 2009, 16:13
Hallo zusammen,

ich habe die Komponente TPrinterInfo erweitert und das Update online gestellt. Alles weitere erfahrt Ihr im Changelog oder im Kommentar der Unit PrinterInfo.pas.

Changelog:
Version 2.0:
[+] Die Eigenschaft "Memory" hinzugefügt
[+] Die Eigenschaft "SupportDuplex" hinzugefügt
[+] Die ID des Standarddrucker als Eigenschaft hinzugefügt. (z.B. für eine Auswahl in einer Combobox)
[+] Mehrere Properties für die Komponente TJobInfo hinzugefügt. (siehe Kommentar in der Unit)
[+] Neue Komponente TJobInfo für die Informationen der Druckeraufträge.
[+] TPrinterCustomInfo als Steuerungsklasse für TJobInfo und TPrinterInfo hinzugefügt.[*] Die Hauptklasse TPrinterCustom erstellt[*] Die Liste der Jobnamen kann jetzt über die Klasse TJobInfo abgerufen werden.

Testet einfach mal die Komponente und gebt mir Feedback, was Ihr davon haltet und was man noch verbessern kann.

Edit: Rechtschreibfehler korrigiert.
Rolf Warnecke
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms

 
Delphi XE Professional
 
#17
  Alt 31. Okt 2009, 16:18
Zitat von RWarnecke:
[+] Die Eigenschaft "SuportDuplex" hinzugefügt
Sollte das nicht SupportsDuplex heißen?
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

 
Delphi XE8 Enterprise
 
#18
  Alt 31. Okt 2009, 16:19
Zitat von toms:
Sollte das nicht SupportsDuplex heißen?
Ja, stimmt. Danke.
Rolf Warnecke
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

 
Delphi 11 Alexandria
 
#19
  Alt 12. Feb 2018, 14:12
Hallo Rolf,

der Link stimmt zwar nimmer, aber ich denke ich hab Dein Projekt hier gefunden. Danke dafür.

Zu deiner Info: Um das MemoryLeak zu vermeiden, habe ich bei mir im destructor TPrinterCustom.Destroy ein FreeAndNil(FPrinterListName) hinzufügen müssen.
  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 07:25 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