PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → prob. de recuperation param spool
prob. de recuperation param spool
Started by romain.frebourg, Apr., 10 2006 2:36 PM - No answer
Posted on April, 10 2006 - 2:36 PM
Bonjour,

Je ne trouve pas la syntaxe pour recuperer les paramètre défini dans la stucture SYSTEMTIME, au travers de la structure JOB_INFO_2A.

Dans JOB_INFO_2A on a la definition d'une variable pointant sur la structure SYSTEMTIME.

SYSTEMTIME est une structure
wYear est un entier sur 2 octets //Type C : WORD
wMonth est un entier sur 2 octets //Type C : WORD
wDayOfWeek est un entier sur 2 octets //Type C : WORD
wDay est un entier sur 2 octets //Type C : WORD
wHour est un entier sur 2 octets //Type C : WORD
wMinute est un entier sur 2 octets //Type C : WORD
wSecond est un entier sur 2 octets //Type C : WORD
wMilliseconds est un entier sur 2 octets //Type C : WORD
FIN

JOB_INFO_2A est une structure
...
submitted est un SYSTEMTIME
...
FIN

Je souhaite recuperer les paramètres wHour, ...

pour récuperer les paramètres present dans la structure JOB_INFO_2A j'utilise la syntaxe suivante :

SI nRetourFonction > 0 ALORS
//Lance une fois pour obtenir le nombre d'octet dont on a besoin : pcbNeeded
hPrinter=hdprint //attribution du handle creé par OpenPrint
FirstJob=0
NoJobs00
Level=2
cbBuf=1
nRetourFonction=API("WINSPOOL.DRV","EnumJobsA",hPrinter,FirstJob,NoJobs,Level,&pJob,cbBuf,&pcbNeeded,&pcReturned)
//LAnce une seconde fois pour obtenir le nombre de job dans la file d'attente : pcReturned
nRetourFonction=API("WINSPOOL.DRV","EnumJobsA",hPrinter,FirstJob,NoJobs,Level,&pJob,pcbNeeded,&pcbNeeded,&pcReturned)

nnbdoc est un entier
nnbdoc=pcReturned //Attribution du nombre de Job à la variable nnbdoc

//Si la fonction à fonctionné
SI nRetourFonction > 0 ALORS
SI nnbdoc > 0 ALORS
POUR z=1 A nnbdoc
SI z=1 ALORS
sListedesfichier="pPrinterName;pUserName;pDocument;pNotifyName;pParameters;pDriverName;pStatus;StartTime;UntilTime;TotalPages;Size;PagePrinted"+CRLF
SINON
sListedesfichier += CRLF
FIN
SI pJob[z]:pPrinterName<>0 ALORS Transfert(&Buf,pJob[z]:pPrinterName,2047);sListedesfichier += Buf+";"
SI pJob[z]:pUserName<>0 ALORS Transfert(&Buf,pJob[z]:pUserName,2047);sListedesfichier += Buf+";"
SI pJob[z]:pDocument<>0 ALORS Transfert(&Buf,pJob[z]:pDocument,2047);sListedesfichier += Buf+";"
SI pJob[z]:pNotifyName<>0 ALORS Transfert(&Buf,pJob[z]:pNotifyName,2047);sListedesfichier += Buf+";"
SI pJob[z]:pParameters<>0 ALORS Transfert(&Buf,pJob[z]:pParameters,2047);sListedesfichier += Buf+";"
SI pJob[z]:pDriverName<>0 ALORS Transfert(&Buf,pJob[z]:pDriverName,2047);sListedesfichier += Buf+";"
SI pJob[z]:pStatus<>0 ALORS Transfert(&Buf,pJob[z]:pStatus,2047);sListedesfichier += Buf+";"
SI pJob[z]:StartTime<>0 ALORS Transfert(&Buf,pJob[z]:StartTime,2047);sListedesfichier += Buf+";"
SI pJob[z]:UntilTime<>0 ALORS Transfert(&Buf,pJob[z]:UntilTime,2047);sListedesfichier += Buf+";"
Nbpg est un entier=PJob[z]:TotalPages
sListedesfichier += Nbpg+";"
sizeoctet est un entier=PJob[z]:Size
sListedesfichier += sizeoctet+";"
nPagprinted est un entier=pJob[z]:PagesPrinted
sListedesfichier += nPagprinted+";"
/// sListedesfichier += pJob[z]
// dTete est une date=pJob[z]:Submitted
// sListedesfichier += dtete
// pJob[z]:Submitted



//sListedesfichier += PJob[z]:pDevMode

// SI pJob[z]:Size<>0 ALORS Transfert(&Buf,pJob[z]:Size,2047);sListedesfichier += Buf+";"
// SI pJob[z]:Time<>0 ALORS Transfert(&Buf,pJob[z]:Time,2047);sListedesfichier += Buf+";"
// SI pJob[z]:PagesPrinted<>0 ALORS Transfert(&Buf,pJob[z]:PagesPrinted,2047);sListedesfichier += Buf+";"

FIN
//Fermeture de la connexion à l'imprimante
API("WINSPOOL.DRV","ClosePrinter",hPrinter)
SINON
//Fermeture de la connexion à l'imprimante
API("WINSPOOL.DRV","ClosePrinter",hPrinter)
Info("echec1 nbdoc pas supérieur à zero")
FIN
SINON
//Fermeture de la connexion à l'imprimante
API("WINSPOOL.DRV","ClosePrinter",hPrinter)
Info("echec2 la fonction API n'a pas fonctionné")
FIN
SINON
Info("Impossible d'ouvrir l'imprimante")
FIN


Comment fait-on pour recuperer les paramètres d'une structure dans une structure :
Une syntaxe dans le style :
pJob[z]:Submitted:wYear
mais cela ne fonctionne pas