Español
Foro

Druck Página Inhalt auslesen

 
- 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
 
17.11.2010  
 



 
- Página 5 -


« Dieser Contribución wurde como Solución gekennzeichnet. »

- Página 4 -



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  
 




Rolf
Koch
Leider es el Thema doch no hecho. Alles otro en el Arbeit kapiert lo schön, de wegen Quer y Hochformat. Ausser genau dieses Teil Yo unterscheiden muss, restos con otro Ausdrucken igual y schreibt: Hochformat. Also muss Todavía una otro Solución encontrar, como Inhalt lesen más o menos
 
22.11.2010  
 




Rolf
Koch
Apéndice: Wobei Yo no weis, como entonces el Querformat herstellen y drucken en el Anwendung. Bin mich al druchkämpfen en el Api's.
Irgendwas muss lo geben en herauszubekommen, en gleichem Titel algo unterschiedliches en el Druckdokument para encontrar. Lo son doch eigentlich nichts, qué no va, oder?
 
23.11.2010  
 



Yo weiß ahora no ad hoc como groß el DevMode es aber vlt. könntest Usted veces Dumps su Blockwriten como de los JobInfo1..3-Guardar.

Das klärt imho zwar no el Auslesen el Druckersteuerzeichen aber hilft sólo beim Vergleichen.
 
23.11.2010  
 




Rolf
Koch
Yo werd todavía verrückt.
Neues Problema, obwohl el Programa en el Form seit langer Tiempo se ejecuta.
Programa startet morgens en 09:00 y para 3ten veces bekomme Yo así en 19:00 Uhr una Meldung: Bereichsvariable no dimensioniert. Komisch. Lo son sí sólo una Bereichsvariable y el es dimensioniert. Code liegt sí hier antes. Aber por qué después de así langer Tiempo?
Yo poner sí una Temporizador en 50. Ob lo qué con diesem a tun ha? Wäre unlogisch, aber posible es alles.
Lo se auch kein Disponer genutzt, lt. Ayuda gestattet, lo se also siempre neu Dim benutzt. Aber si vlcht. daran liegt?
 
23.11.2010  
 



Rolf Koch (23.11.10)

Yo werd todavía verrückt.


Haha!

Rolf Koch (23.11.10)

Neues Problema, obwohl el Programa en el Form seit langer Tiempo se ejecuta.


El vorherige Versión o Neuere?

Rolf Koch (23.11.10)

Programa startet morgens en 09:00 y para 3ten veces bekomme Yo así en 19:00 Uhr una Meldung: Bereichsvariable no dimensioniert. Komisch. Lo son sí sólo una Bereichsvariable y el es dimensioniert. Code liegt sí hier antes. Aber por qué después de así langer Tiempo?


Im Code es Dim JOB_INFO_1#,BytesNeeded& - si BytesNeeded& 0 es?

Denn Fall sería Yo abprüfen.
 
23.11.2010  
 




Rolf
Koch
El neue Versión. Aber kann lo 0 ser? - porque sí hay ya una Druckauftrag vorliegt.
 
23.11.2010  
 



Es es imho no geschrieben el hay siempre Werte > 0 ankommen. ^ ^

El Meldung jedenfalls puede ser con:
KompilierenMarcaSeparación"provozieren".
 
23.11.2010  
 




Rolf
Koch
Aja, grad veces en el Taskmanager beobachtet. Immer si una Druck erkannt wurde y fertig es, así steigt el Speicher en mind. 4k ??? Muss Yo wohl doch algo liberación.
 
23.11.2010  
 




Rolf
Koch
Stimmt IF el Meldung kommt. Müsste Yo also todavía si un drumrumbasteln, si bytesneeded = 0lig es ^ ^
 
23.11.2010  
 



Rolf Koch (23.11.10)

Aja, grad veces en el Taskmanager beobachtet. Immer si una Druck erkannt wurde y fertig es, así steigt el Speicher en mind. 4k ??? Muss Yo wohl doch algo liberación.


Im obigen Code es el Dim en el Hauptprogramm wo el zugehörige Variable sólo 1veces deklariert y siempre bekannt es - si el en el real Programa aber en uno Función ablaufen lässt entonces fehlt natürlich una disponer. ^ ^
 
23.11.2010  
 




Rolf
Koch
Das Dim y el Variable se sí sólo en el Hauptprogramm genutzt. Obiger Code es fast el identische. Puesto que hay no mehr viel mehr.
 
23.11.2010  
 




Rolf
Koch
Yo ahora veces
KompilierenMarcaSeparación
if bytesneeded& > 0

    Dim JOB_INFO_1#,BytesNeeded&
    ..............
    ..............

endif

reingehauen. Mal kucken auf der Arbeit, was passiert.
Danke iF für die Idee :-pan>
 
23.11.2010  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

52.519 Views

Untitledvor 0 min.
Christof Neuß20.05.2018
Manfred Barei26.07.2015
Uwe Lang06.09.2013
Pauli14.05.2013
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie