Page 1 sur 1

Problèle de tableau avec structure pour un RES

Publié : mar. 20/oct./2009 12:19
par GallyHC
Bonjour tous,

J‘ai encore un problème. J’essais d’adapte mon code sur la RAPI.dll en un RES utilisable directement par PB et JaPBe. Mon problème et le suivant, Comme cela est une DLL la seule chose que je peux faire appel est ProcedureDLL.

Maintenant dans la fonction PureRAPI_GetListFiles() me permet d’alimente un tableau avec toute les données des fichiers, qui a la structure suivante :

Code : Tout sélectionner

Structure CE_FIND_DATA
  dwFileAttributes.l
  ftCreationTime.FILETIME
  ftLastAccessTime.FILETIME
  ftLastWriteTime.FILETIME
  nFileSizeHigh.l
  nFileSizeLow.l
  dwOID.l
  cFileName.s{256}
EndStructure
Global Dim PureRAPI_GetFileList.CE_FIND_DATA(0)
Maintenant pour pouvoir avoir les informations des fichier il me faut une ProcedureDLL, ce que j’ai fait comme ceci :

Code : Tout sélectionner

ProcedureDLL.b PureRAPI_GetFileInfo(lindex.l)
; ENVOIS LES INFORMATIONS DU FICHIER.
  If lindex => 0 And lindex <= PureRAPI_GetFileCount
    ProcedureReturn PureRAPI_GetFileList(lindex)
  EndIf

EndProcedure
Mon problème est que PureRAPI_GetFileList est un tableau avec structure et quand j’aissais de faire appel a mes fonctions, j’ai des erreurs, voici un exemple de comment je le fais :

Code : Tout sélectionner

PureRAPI_GetListFiles("\")
For i=0 To PureRAPI_GetFileCount()
  Debug PureRAPI_GetFileInfo(i)\cFileName 
Next i
Merci d’avance à tous,
GallyHC

Re: Problèle de tableau avec structure pour un RES

Publié : mar. 20/oct./2009 15:19
par Le Soldat Inconnu
Ça ne marchera jamais comme ça :)

plutôt comme ça

Code : Tout sélectionner

Structure CE_FIND_DATA
  dwFileAttributes.l
  ftCreationTime.FILETIME
  ftLastAccessTime.FILETIME
  ftLastWriteTime.FILETIME
  nFileSizeHigh.l
  nFileSizeLow.l
  dwOID.l
  cFileName.s{256}
EndStructure
Global Dim PureRAPI_GetFileList.CE_FIND_DATA(0)

ProcedureDLL.b PureRAPI_GetFileInfo(lindex.l, *FileInfo)
	; ENVOIS LES INFORMATIONS DU FICHIER.
  If lindex => 0 And lindex <= PureRAPI_GetFileCount
    CopyMemory(@PureRAPI_GetFileList(lindex), *FileInfo, SizeOf(CE_FIND_DATA))
	EndIf
	
EndProcedure

PureRAPI_GetListFiles("\")
For i=0 To PureRAPI_GetFileCount()
  PureRAPI_GetFileInfo(i, @FileInfo.CE_FIND_DATA)
	Debug FileInfo\cFileName
Next i

Re: Problèle de tableau avec structure pour un RES

Publié : mar. 20/oct./2009 16:22
par GallyHC
Bonjour tous,

Merci Le Soldat Inconnu pour ton aide. La DLL Res sera bientot prête, il me faut faire encore la ou les doc(s) (Fr, Uk).

Cordialement,
GallyHC