Français
Forum

Druck page le contenu auslesen

 
- page 1 -



Rolf
Koch
Folgendes ist wieder la fois pas mon Stärke
Hab un Tool programmiert, wohin je sur une Drucker avec den habituel Apis zugreife.
Mir fehlt jusqu'à dato encore irgendeine Possibilité si qui Druckbefehl ankommt auparavant den le contenu auszulesen, bevor il druckt.
alors so dans qui Art: Druckerseite dans String.
Einer une concept? Mir fällt im Moment nix un
 
17.11.2010  
 



 
- page 5 -


« cette Beitrag wurde comme Solution gekennzeichnet. »

- page 4 -



Andreas
Miethe


Rolf Koch (11/20/10)
So hatte vorm Konzert nochmal gekuckt et festgestellt, qui
imprimer test&,wi&,he&
toujours 0,0,0 printen.
bof la fois gemütlich rangehen et étudier ^ ^


Si fragt à qui falschen Stelle qui Devmode-Struktur.
Hoch ou bien Querformat steht à Position 44 comme word 1 ou bien 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"
Déclarer JOB_INFO_1#
Déclarer druckername$,dokument$,dstring$
Déclarer Ende%,lb&,old_count&,entry$,sounddir$,lizenz$
Déclarer hicon&,cancel&,Title$,Version$,config$
Déclarer 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
//Fenêtre Style 64
CLS
imprimer usedll("winspool.drv")
imprimer printer$
imprimer OpenPrinterA(Addr(Printer$),Addr(hPrinter&),0)
imprimer hPrinter&
chgObject& = FindFirstPrinterChangeNotification(hPrinter&,&PRINTER_CHANGE_JOB, 0, 0)
imprimer chgObject&
dateipfad$=$progdir
dstring$="Drucktest.rtf"'Wordpad Dossier sous Drucktest.rtf gespeichert pour Test!
' Am besten une Filedruck auswählen, avec cela on ne...aucune papier usé.
settimer 50

WhileNot Ende%

    Waitinput

    Si %wmtimer

        ~WaitForSingleObject(chgObject&,150)'200 Millisekunden attendre
        fcnreturn& = FindNextPrinterChangeNotification(chgObject&, Addr(pdwChange&),0,0)
        foundprint&=0

        Si fcnreturn&

            Si pdwChange& = &PRINTER_CHANGE_ADD_JOB

                'Imprimer "neuer Druck-Job"
                EnumJobsA(hPrinter&,0,1,2,0,0,Addr(BytesNeeded&),Addr(BytesReturned&))
                Faible JOB_INFO_1#,BytesNeeded&

                Repeat

                    EnumJobsA(hPrinter&,0,1,2,JOB_INFO_1#,BytesNeeded&,Addr(BytesNeeded&),Addr(BytesReturned&))

                    Si BytesReturned&

                        'Localiser 0,0
                        druckername$=String$(Long(JOB_INFO_1#,4),0)
                        dokument$=String$(Long(JOB_INFO_1#,16),0)
                        foundprint&=1
                        devmoaddr&=Long(JOB_INFO_1#,40)
                        test&=long(devmoaddr&,104)
                        wi&=long(devmoaddr&,108)
                        he&=long(devmoaddr&,112)
                        Orientation&=word(devmoaddr&,44)
                        drv$=string$(devmoaddr&,0)

                    EndIf

                Until BytesReturned& = 0

                Si foundprint&=1

                    imprimer dokument$
                    imprimer dstring$
                    imprimer drv$
                    imprimer test&,wi&,he&
                    Imprimer Si (Orientation& = 1,"Hochformat","Querformat")

                    Si dokument$=dstring$

                        'playsound sounddir$+"doorbell.wav",1 'ICI SOUNDAUSGABE
                        PRINT "Jetzt serait qui le haut-parleur Dingdong spielen"

                    EndIf

                EndIf

            EndIf

        EndIf

    EndIf

Endwhile

FindClosePrinterChangeNotification(chgObject&)
ClosePrinter(hPrinter&)
killtimer
Fin
 
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
malheureusement ist cela Thema doch pas erledigt. Alles autre sur qui travail kapiert es joli, de à cause de Quer et Hochformat. Ausser oui c'est ca cet partie quoi je unterscheiden muss, bleibt avec anderen Ausdrucken juste et écrit: Hochformat. alors muss je doch une autre Solution trouver, comment le contenu lesen ou bien so
 
22.11.2010  
 




Rolf
Koch
Nachtrag: Wobei je pas weis, comment qui ensuite cela Querformat herstellen et drucken dans qui Anwendung. suis mich am druchkämpfen dans den Api's.
Irgendwas muss es donner um herauszubekommen, chez gleichem Titel irgendwas différent im Druckdokument pour trouver. il y a doch eigentlich rien, quoi pas allez, ou bien?
 
23.11.2010  
 



je sais maintenant pas ad hoc comment grand qui DevMode ist mais vlt. könntest Du la fois Dumps en Blockwriten aussi de den JobInfo1..3-Sauver.

cela klärt imho zwar pas cela Lecture qui Druckersteuerzeichen mais hilft arrêt beim comparer.
 
23.11.2010  
 




Rolf
Koch
je werd encore fou.
Neues Problem, quoique cela Programme dans qui forme depuis long Zeit fonctionne.
Programme startet le matin um 09:00 et zum 3ten la fois bekomme je so um 19:00 montre une annonce: Bereichsvariable pas dimensioniert. Komisch. il y a oui seulement une Bereichsvariable et qui ist dimensioniert. Code liegt oui ici avant. mais pourquoi pour so long Zeit?
je mets oui une Minuteur sur 50. si es quoi avec diesem trop 1faire hat? Wäre unlogisch, mais possible ist alles.
Es wird aussi ne...aucune Dispose genutzt, lt. Aider gestattet, es wird alors toujours récente Faible benutzt. mais si es vlcht. daran liegt?
 
23.11.2010  
 



Rolf Koch (23.11.10)

je werd encore fou.


Haha!

Rolf Koch (23.11.10)

Neues Problem, quoique cela Programme dans qui forme depuis long Zeit fonctionne.


qui vorherige Version ou bien qui Neuere?

Rolf Koch (23.11.10)

Programme startet le matin um 09:00 et zum 3ten la fois bekomme je so um 19:00 montre une annonce: Bereichsvariable pas dimensioniert. Komisch. il y a oui seulement une Bereichsvariable et qui ist dimensioniert. Code liegt oui ici avant. mais pourquoi pour so long Zeit?


Im Code steht Faible JOB_INFO_1#,BytesNeeded& - si BytesNeeded& 0 ist?

car le cas serait je abprüfen.
 
23.11.2010  
 




Rolf
Koch
qui neue Version. mais peux es 0 son? - weil oui là bereits un Druckauftrag vorliegt.
 
23.11.2010  
 



c'est steht imho pas geschrieben cela là toujours Werte > 0 arriver. ^ ^

qui annonce jedenfalls peux on avec:
KompilierenMarqueSéparation"provozieren".
 
23.11.2010  
 




Rolf
Koch
Aja, grad la fois im Taskmanager beobachtet. toujours si un Druck erkannt wurde et fertig ist, so steigt qui grenier um mind. 4k ??? Muss je wohl doch quelque chose freigeben.
 
23.11.2010  
 




Rolf
Koch
Stimmt iF qui annonce venez. Müsste je alors encore un si drumrumbasteln, si bytesneeded = 0lig ist ^ ^
 
23.11.2010  
 



Rolf Koch (23.11.10)

Aja, grad la fois im Taskmanager beobachtet. toujours si un Druck erkannt wurde et fertig ist, so steigt qui grenier um mind. 4k ??? Muss je wohl doch quelque chose freigeben.


Im obigen Code steht cela Faible im Hauptprogramm wohin qui zugehörige Variable seulement 1la fois deklariert et toujours bekannt ist - si Du cela im réel Programme mais dans einer Funktion ablaufen peut ensuite fehlt naturellement un dispose. ^ ^
 
23.11.2010  
 




Rolf
Koch
cela Faible et qui Variable wird oui seulement im Hauptprogramm genutzt. Obiger Code ist presque qui identische. là gibt es pas plus viel plus.
 
23.11.2010  
 




Rolf
Koch
je hab maintenant la fois
KompilierenMarqueSéparation
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  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

47.240 Views

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

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie