View Single Post
Old 17-03-2003, 17:45   #5
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Certo che iniziare da zero con questi tipi di programmi nn è facile...sprattutto perchè cominciamo a toccare il campo delle API;

cmq se vuoi una mano scrivi bene cosa vorresti che facesse il programma...dopo di che ti incollo il codice e magari ne discutiamo assieme...intato ti metto una funziona per cercare tutti i file di una cartella:

Codice:
Option Explicit

Public Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Public Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Public Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long

Public Const MAX_PATH = 260

Public Type FILETIME
  dwLowDateTime     As Long
  dwHighDateTime    As Long
End Type

Public 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

Public Const FILE_ATTRIBUTE_DIRECTORY = &H10
Public Const FILE_ATTRIBUTE_NORMAL = &H80

____________________________________________________________

'sfolder=una cartella di ricerca
'sFileType=*.* tutti i file

Private Sub RicercaFile(ByVal sFolder As String, ByVal sFileType As String)

  Dim FindData          As WIN32_FIND_DATA
  Dim FindHandle        As Long
  Dim FindNextHandle    As Long
  Dim sStr              As String


  'trovo il primo file della directory selezionata
  FindHandle = FindFirstFile(sFolder & sFileType, FindData)

  If FindHandle <> 0 Then
    sStr = Left(FindData.cFileName, InStr(FindData.cFileName, Chr(0)) - 1)
    If not(FindData.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) Then
      lstFiles.AddItem sFolder & sStr
    End If
  End If

  'loop fino all'ultimo dei files
  If FindHandle <> 0 Then
    Do
      FindNextHandle = FindNextFile(FindHandle, FindData)
      If FindNextHandle <> 0 Then
        sStr = Left(FindData.cFileName, InStr(FindData.cFileName, Chr(0)) - 1)
        If not(FindData.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) Then
        lstFiles.AddItem sFolder & sStr
        End If
      Else
        Exit Do
      End If
    Loop
  End If
ciaoooooooooooooo
matpez è offline   Rispondi citando il messaggio o parte di esso