PRINCIPALE > LISTA DELLE AREE DI DISCUSSIONE > VISUAL BASIC: DOMANDE GENERALI > MESSAGGIO

Eseguire una ricerca veloce nell' archivio delle risorse di Visual Basic Italia®: 

Preso dall'archivio...

Premere il pulsante sotto per accedere direttamente ad un articolo o ad un esempio preso in modo casuale dall'archivio.

Ultimo e-book pubblicato:

"INTRODUZIONE AI CSS"

Lo scopo del CSS language è quello di controllare lo stile dei vari elementi che concorrono a formare un
documento HTML.
Si può operare in tre modi collegamento ad un foglio di stile esterno;definizione degli stili all'inizio
del documento utilizzo della proprietà style all'interno di un Tag HTML (embedded style). Questo e-book introduttivo
servirà per apprendere tali nozioni fondametali dei fogli di stile.


Prezzo: € 0.0.

Presentazione:
REAL SOFTWARE RILASCIA LA VERSIONE 5.0 di REALbasic per Windows






Gorizia, 5 maggio 2003 - Active, distributore in esclusiva di REALSoftware, Austin, Tx, annuncia la disponibilità di REALbasic 5.0 per Windows, uno strumento per lo sviluppo semplice da usare che permette agli utenti Windows di tutti i livelli di creare applicazioni personalizzate e di compilarle sia per la piattaforma Windows che per quella Macintosh.
[>>]

http://www.active-software.com

Contatti. Utilizzare l'email generica per domande relative al sito:
Porre domande relative al sito
oppure scrivere ad un responsabile di area.
Responsabile del sito: >Andrea Martelli
Responsabile area "Corso di VB":
> Giorgio Abraini

Messaggio



prolema api FindFirstFile FindNextFile
mario**** 10/01/2007
Difficoltà: Principiante

Salve sono un neofita di visual basic, il mio problema è il seguente volevo realizzare un programmino che mi listasse tutti i file presenti in un cd per far ciò curiosando qua e la ho trovato lo spunto per utilizzare le api FindFirstFile FindNextFile FindClose
il problema è che quando lo lancio mi entra in un loop infinito chi mi puo aiutare? grazie in anticipo
Questo è il listato



Option Explicit

Const MAX_PATH = 260

Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type

Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
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 Long
Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long


__________________________________________________
Public Function scovadir(InizioDir As String) As Boolean


Static fboolean As Boolean
Static f As WIN32_FIND_DATA
Dim hfile As Long
Static Sfnome As String



hfile = FindFirstFile(InizioDir & "*.*", f)



Call scovatuttifile(InizioDir)

Do
DoEvents

Sfnome = TagliaNull(f.cFileName)

If f.dwFileAttributes = 17 Then

Call scovadir(InizioDir & "\" & (Sfnome))

End If


Loop While FindNextFile(hfile, f)

fboolean = FindClose(hfile)


End Function


_____________________________________________________


Public Sub scovatuttifile(InizioDir As String)

Static Sfnome As String
Dim hfile As Long
Static f As WIN32_FIND_DATA
Static fboolean As Boolean


hfile = FindFirstFile(InizioDir & "*.*", f)

Do
DoEvents
Sfnome = TagliaNull(f.cFileName)
If f.dwFileAttributes <> 17 Then
Form1.List1.AddItem (InizioDir & Sfnome)

End If




Loop While FindNextFile(hfile, f)

fboolean = FindClose(hfile)

End Sub


_______________________________________________________


Public Function TagliaNull(startstr As String) As String

Dim pos As Integer
pos = InStr(startstr, Chr$(0))
If pos Then
TagliaNull = Left$(startstr, pos - 1)
Exit Function
End If
TagliaNull = startstr

End Function