| |
|
|
- Seite 1 - |
|
liveFamilie | Ich brauche mal wieder einen Anstoss. Suche schon seit 2 Tagen und finde den Wald vor lauter Bäumen nicht mehr.
Ich brauche für mein Progie, ein Drucker einrichten Menu. Die Beispiele sind immer darauf bezogen, gleich danach auszudrucken bzw. etwas abzuspeichern. Ich möchte einfach nur wenn ich in meinem Menu "Drucker einrichten" auswähle, das mir dann das Windowsdruckmenu aufgeht, ich einen Drucker auswählen kann und dieser soll bis zum Programmende (oder einer erneuten Auswahl) als Standarddrucker für das Programm aktiv sein. Aber wenn ich gleichzeitig z.B. word öffne, möchte ich, das mein eigentlich eingestellter Standard-Drucker auch weiterhin Standard ist. Beispiel Standard-Drucker für Word : ist mein HP-Drucker in meinem Prog wähle ich als Drucker den pdf-Creator aus als Standard.
TIPPS ? Hinweise ? Da wäre ich sehr dankbar.
Toni
PS: Bitte in Profan 8. |
|
|
| XProfan 8"Profan das Besondere" was auch in einem gewissen Alter noch Spass macht und Fit hält. | 26.02.2012 ▲ |
|
|
|
|
« Dieser Beitrag wurde als Lösung gekennzeichnet. » |
|
liveFamilie | Hallo Thomas,
in deinem Code steht etwas von XProfan8 kennt das nicht. Ich weis nicht was du geändert hast (habe noch keine vergleiche angestellt) aber das funktioniert komischer Weise. Vielleicht habe ich auch bei den anderen Sachen (code auslesen und verändern für meine Bedürfnisse) einen Fehler gemacht. Dahe kann ich dir nur DANKEN.
Gruß Toni |
|
|
| XProfan 8"Profan das Besondere" was auch in einem gewissen Alter noch Spass macht und Fit hält. | 10.03.2012 ▲ |
|
|
|
|
|
p.specht
| DRWAHL.EXE aus dem Programmpaket:
RGH-DRUCK 2.0 - Das universerlle Drucksystem für alle Drucker mit Einstellungsdialog, RGH-Druckersprache, etc Lauffähig unter Windows 9x/ME/NT 4/2000 (ca. 580 kb) Site: [...] ... stammt zwar vom 24.12.2000, läuft bei mir aber immer noch recht gut.
Download: [...] Mit RUN DRWAHL.EXE starten, eventuell als Admin. Gruss |
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 26.02.2012 ▲ |
|
|
|
|
liveFamilie | Hallo P.Specht
das mit dem RGH-Druck ist gut, aber wenn ich es in meinem Prog mit run aufrufe (steht auch in der Hilfe) schliest es mein Programm. Ein anderer Aufruf wäre da besser als run.
Toni |
|
|
| XProfan 8"Profan das Besondere" was auch in einem gewissen Alter noch Spass macht und Fit hält. | 26.02.2012 ▲ |
|
|
|
|
Jörg Sellmeyer | Du mußt in Deinem Programm - direkt vor dem Druckvorgang - den Standarddrucker umstellen und den alten Drucker merken. Danach wieder zurückstellen. Hier findet Du Beispiele: [...]
Auch mal in der Suche "Drucker" eingeben. Da findet sich einiges. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 26.02.2012 ▲ |
|
|
|
|
liveFamilie | Hallo,
also der Druck mit RGH-Druck ist schlecht, merkt sich nicht den Drucker usw.
Jörg, habe viel gelesen und ausprobiert (auch die Beispiele die man so bekommt). Habe aber dabei leider nichts passendes gefunden, was meiner Vorstellung nahe kommt. Zurück zum Beispiel. Egal mit welcher Anwendung ich arbeite in Windows, es wird auf meinem Standard Drucker HP ausgegeben. Auch wenn ich die Drucker einrichtung öffne es steht immer mein Standard Drucker drin. Wenn ich das Prog öffne (was mir als Vorlage für meines dient) wähle ich die Drucker einrichtung aus und dort z.B. den PDF-Drucker, das Prog merkt sich diesen egal wie oft ich die Druckereinrichtung öffne und schließe, nie steht der Standarddrucker drin, sondern immer der PDF-Drucker.
Nehme ich hier die Beispiele die es gibt, öffne ich das druckmenu wähle PDF-Drucker aus und kann dann drucken. Arbeite ich in dem Prog und öffne wieder das Druckmenu, steht der Standarddrucker HP drin und nicht mehr der PDF-Drucker. Wie kann ich also das bewerkstelligen, das mein Prog sich den eingestellten Drucker bis zum Programmende merkt. Ohne das ich jedesmal diesen neu einstellen muss beim Aufruf von Drucken ?)
Ich hoffe es wahr verständlich was ich möchte. Ich denke so an einlesen aller Drucker, den gewünschten einstellen (als Variable), und diesen merken bis zum Programmende, bei Druck dann erst umschreiben wenn er aufgerufen wird und dann wieder zurückschreiben auf Standard-Drucker und trotzdem sich noch meinen weiter merken. Muss also noch viel experimentieren bis ich das hinbekomme.
Toni |
|
|
| XProfan 8"Profan das Besondere" was auch in einem gewissen Alter noch Spass macht und Fit hält. | 03.03.2012 ▲ |
|
|
|
|
E.T. | Also ich hab mein Bsp ( [...] ) schon lange ohne Probleme im Einsatz. Das Zuweisen eines Druckers am Programmstart bzw. in einer Konfiguration erfolgt nat. nicht per "Standard-Druckauswahl", da diese ja nur temporär wirkt. Wenn die Konfig erst einmal steht (in INI abgelegt) , kann jeder Drucker beliebig im Programm verwendet werden, ohne irgend einen Dialog aufrufen zu müssen. |
|
|
| XProfan X2Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 03.03.2012 ▲ |
|
|
|
|
Jörg Sellmeyer | Versteh ich nicht. In diesem Thread [...] wird doch genau dafür ein Beispiel angegeben. Du mußt nur vor jedem Druckvorgang den Drucker neu einstellen. Nachdem Du ihn das erste Mal eingestellt hast, sollte das aber kein Problem sein, da Du ihn Dir ja merken kannst. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 03.03.2012 ▲ |
|
|
|
|
Thomas Freier | Habe unter XProfan8 es einmal zusammen gefasst. Sollte im Programm immer der gleiche Drucker eingesetzt werden, muß, wie Mario es schreibt, dieser in einer INI hinterlegt werden. Beim Druck ist dann natürlich zu prüfen, ob dieser Drucker auch ansprechbar ist (%Printing ist seit 8 vorhanden). Andenfalls die Druckerliste in eine Listbox und prüfen, ob es diesen Drucker noch gibt.
' Drucker auflisten'Andreas Miethe * Juni 2003
DEF EnumPrinters(7) ! "WINSPOOL.DRV","EnumPrintersA"
DEF GetStandardPrinter(0) Substr$(ReadIni$("WIN.INI","Windows","Device"),1,",")
DEF &PRINTER_ENUM_LOCAL 2
DEF &PRINTER_ENUM_DEFAULT 1
DEF GetStandardPrinter2(0) ReadIni$("WIN.INI","Windows","Device")
Declare PrgDucker$
Declare DruckSeite&
Declare DruckerListe&
Declare x&, y&, x$, y$, x%, y%
Declare Old_Standard$, Old_Standard_rest$
cls
UseFont "ARIAL",16,0,0,0,0
SetDialogFont 1
'ACHTUNG : XProfan8 kennt bei Substr$ -1 noch nicht
' benötigt werden die beiden letzten Teile, also Anzahl bei "," ermitteln
Old_Standard$=GetStandardPrinter2()
x%=1
While 10
case Substr$(Old_Standard$,x%,",")="" :BREAK
inc x%
EndWhile
Old_Standard_rest$ = Substr$(Old_Standard$,(x%-2),",") + "," + Substr$(Old_Standard$,(x%-1),",")
locate 10,0
print x%
print GetStandardPrinter2()
'print Substr$(GetStandardPrinter2(),-2,",")
'print Substr$(GetStandardPrinter2(),-1,",")
print Old_Standard_rest$
DrawText 40,20,"Standard-Drucker: " + Old_Standard$
DrawText 40,36,"Drucker für diese Anwendung:"
DruckerListe&=Create("ChoiceBox", %hWnd, "", 40, 64, 280, 280)
EnumPrinters
DruckSeite&=CreateButton(%hwnd,"Druck Testseite",400,64,120,22)
While 0=0
WaitInput
If Getfocus(DruckerListe&)
PrgDucker$=GetText$(DruckerListe&)
DrawText 240,36," "
DrawText 240,36,PrgDucker$
ElseIf Getfocus(DruckSeite&)
If len(trim$(PrgDucker$)) = 0
MessageBox("Kein Drucker gewählt","Hinweis",32)
Else
DRUCKETEST
SetFocus(%hWnd)
EndIf
EndIf
EndWhile
End
Proc DRUCKETEST
Set_Std_Printer PrgDucker$ + "," +Old_Standard_rest$'auf PDF-Drucker schalten
StartPrint "TEST"
DrawText 40,10,"Drucker für diese Anwendung:"
EndPrint
Set_Std_Printer Old_Standard$'zurück auf Standard-Drucker
EndProc
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Proc Set_Std_Printer
Parameters PrinterString$
WriteIni "WIN.INI","Windows","Device"=PrinterString$
EndProc
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Drucker auflisten'Andreas Miethe * Juni 2003
Proc EnumPrinters
Declare Printername&,Portname&,PrinterName$,PortName$,Attribs&
Declare X&,dwNeeded&,dwReturned&, PrinterValues#
EnumPrinters(&PRINTER_ENUM_LOCAL,0,5,0,0,ADDR(dwNeeded&),ADDR(dwReturned&))
Dim PrinterValues#,dwNeeded&
Clear PrinterValues#
EnumPrinters(&PRINTER_ENUM_LOCAL ,0, 5, PrinterValues#, dwNeeded&, ADDR(dwNeeded&), ADDR(dwReturned&))
While X& < dwReturned&*20
Printername& = Long(PrinterValues#,x&)
PrinterName$ = String$(Printername&,0)
Attribs& = Long(PrinterValues#,x&+8)
'folgendes funzt bei mir unter XP nicht:
' If Attribs& & $4
' Printername$ = Printername$ + " => Standarddrucker"
' endif
@AddChoice(DruckerListe&, Printername$)
X& = X& + 20
EndWhile
Dispose PrinterValues#
Endproc
|
|
|
| |
|
|
|
liveFamilie | Hallo Thomas,
in deinem Code steht etwas von XProfan8 kennt das nicht. Ich weis nicht was du geändert hast (habe noch keine vergleiche angestellt) aber das funktioniert komischer Weise. Vielleicht habe ich auch bei den anderen Sachen (code auslesen und verändern für meine Bedürfnisse) einen Fehler gemacht. Dahe kann ich dir nur DANKEN.
Gruß Toni |
|
|
| XProfan 8"Profan das Besondere" was auch in einem gewissen Alter noch Spass macht und Fit hält. | 10.03.2012 ▲ |
|
|
|