"Drucker path" automatisch identifizieren lassen

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
Antworten
Hektrion
Beiträge: 7
Registriert: Do 6. Jan 2011, 19:50

"Drucker path" automatisch identifizieren lassen

Beitrag von Hektrion »

Hallo zusammen,

ich habe mich gestern sicherheitshalber bei euch angemeldet, obwohl ich mich schon seit einer gewissen Zeit mit Pascal (in der IDE Lazarus) selbst beschäftige
und mit allen Basics vertraut bin, und siehe da, ich habe ausgerechnet heute eine Frage:
(Selbstverständlich habe ich im Forum schon herumgesucht, jedoch nichts Zutreffendes gefunden ...)

Hier handelt es sich eben um etwas, was außerhalb der (/meiner) Basics liegt:
Also, nehmen wir an, wir haben einen Button und wenn der User auf ihn clickt, sollen die verschiedenen Paths zu den verschiedenen Druckern
angezeigt werden, das kann zum Beispiel der "normale" Drucker sein und (bei mir zumindest) eben noch der PDFCreator, eventuell auch der XPS-Maker,
allerdings keine Netzwerk-Drucker ( oder sonstige Geräte wie Tastatur, etc.).

Könnte mir jemand dabei behilflich sein? Ich bin dankbar für jeden Hinweis, ein kleines Code-Beispiel könnte natürlich auch von bedeutsamer Hilfe sein.

Viele Grüße

Hektrion

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: "Drucker path" automatisch identifizieren lassen

Beitrag von theo »

Ich weiss nicht, ob ich deine Frage richtig verstehe, und ich weiss auch die Antwort nicht sicher, aber du könntest mal mit folgenden Eigenschaften experimentieren:

Code: Alles auswählen

Memo1.Lines.Assign(Printer.Printers);
 
  Printer.PrinterIndex:=0;
 
 if Printer.PrinterType=ptLocal then...

creed steiger
Beiträge: 957
Registriert: Mo 11. Sep 2006, 22:56

Re: "Drucker path" automatisch identifizieren lassen

Beitrag von creed steiger »

du kannst dir mal die Beispiele unter
lazarus/components/printers/samples
anschauen

Hektrion
Beiträge: 7
Registriert: Do 6. Jan 2011, 19:50

Re: "Drucker path" automatisch identifizieren lassen

Beitrag von Hektrion »

Dankesehr für eure Antworten,

@creed steiger
Diese habe ich mir schon unter die Lupe genommen, jedoch wird dort
Priter Setup Dialog verwendet, was ich aber nicht nehmen will.

@theo:
Sowas Ähnliches, aber der Nutzer soll dem Programm selbst sagen, welchen
Drucker er nutzen will, in dem er irgendeinen Path, den er zum Beispiel
in einer ListBox auswählen kann, angibt und dann so den Druckvorgang starten
lassen kann.

Wo ich nicht weiterkomme, ist eben, dass ich nicht weiß, mit welchem
Code der Computer alle möglichen Drucker(-pfade) finden kann ...

Hoffentlich ist nun das Problem besser beschrieben, sorry für mögliche Verwirrung ...

Viele Grüße

Hektrion

slai
Beiträge: 211
Registriert: Fr 27. Apr 2007, 17:36
Wohnort: Zürich
Kontaktdaten:

Re: "Drucker path" automatisch identifizieren lassen

Beitrag von slai »

z.B.

Code: Alles auswählen

ComboBox.items.assign(Printer.Printers);


Auch auf diesem Drucker drucken

Code: Alles auswählen

Printer.SetPrinter(ComboBox.Caption);
Windows 7, Lazarus 0.9.28.2 fpc 2.2.4, Firebird 2.1, Zeoslib 6.6.6-stable

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: "Drucker path" automatisch identifizieren lassen

Beitrag von theo »

Hektrion hat geschrieben:
@theo:
Sowas Ähnliches, aber der Nutzer soll dem Programm selbst sagen, welchen
Drucker er nutzen will, in dem er irgendeinen Path, den er zum Beispiel
in einer ListBox auswählen kann, angibt und dann so den Druckvorgang starten
lassen kann.

Wo ich nicht weiterkomme, ist eben, dass ich nicht weiß, mit welchem
Code der Computer alle möglichen Drucker(-pfade) finden kann ...


Stehen die denn jetzt nicht in Printer.Printers ?

Hektrion
Beiträge: 7
Registriert: Do 6. Jan 2011, 19:50

Re: "Drucker path" automatisch identifizieren lassen

Beitrag von Hektrion »

Dankeschön, slai, das ist genau das, was ich brauche und das Schöne ist, es funktioniert. :D
@theo
Ja, ich dachte, ich muss die installierten Drucker manuell finden lassen.
Dass es nicht so ist, und alles schon in printer.printers steht, erleichtert die Sache erheblichst...

Viele Grüße

Hektrion

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: "Drucker path" automatisch identifizieren lassen

Beitrag von theo »

Hektrion hat geschrieben:Dankeschön, slai, das ist genau das, was ich brauche und das Schöne ist, es funktioniert. :D


Joh, ist einfach das gleiche was ich auch schon geschrieben hatte.
Nur dass ich vorgeschlagen hatte, den Printer über PrinterIndex statt über den Namen auszuwählen.

Antworten