Standarddrucker mit Dialogabfrage

Von Ausgaben mit der Gra-Engine über Generatoren bis zum Export in diversen Formaten

Moderator: Moderatoren

Antworten
Alfred
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 476
Registriert: Do, 03. Mai 2007 12:37
Wohnort: München

Standarddrucker mit Dialogabfrage

Beitrag von Alfred »

Hallo,

habe ein Fremdprogramm, dass immer den Standarddrucker verwendet.
Es nervt im Laufe des Tages ungemein, diesen ständig von Hand umzustellen.

Könnte man denn einen Standarddrucker entwickeln, der mich erst mal frägt
wohin ich drucken will?

Gruß
Alfred
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Beitrag von Jan »

Versuch es doch mal mit XbpPrintDialog() Das gibt Dir die Druckerauswahl direkt vor dem Ausdruck.

Auch wenn das vermutlich nicht das ist, was Du suchst.

Jan
Alfred
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 476
Registriert: Do, 03. Mai 2007 12:37
Wohnort: München

Beitrag von Alfred »

Hallo Jan,

die DATEV-Programme holen sich sobald ein Druck angestoßen wird, den
zu diesem Zeitpunkt eingestellten Standarddrucker und der wird mit
dc_printerdialog() nicht verändert.

Mir wäre schon geholfen, wenn in der Taskleiste der eingestellte Standard-
drucker angezeigt wäre.

Gruß
Alfred
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hi,

Druckertreiber entwickeln ist nichts für einen Xbase++ Programmierer ;-)

Aber das Problem wurde schon öffters behandelt. Die Lösung liegt in einem Hilfsprogramm das Phil IDE auf seiner Seite anbietet. Einfach hier mal nach Standarddrucker suchen:

1. Aktuellen Standarddrucker ermitteln (oXbpPrinter:list() ...)
2. gewünschten Drucker als Standarddrucker festlegen (Phils ...)
3. Drucken (mit Fremdprogramm)
4. alten Standarddrucker wieder aktivieren (Phils...)
Gruß
Hubert
Alfred
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 476
Registriert: Do, 03. Mai 2007 12:37
Wohnort: München

Beitrag von Alfred »

Hallo Hubert,

:D :D :D.

Printerapi ist die........................... Lösung schlechthin für mich.

Macht genau dass was ich will. Zeigt mir den aktuellen Drucker an und
ich kann ihn sofort ändern.

Das Programm wollte noch #include "bap.ch" haben. Wo findet man
diese Datei? Für was ist diese? Läuft aber auch ohne.

Gruß
Alfred
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hi,

im verschiedene C-Parameter übergeben zu können braucht man BAP (ich brauchte es bisher nicht). Dieses liegt auf dem Alaska Server und ist auch von denen. Wenn es ohne geht, schmeiß die Zeile raus.
Gruß
Hubert
Alfred
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 476
Registriert: Do, 03. Mai 2007 12:37
Wohnort: München

Beitrag von Alfred »

Hallo Hubert,

würde noch gerne im Programm den Titel abändern, dann würde der
gewählte Drucker direkt in der Taskleiste stehen.

Phil hat eine XFF verwendet.

oDlg:title := "Hallo" führt nicht zum Ziel.

Alaska ohne express++ ist für mich leider noch eine blackbox :(.

Gruß
Alfred
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9356
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Beitrag von Tom »

Code: Alles auswählen

oDlg:SetTitle('Hallo')
Geht auch, wenn oDlg mit eXpress++ erzeugt wurde (PARENT @oDlg).
Herzlich,
Tom
Alfred
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 476
Registriert: Do, 03. Mai 2007 12:37
Wohnort: München

Beitrag von Alfred »

Hallo Tom,

vielen Dank, funktioniert einwandfrei.

Würde gerne den Dialog per Programm minimieren. Welchen Lösungsansatz
muss man da wählen?

Gruß
Alfred
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Beitrag von AUGE_OHR »

hi,
Alfred hat geschrieben: Würde gerne den Dialog per Programm minimieren.
Welchen Lösungsansatz muss man da wählen?
grundsätzlich kann man mit :

Code: Alles auswählen

oDlg:setFrameState(XBPDLG_FRAMESTAT_MINIMIZED)
Ein Dialog minimieren, jedoch nicht API-Parts wie MSGBOX().

Wenn wir nun über XbpPrintDialog() reden, welche eine API Part ist,
geht das wohl so nicht sondern dafür gibt es :display()

gruss by OHR
Jimmy
Alfred
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 476
Registriert: Do, 03. Mai 2007 12:37
Wohnort: München

Beitrag von Alfred »

Hallo Jimmy,

8) .

Das Programm ist ein XbpDialog mit Delphi-DLL. Läuft jetzt richtig gut.

Gruß
Alfred
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

AUGE_OHR hat geschrieben:grundsätzlich kann man mit :

Code: Alles auswählen

oDlg:setFrameState(XBPDLG_FRAMESTAT_MINIMIZED)
danke, danach habe ich schon lange vergeblich gesucht (als Parameter von Show ...)
Gruß
Hubert
Antworten