| |
|
|
- Página 1 - |
|
Rolf Koch | Folgendes es otra vez veces no mi Stärke Hab una Tool programmiert, wo I una Drucker con el üblichen Apis zugreife. Mir fehlt a dato todavía irgendeine Möglichkeit si la Druckbefehl ankommt vorher el Inhalt auszulesen, bevor él druckt. Also así en el Art: Druckerseite en String. Einer una Concepto? Mir fällt en el Moment nix una |
|
|
| |
|
|
|
« Dieser Contribución wurde como Solución gekennzeichnet. » |
|
Andreas Miethe
| Rolf Koch (11/20/10)
So hatte vorm Konzert otra vez gekuckt y festgestellt, daß imprimir test&,wi&,he& Immer 0,0,0 printen. Naja veces gemütlich rangehen y studieren ^ ^
If fragt a el falschen Punto el Devmode-Struktur. Hoch oder Querformat es a Position 44 como word 1 oder 2
{$cleq}
$H Windows.ph
$H winspool.ph
DEF Get_STDPrinter(1) Substr$(ReadIni$("WIN.INI","Windows","Device"),@&(1),",")
DEF &PRINTER_CHANGE_JOB $FF00
DEF &INFINITE $FFFFFFFF
DEF &PRINTER_CHANGE_ADD_JOB $100
DEF OpenPrinterA(3) !"winspool.drv","OpenPrinterA"
DEF FindFirstPrinterChangeNotification(4) !"winspool.drv","FindFirstPrinterChangeNotification"
DEF FindNextPrinterChangeNotification(4) !"winspool.drv","FindNextPrinterChangeNotification"
DEF EnumJobsA(8) !"winspool.drv","EnumJobsA"
DEF FindClosePrinterChangeNotification(1) !"winspool.drv","FindClosePrinterChangeNotification"
DEF ClosePrinter(1) !"winspool.drv","ClosePrinter"
Declarar JOB_INFO_1#
Declarar druckername$,dokument$,dstring$
Declarar Ende%,lb&,old_count&,entry$,sounddir$,lizenz$
Declarar hicon&,cancel&,Title$,Versión$,config$
Declarar wav$,dateipfad$,belege$,wurde$,new$,abelege%
Var InfoBuffer& = 0
Var BytesNeeded& = 0
Var BytesReturned& = 0;
Var A& = 0
Var L& = 0
Var chgObject& = 0
Var pdwChange& = 0
Var fcnreturn& = 0
Var hPrinter& = 0
Var foundprint& = 0
Var Printer$ = Get_STDPrinter(1)
Var devmoaddr&=0
Var drv$=""
Var wi&=0
Var he&=0
Var Orientation&=0
Var test&=0
//Ventana de Estilo 64
CLS
imprimir usedll("winspool.drv")
imprimir printer$
imprimir OpenPrinterA(Addr(Printer$),Addr(hPrinter&),0)
imprimir hPrinter&
chgObject& = FindFirstPrinterChangeNotification(hPrinter&,&PRINTER_CHANGE_JOB, 0, 0)
imprimir chgObject&
dateipfad$=$progdir
dstring$="Drucktest.rtf"'Wordpad Expediente bajo Drucktest.rtf gespeichert para Test!
' Am besten una Filedruck auswählen, así uno kein Papier verbraucht.
settimer 50
Sinestar encargado Ende%
Waitinput
If %wmtimer
~WaitForSingleObject(chgObject&,150)'200 Millisekunden warten
fcnreturn& = FindNextPrinterChangeNotification(chgObject&, Addr(pdwChange&),0,0)
foundprint&=0
If fcnreturn&
If pdwChange& = &PRINTER_CHANGE_ADD_JOB
'Imprimir "neuer Druck-Job"
EnumJobsA(hPrinter&,0,1,2,0,0,Addr(BytesNeeded&),Addr(BytesReturned&))
Dim JOB_INFO_1#,BytesNeeded&
Repeat
EnumJobsA(hPrinter&,0,1,2,JOB_INFO_1#,BytesNeeded&,Addr(BytesNeeded&),Addr(BytesReturned&))
If BytesReturned&
'Localizar 0,0
druckername$=String$(Largo(JOB_INFO_1#,4),0)
dokument$=String$(Largo(JOB_INFO_1#,16),0)
foundprint&=1
devmoaddr&=Largo(JOB_INFO_1#,40)
test&=long(devmoaddr&,104)
wi&=long(devmoaddr&,108)
he&=long(devmoaddr&,112)
Orientation&=word(devmoaddr&,44)
drv$=cadena$(devmoaddr&,0)
EndIf
Until BytesReturned& = 0
If foundprint&=1
imprimir dokument$
imprimir dstring$
imprimir drv$
imprimir test&,wi&,he&
Imprimir If (Orientation& = 1,"Hochformat","Querformat")
If dokument$=dstring$
'playsound sounddir$+"doorbell.wav",1 'HIER SOUNDAUSGABE
PRINT "Jetzt sería el Lautsprecher Dingdong spielen"
EndIf
EndIf
EndIf
EndIf
EndIf
EndWhile
FindClosePrinterChangeNotification(chgObject&)
ClosePrinter(hPrinter&)
killtimer
End
|
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 20.11.2010 ▲ |
|
|
|
|
|
| Yo zumindest verstehe no tan completamente lo que quiere decir. ^ ^
Drucken es sí en el Grunde auch sólo en nem DC pinseln - Usted könntest antes EndPaint simplemente veces probieren de %pdc después de %hdc a kopieren.
¿Te ha algo como? |
|
|
| |
|
|
|
Rolf Koch | Lol Sorry - Nein Yo tener como doch una Programa en el Fa. laufen, welches erkennt, si una bestimmter Druckbefehl vorliegt, also si una Kunde bezahlt ha y el Ware abholen kommt. Yo el Druck sí no geschrieben, pero überwache sólo el Drucker. Also si lo así schreibst, se lo probablemente no posible ser, el Inhalt des a el Drucker gesandten Textes herauszubekommen, como es Grafik es? Vorher war el String a el Drucker eindeutig y lautete Warenausgabe.grp ahora lautet él sólo todavía JavaPrinting y dieser bezieht se auch en otro Vorgänge el el Drucker ausdruckt. Deshalb debería Yo zusätzliche Dinge herausfinden, welche se sólo en el Texto erkennen dejar welcher el Drucker rauswirft. |
|
|
| |
|
|
|
E.T. | Könnte uno el Drucken-Befehl no 2x veranlassen, 1x en Expediente (qué eigentl. cada Druckertreiber kann) y luego otra vez para Drucker ?? |
|
|
| Grüß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... | 17.11.2010 ▲ |
|
|
|
|
Rolf Koch | Nein Yo tener no Einfluss en el Drucker. Es el Firmensoftware y yo warte sólo en el Rampencomputer de. Como tener Yo nichts con a tun - absolut höhere Macht Im Moment erkenne Yo sí si una Druck kommt y erkenne el Dokumententitel y reagiere darauf. Lo debería also todavía zusätzlich qué geben como: Inhalt en Variable lesen - Verarbeiten .... Más kann Yo hay no hacer. |
|
|
| |
|
|
|
Rolf Koch | Wobei me lo así langsam después de Treibergeschichte aussieht, oder - entonces lasse Yo el Gedanken ahora más bien veces LOL. Hoffe, daß el no así es ^ ^ |
|
|
| |
|
|
|
E.T. | Si no puede a deinem RampenComputer el Drucker así einstellen, el dieser perm. en un Expediente druckt ?? Dies debería sí, unabhängig vom Programa, welches druckt, posible ser. Und entonces simplemente por eigenem Prog determinar, si una "Druckerdatei" vorliegt, esta auswerten y luego sólo ggf. para Drucker enviar (weglöschen y en el nächste warten) ??? |
|
|
| Grüß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... | 17.11.2010 ▲ |
|
|
|
|
Rolf Koch | Lol Yo glaub Yo kann mich no correcto ausdrücken. Puedo y darf como no simplemente einstellen en Expediente, porque hay wichtige Belege z.B. para el Unterschrift para el Edición a Kunden rauskommen. Puedo sí no el Expediente con el Gerät a el Edición nehmen ^ ^ P.S. Puedo also no simplemente Druck en Expediente einstellen. Höchste Ebene como dijo. |
|
|
| |
|
|
|
E.T. | Ah sí, Yo kappier lo: Usted könntest no veces beeinflussen, si una Druck en diesem oder jenem Drucker (en z.B. 2 Druckern) rauskommt. Das iss entonces nat. doof... |
|
|
| Grüß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... | 17.11.2010 ▲ |
|
|
|
|
Rolf Koch | Eben Mario así sieht lo de. Lo voluntad sí todavía wesentlich mehr Sachen hay encima Drucker gesendet. Lo muss wirklich Druckerinhalt después de Variable ser. Wenns no va mach Yo weitere Gedanken el Parámetro a Erkennung si el richtige Auftrag es a erkennen y verwerfe el jetzigen Gedanken. Wobei: Andreas Miethe war heut todavía no hier - LOOOOOOL - como setz Yo schwer Hoffnung rein ^ ^ |
|
|
| |
|
|
|
E.T. | Muss aber trotzdem otra vez dumm fragen (uno de hecho puede sólo aprender):
...Vorher war el String a el Drucker eindeutig y lautete Warenausgabe.grp ahora lautet él sólo todavía JavaPrinting....
Seh Yo el ahora falso, el vorher el Expediente "Warenausgabe.grp" a deinen Comp. para drucken geschickt wurde ?? ¿Puede du, si alles "JavaPrinting" heist, en el Expediente schauen (welche para Drucker gesendet se), si du una Dokumenten-Titel auslesen könntest ?? Oder darfst Si es usted el auch no...
(Nur veces así, weils mich interessiert...) |
|
|
| Grüß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... | 17.11.2010 ▲ |
|
|
|
|
Rolf Koch | Darum es sí. Vorher brauchte Yo no en el Expediente a schauen, welche el wichtigen auszufilternden Titel Warenausgabe.grp trug. Jetzt es vereinheitlicht worden y Titel lautet en vielen Teilen JavaPrinting. Somit se mi Aktion no sólo en Warenausgabe ausgeführt, pero en auch otro Druckaufträgen.
Usted schreibst sólo genau el Yo voluntad: Jetzt debería Yo en el Expediente schauen. Wir incluso schubsen esta Expediente pero no a, pero el kommt vom Server y.... y... y... - wir haben no Einfluss en el Expediente u.s.w. - el se de el Firmen Hauptanwendung generiert.
Apéndice: Der Dokumententitel es sí ahora JavaPrinting anstatt Warenausgabe.grp - beides el gleiche Verfahren. |
|
|
| |
|
|