Printersettingdialog Anzahl
- Maik81SE
- Beiträge: 327
- Registriert: Fr 30. Sep 2011, 14:07
- OS, Lazarus, FPC: Debian 12 (L 3.4 FPC 3.2.2)
- CPU-Target: x86-64; avr
- Wohnort: Lübeck
- Kontaktdaten:
Printersettingdialog Anzahl
Moin @ll...
bei einem Projekt, welches ich aktuell auf dem Zettel habe benötige ich gleichzeitig 4 Netzwerkdrucker der Firma Weidmüller.
3 von denen sind vom selben Typ, laufen jedoch auf ihren eigenen Netzwerkadressen und sind mit entsprechenden Klemmmarkierer (WS 8/5, DEK 5/5 und GEW 15/6 GE) bestückt
Ich würde pauschal dazu dentieren, für jeden Drucker ein eigenes Setting~ und Printdialog zu spendieren.
Nun meine allgemeine Frage an euch.
Würdet ihr dies ebenfalls Pro Drucker handeln oder über einen Dialog für alle Drucker?
bei einem Projekt, welches ich aktuell auf dem Zettel habe benötige ich gleichzeitig 4 Netzwerkdrucker der Firma Weidmüller.
3 von denen sind vom selben Typ, laufen jedoch auf ihren eigenen Netzwerkadressen und sind mit entsprechenden Klemmmarkierer (WS 8/5, DEK 5/5 und GEW 15/6 GE) bestückt
Ich würde pauschal dazu dentieren, für jeden Drucker ein eigenes Setting~ und Printdialog zu spendieren.
Nun meine allgemeine Frage an euch.
Würdet ihr dies ebenfalls Pro Drucker handeln oder über einen Dialog für alle Drucker?
Code: Alles auswählen
label.caption:= 'gnublin.no-ip.info'
-
- Beiträge: 24
- Registriert: Sa 1. Feb 2025, 23:22
- OS, Lazarus, FPC: Winux (L 3.6.0 FPC 3.2.2)
- CPU-Target: 64Bit
- Wohnort: Hamburg
Re: Printersettingdialog Anzahl
Moin,
Ich bin zwar in Linux zu wenig firm, würde aber rein von der Sache her zu einem Dialog tendieren,
in welchem der User den Drucker auswählen kann:
- verfügbare Drucker ermitteln und dem User zur Auswahl servieren
- printer capabilities des ausgewählten Druckers ermitteln und den Dialog entsprechen anpassen.
Deine Wahl hat aus meiner Sicht folgende Nachteile:
Das gefällt mir! Du bist nicht etwa Dentist?dentieren

Ich bin zwar in Linux zu wenig firm, würde aber rein von der Sache her zu einem Dialog tendieren,
in welchem der User den Drucker auswählen kann:
- verfügbare Drucker ermitteln und dem User zur Auswahl servieren
- printer capabilities des ausgewählten Druckers ermitteln und den Dialog entsprechen anpassen.
Deine Wahl hat aus meiner Sicht folgende Nachteile:
- Da Drucker ziemlich viel gemeinsam haben, würdest du ziemlich viel vierfach implementieren.
- Und was machst du, wenn plötzlich ein Drucker hinzukommt oder einer gegen ein anderes Fabrikat ausgetauscht wird?
Willst du dann immer dein Programm anpassen?
Die Welt ist linear, rechteckig und gaussverteilt.
- Jorg3000
- Lazarusforum e. V.
- Beiträge: 359
- Registriert: So 10. Okt 2021, 10:24
- OS, Lazarus, FPC: Win64
- Wohnort: NRW
Re: Printersettingdialog Anzahl
Moin! (endlich weiß ich, dass ich das von mir heißgeliebte "Moin" mal in die richtige Region sende)
Ich wäre gar nicht auf die Idee gekommen, für jeden Drucker einen eigenen Auswahl/Settings/Page-Dialog zu erstellen. Ich finde die Idee gerade super!
Das hätte doch den Vorteil, dass jeder vorhandene Dialog immer noch die passenden Einstellungen enthält, die der User zuvor (in dieser Sitzung) schon mal ausgewählt hat, oder?
Und ist die Verwendung der Drucker auch an bestimmte Aufgaben/Programmteile gebunden?
Dann könnte jeder Programmteil sofort schon den richtigen Dialog aufrufen. Dazu könnte man die Dialoge in einem globalen Array ablegen, z.B. PrinterSettingsDialog[3] für Aufgabenart 3.
Oder war etwas völlig anderes gemeint?
Grüße, Jörg
Ich wäre gar nicht auf die Idee gekommen, für jeden Drucker einen eigenen Auswahl/Settings/Page-Dialog zu erstellen. Ich finde die Idee gerade super!
Das hätte doch den Vorteil, dass jeder vorhandene Dialog immer noch die passenden Einstellungen enthält, die der User zuvor (in dieser Sitzung) schon mal ausgewählt hat, oder?
Und ist die Verwendung der Drucker auch an bestimmte Aufgaben/Programmteile gebunden?
Dann könnte jeder Programmteil sofort schon den richtigen Dialog aufrufen. Dazu könnte man die Dialoge in einem globalen Array ablegen, z.B. PrinterSettingsDialog[3] für Aufgabenart 3.
Oder war etwas völlig anderes gemeint?
Grüße, Jörg
- af0815
- Lazarusforum e. V.
- Beiträge: 6762
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Printersettingdialog Anzahl
Ein Dialog, wenn möglich. Dafür die Einstellungen speichern und beim nächsten Aufruf des Dialogs voreinstellen.
Wobei bei diesen Spezialdruckern es oft so ist, das der Benutzer oft gar nicht viel konfigurieren sollte. Erfahrungsgemäss wird dann gerne ein Fehler durch Konfigurationsänderung versteckt. Über mehrere Benutzer kann sich sowas zu einem unbrauchbaren Drucker aufschaukeln. Erfahrung aus der Praxis in einen mehrschichtigem Betrieb. Bsp. statt die Führungen zu reinigen einfach die Positionen manipulieren. Der was dann sauber arbeitet und putzt hat die A...Karte.
Wobei bei diesen Spezialdruckern es oft so ist, das der Benutzer oft gar nicht viel konfigurieren sollte. Erfahrungsgemäss wird dann gerne ein Fehler durch Konfigurationsänderung versteckt. Über mehrere Benutzer kann sich sowas zu einem unbrauchbaren Drucker aufschaukeln. Erfahrung aus der Praxis in einen mehrschichtigem Betrieb. Bsp. statt die Führungen zu reinigen einfach die Positionen manipulieren. Der was dann sauber arbeitet und putzt hat die A...Karte.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Lazarusforum e. V.
- Beiträge: 280
- Registriert: Sa 26. Mai 2012, 17:31
- OS, Lazarus, FPC: Win 10 (L 2.2.6 x64 FPC 3.2.2)
- CPU-Target: 64Bit
Re: Printersettingdialog Anzahl
Dito Moin,Jorg3000 hat geschrieben: Di 18. Feb 2025, 08:02 Moin! (endlich weiß ich, dass ich das von mir heißgeliebte "Moin" mal in die richtige Region sende)
Das klingt mir schon fast nach einer Arztsoftware; Kassenrezept, Privatrezept, BTM-Rezept, Schwangerschaftsnachweis...Jorg3000 hat geschrieben: Di 18. Feb 2025, 08:02 Und ist die Verwendung der Drucker auch an bestimmte Aufgaben/Programmteile gebunden?
Dann könnte jeder Programmteil sofort schon den richtigen Dialog aufrufen. Dazu könnte man die Dialoge in einem globalen Array ablegen, z.B. PrinterSettingsDialog[3] für Aufgabenart 3.
A4, A5hoch, A5quer, A6quer, A6hoch
just my two Beer
- Jorg3000
- Lazarusforum e. V.
- Beiträge: 359
- Registriert: So 10. Okt 2021, 10:24
- OS, Lazarus, FPC: Win64
- Wohnort: NRW
Re: Printersettingdialog Anzahl
Er hat doch geschrieben, dass er Dentist ist.


- af0815
- Lazarusforum e. V.
- Beiträge: 6762
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Printersettingdialog Anzahl
Na ja, schaut nicht nach Dentist ausFirma Weidmüller. ... sind mit entsprechenden Klemmmarkierer (WS 8/5, DEK 5/5 und GEW 15/6 GE) bestückt

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- Zvoni
- Beiträge: 363
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
- CPU-Target: 32Bit
- Wohnort: BW
Re: Printersettingdialog Anzahl
Ich hätte es anderstherum formuliert: Den Druckerdialog brauchste ja im Prinzip nur einmal, um eben die Einstellungen für genau diesen Programm-Teil mit diesem Drucker zu setzen (und dann zu speichern).Joh hat geschrieben: Di 18. Feb 2025, 08:45Dito Moin,Jorg3000 hat geschrieben: Di 18. Feb 2025, 08:02 Moin! (endlich weiß ich, dass ich das von mir heißgeliebte "Moin" mal in die richtige Region sende)Das klingt mir schon fast nach einer Arztsoftware; Kassenrezept, Privatrezept, BTM-Rezept, Schwangerschaftsnachweis...Jorg3000 hat geschrieben: Di 18. Feb 2025, 08:02 Und ist die Verwendung der Drucker auch an bestimmte Aufgaben/Programmteile gebunden?
Dann könnte jeder Programmteil sofort schon den richtigen Dialog aufrufen. Dazu könnte man die Dialoge in einem globalen Array ablegen, z.B. PrinterSettingsDialog[3] für Aufgabenart 3.
A4, A5hoch, A5quer, A6quer, A6hoch
Ich kenne das von der UPS WorldShip Software:
1 x Drucker-Config für Etiketten (Bixolon-Drucker)
1 x Drucker-Config für Versand-Manifest (Laser-Drucker)
1 x Drucker-Config für Zusammenfassung (Laser-Drucker)
Einmal konfiguriert (und gespeichert), Feuer Frei!
Den Drucker-Dialog selbst brauchste danach nicht mehr
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
- Maik81SE
- Beiträge: 327
- Registriert: Fr 30. Sep 2011, 14:07
- OS, Lazarus, FPC: Debian 12 (L 3.4 FPC 3.2.2)
- CPU-Target: x86-64; avr
- Wohnort: Lübeck
- Kontaktdaten:
Re: Printersettingdialog Anzahl
Moin @ll,
danke erst mal für euer Feedback.
Bin in der letzten Zeit erst mal an dem "Editor" im Kern geblieben und habe mir die Drucker für später aufgehoben.
Da ich die von mir genutzen Drucker zum Glück fest im LAN habe, bin ich am Überlegen, das ich mir die Druckdialoge inkl. Settings einfach spare und die 4 Primären Drucker einfach fest einprogrammiere.
Da wir zu den 4 Druckern noch 2 als Backup haben, welche in der Konstuktion stehen, werde will ich diese als BackUp/Ersatzdrucker einprogrammieren und gleich so, das diese automatisch ausgewählt werden, wenn der Primärdrucker nicht zur Verfügung steht.
Für den Anfang würde ich es ggf auf diesem Weg versuchen.
Natürlich ist dies erst mal nur ein Gedankengang und alle Variablen sind dadurch noch nicht fest.
Gründe können Störungen im Netzwerk sein, wenn HelTo mal wieder am Server spielt, der Drucker einfach nicht nach dem TimeOut nicht gefunden werden kann oder der entsprechende Drucker technisch gerade zur Repatur/Wartung ist.
Somit komme ich in der Summe auf 7 Drucker, welche verwaltet werden müssen.
Nachteil nur, wenn wir iwan, von Weidmüller auf Phoenixdrucker umsteigen, könnte es natürlich eine Anpassung der entsprechenden Zeilen bedeuten, wenn unsere IT es nicht hinbekommt, die aktuellen IP-Adressen zu verwenden.
Das einzige, was ich aber nicht auf dem Zettel habe, ist ob mPrint-Pro einen RAW-Datenstrom und eventuelle Steuerbefehle verwendet.
Dafür muß ich mir mal einen ausgedienten mit nach hause nehmen und die Kommunikation scannen.
danke erst mal für euer Feedback.
Bin in der letzten Zeit erst mal an dem "Editor" im Kern geblieben und habe mir die Drucker für später aufgehoben.
Da ich die von mir genutzen Drucker zum Glück fest im LAN habe, bin ich am Überlegen, das ich mir die Druckdialoge inkl. Settings einfach spare und die 4 Primären Drucker einfach fest einprogrammiere.
Da wir zu den 4 Druckern noch 2 als Backup haben, welche in der Konstuktion stehen, werde will ich diese als BackUp/Ersatzdrucker einprogrammieren und gleich so, das diese automatisch ausgewählt werden, wenn der Primärdrucker nicht zur Verfügung steht.
Für den Anfang würde ich es ggf auf diesem Weg versuchen.
Natürlich ist dies erst mal nur ein Gedankengang und alle Variablen sind dadurch noch nicht fest.
Code: Alles auswählen
uses Printers;
procedure SetFixedPrinter(Primary, Backup: string);
var
i: Integer;
begin
for i := 0 to Printer.Printers.Count - 1 do
begin
if Printer.Printers[i] = Primary then
begin
Printer.PrinterIndex := i;
Exit;
end;
end;
// Falls Primärdrucker nicht gefunden wird, Backup verwenden
for i := 0 to Printer.Printers.Count - 1 do
begin
if Printer.Printers[i] = Backup then
begin
Printer.PrinterIndex := i;
Exit;
end;
end;
end;
begin
// Drucker für WS8/5 festlegen
SetFixedPrinter('Weidmüller MultiMark WS8/5', 'Ersatzdrucker WS8/5');
Printer.BeginDoc;
Printer.Canvas.TextOut(100, 100, 'Testdruck für WS8/5');
Printer.EndDoc;
end.
Somit komme ich in der Summe auf 7 Drucker, welche verwaltet werden müssen.
Nachteil nur, wenn wir iwan, von Weidmüller auf Phoenixdrucker umsteigen, könnte es natürlich eine Anpassung der entsprechenden Zeilen bedeuten, wenn unsere IT es nicht hinbekommt, die aktuellen IP-Adressen zu verwenden.
Das einzige, was ich aber nicht auf dem Zettel habe, ist ob mPrint-Pro einen RAW-Datenstrom und eventuelle Steuerbefehle verwendet.
Dafür muß ich mir mal einen ausgedienten mit nach hause nehmen und die Kommunikation scannen.
Code: Alles auswählen
label.caption:= 'gnublin.no-ip.info'