Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.
  • Index
  •  » Powerscripts
  •  » Utilisation de la fonction GetFileTime dans Kernel32.dll

#1 10-09-2007 14:56:16

Dropy  
crazy gamer
Award: droopy
Lieu: Chennevières-sur-Marne (94)
Date d'inscription: 02-06-2006
Messages: 58
Pépites: 11,147,483,159
Banque: 1,396,436,536,086,928,200

Utilisation de la fonction GetFileTime dans Kernel32.dll

Bonjour à tous,

J'essaie désespérément d'utiliser cette fonction, mais je dois passer à côté d'un ch'tit quelque chose...

Je déclare bien une structure contenant deux unsignedLong,
Mais après mon OpenFile, rien à faire, le retour reste à FALSE:

Code: pb

str_filedatetime   lstr_creation,  &
    lstr_last_access,  &
    lstr_last_update
Int    li_fileopen
boolean    lb_test

li_fileopen  =  FileOpen ('C:\Temp\truc.txt', LineMode!, Read!)
lb_test  =  GetFileTime (li_fileopen, ldt_creation, ldt_last_access, ldt_last_update)
FileClose (li_fileopen)

Si quelqu'un à une idée...
Merci!

Hors ligne

 

#2 10-09-2007 15:43:05

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Utilisation de la fonction GetFileTime dans Kernel32.dll

Bonsoir, trouvé sur les newgroups (NB : il faut utiliser une structure pour les dates)

Code: pb

// STRUCTURE
type os_filedatetime from structure
unsignedlong ul_lowdatetime
unsignedlong ul_highdatetime
end type

// EXTERNAL FUNCTION
Function boolean GetFileTime(long hFile, ref os_filedatetime lpCreationTime, &
 ref os_filedatetime lpLastAccessTime, ref os_filedatetime lpLastWriteTime ) &
library "KERNEL32.DLL"

// APPEL
os_filedatetime dt_creationTime
os_filedatetime dt_lastAccessTime
os_filedatetime dt_lastWriteTime

ll_file = FileOpen("c:\LOGFILE.txt")
lb_return =
GetFileTime(ll_file,dt_creationTime,dt_lastAccessTime,dt_lastWriteTime)

FileClose(ll_file)

N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#3 11-09-2007 09:44:44

Dropy  
crazy gamer
Award: droopy
Lieu: Chennevières-sur-Marne (94)
Date d'inscription: 02-06-2006
Messages: 58
Pépites: 11,147,483,159
Banque: 1,396,436,536,086,928,200

Re: Utilisation de la fonction GetFileTime dans Kernel32.dll

Re-bonjour,

Oui, la structure, je l'avais déjà. La seul différence entre ce que tu as trouvé et ce que j'ai, c'est la déclaration du type de hfile dans la fonction. Moi j'avais trouvé une doc avec un ulong et non un long.
En désespoir de cause, j'ai également transformé mon integer en long (la variable qui attrape le code retour de FileOpen), mais là, j'ai carrément un RunTimeError... Donc l'integer, c'est bien...
Donc ça ne marche toujours pas. Je suis en PB 10 (oui, j'ai rajouté l'alias for ).
help

(et pardon pour la mauvaise balise de code... )

Hors ligne

 

#4 12-09-2007 13:50:20

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: Utilisation de la fonction GetFileTime dans Kernel32.dll

As tu ajouté ";ansi" derrière le "KERNEL32.DLL" pour obtenir "KERNEL32.DLL;ansi" dans la déclaration de ton API ?


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#5 12-09-2007 13:56:50

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: Utilisation de la fonction GetFileTime dans Kernel32.dll

Chrnico a écrit:

As tu ajouté ";ansi" derrière le "KERNEL32.DLL" pour obtenir "KERNEL32.DLL;ansi" dans la déclaration de ton API ?

et avec GetFileTimeA  ?


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#6 12-09-2007 14:22:19

Dropy  
crazy gamer
Award: droopy
Lieu: Chennevières-sur-Marne (94)
Date d'inscription: 02-06-2006
Messages: 58
Pépites: 11,147,483,159
Banque: 1,396,436,536,086,928,200

Re: Utilisation de la fonction GetFileTime dans Kernel32.dll

Avec "KERNEL32.DLL;ansi", j'ai une runtime error

Et avec GetFileTimeA  unknown function

Quelqu'un a-t'il essayé sur son poste?

Hors ligne

 

#7 12-09-2007 15:03:01

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: Utilisation de la fonction GetFileTime dans Kernel32.dll

Dropy a écrit:

Avec "KERNEL32.DLL;ansi", j'ai une runtime error

Et avec GetFileTimeA  unknown function

Quelqu'un a-t'il essayé sur son poste?

LIBRARY "Kernel32.dll" ALIAS FOR "GetFileTimeA;ansi"


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#8 12-09-2007 16:03:37

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: Utilisation de la fonction GetFileTime dans Kernel32.dll

pick ouic a écrit:

Dropy a écrit:

Avec "KERNEL32.DLL;ansi", j'ai une runtime error

Et avec GetFileTimeA  unknown function

Quelqu'un a-t'il essayé sur son poste?

LIBRARY "Kernel32.dll" ALIAS FOR "GetFileTimeA;ansi"

Oups, merci Pick.
Effectivement le ansi se met dans l'alias.
Faut que j'arrête la glace ça me tourne la tête


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#9 13-09-2007 08:43:41

Dropy  
crazy gamer
Award: droopy
Lieu: Chennevières-sur-Marne (94)
Date d'inscription: 02-06-2006
Messages: 58
Pépites: 11,147,483,159
Banque: 1,396,436,536,086,928,200

Re: Utilisation de la fonction GetFileTime dans Kernel32.dll

Oui, c'est comme ça que l'écris aussi... Pour info j'utilise déjà d'autres fonctions de Kernel32.dll qui fonctionnent très bien avec cette syntaxe.
Cette fonction là, bien qu'elle existe, semble attendre autre chose... mais quoi?

Hors ligne

 

#10 13-09-2007 09:29:32

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: Utilisation de la fonction GetFileTime dans Kernel32.dll

ca marche mieux avec cet exemple... testé et approuvé !

http://64.18.163.122/rgagnon/pbdetails/pb-0205.html


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 
  • Index
  •  » Powerscripts
  •  » Utilisation de la fonction GetFileTime dans Kernel32.dll

Pied de page des forums

Propulsé par FluxBB 1.2.22