Pages: 1
- Sujet précédent - Mapbasic : chercher une liste de fichier dans un repertoire - Sujet suivant
#1 Wed 19 May 2004 14:52
- Gturgis
- Invité
Mapbasic : chercher une liste de fichier dans un repertoire
Encore un petit probleme, apres promis, j'arrete.
Toujours pour mon .mb d'import de dwg, j'utilise une multilist box afin d'effectuer toute la procedure d'import pour plusieurs fichiers autocad. L'operateur choisi dans cette liste les fichiers souhaites.
Or je ne sais pas s'il est possible de faire une boucle recherchant ces fichiers sur un repertoire depuis Mapbasic.
Si c'est possible, comment ?
Merci beaucoup pour la reponse
#2 Fri 21 May 2004 11:59
- Christophe Barbier
- Invité
Re: Mapbasic : chercher une liste de fichier dans un repertoire
Oui, il faut utiliser les API FindFirstFile et FindNextFile
Voici un exemple de code:
-------
Define MAX_PATH 260
Define INVALID_HANDLE_VALUE -1
Type FILETIME
dwLowDateTime As Integer
dwHighDateTime As Integer
End Type
Type WIN32_FIND_DATA
dwFileAttributes As Integer
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Integer
nFileSizeLow As Integer
dwReserved0 As Integer
dwReserved1 As Integer
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type
Declare Function FindFirstFile Lib kernel32 Alias FindFirstFileA (ByVal
lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Integer
Declare Function FindNextFile Lib kernel32 Alias FindNextFileA (ByVal
hFindFile As Integer, lpFindFileData As WIN32_FIND_DATA) As Integer
Sub get_FilesFromDirectory(filelist() As WIN32_FIND_DATA, ByVal spath As String)
Dim Found As WIN32_FIND_DATA
Dim Retval, hFile As Integer
Dim i As Integer
hFile = FindFirstFile(spath, Found)
If hFile = INVALID_HANDLE_VALUE Then ' Print Ce chemin ne contient ni dossiers ni fichiers.
Exit Sub
End If
i=0
Do
Do Case Found.dwFileAttributes
' Dossier
Case 16
If Found.cFileName
...
End Case
Loop
Pages: 1
- Sujet précédent - Mapbasic : chercher une liste de fichier dans un repertoire - Sujet suivant