Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: lista plików w katalogu
Tigrisek



Typ: neutral
Postów: 91
Zarejestrowany: Jul 2002
lista plików w katalogu

zapewne jest siakaś funkca API, ale nie mogłem jej namierzyć - HELP

powiedzmy ze do zmiennej pliki(x) powrzuca wszystkie nazwy plików z katalogu "C:\katalog"

16-05-2003 12:58
Pokaż profil Tigrisek  Wyślij email do Tigrisek        107040
napadlek
Ciapek



Typ: neutral
Postów: 117
Zarejestrowany: Feb 2003

'----------------------------------

Public Sub Szukaj(Wzor$)
'Szukamy zbiorów w katalogu "Wzor$"
Dim d As WIN32_FIND_DATA
Dim x As Long
Dim b As Boolean
Dim j As String
Dim Licz As Integer
Dim Pliki() As String
x = FindFirstFile(Wzor$, d)
Licz = 0
If x = -1 Then
Debug.Print "Błąd wyszukiwania!"
Exit Sub
Else
Do
j = InStr(d.cFileName, Chr(0))



If Left(d.cFileName, j) <> ".." & Chr(0) And Left(d.cFileName, j) <> "." & Chr(0) Then
End If

Licz = Licz + 1
b = FindNextFile(x, d)  'dalsze szukanie
ReDim Pliki(Licz + 1) As String

Pliki(Licz) = left(Wzor$,len(wzor)-3) & "" & d.cFileName

Loop While b  'gdy poprzednio znaleziono
x = FindClose(x)

End If



End Sub


Private Sub Form_Load()
Szukaj ("C:*.*" )
End Sub



'A w module to:


Public Const MAX_PATH = 260

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 Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long

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


Kopnołem z pojego programu, chcesz to go ci prześle. Jeśli chcesz same pliki to daj znać.

[Post edytowany dnia 16-05-2003 20:16 przez napadlek]


_____________________________________________
www.napadlek.prv.pl ruszyla od nowa zapraszam

16-05-2003 20:13
Pokaż profil napadlek  Wyślij email do napadlek   Odwiedź stronę napadlek       3392810
Ushy




Typ: neutral
Postów: 87
Zarejestrowany: Mar 2003

ano tak mozna.. z uzyciem Scripting runtime (Project/References/MS Scripting Runtime)

Private Sub Form_Load()
    AutoRedraw = True
    Dim FSO As New FileSystemObject
    Dim Folder
   
    Set Folder = FSO.GetFolder("c:\"
   
    For Each File In Folder.Files
        Print File.Name
    Next
End Sub


_____________________________________________
www.KURDE.pl

16-05-2003 20:26
Pokaż profil Ushy  Wyślij email do Ushy   Odwiedź stronę Ushy       3299912
Jelcyn
Admin forum




Typ: admin
Postów: 895
Zarejestrowany: Apr 2002


zapewne jest siakaś funkca API, ale nie mogłem jej namierzyć - HELP

powiedzmy ze do zmiennej pliki(x) powrzuca wszystkie nazwy plików z katalogu "C:katalog"


wejdź na www.vbfaq.pl zassaj w formacie CHM i zanim zadasz pytanie przeglądnij. Naprawdę jest tam dużo wartościowych rzeczy


_____________________________________________
Jelcyn
vb4all(małpka)canpol.pl
http://www.coderscity.pl/no-vb4all * http://www.jelcyn.com

16-05-2003 21:35
Pokaż profil Jelcyn  Wyślij email do Jelcyn   Odwiedź stronę Jelcyn       270849979    6237704
Knight Lore''FC




Typ: neutral
Postów: 240
Zarejestrowany: Jan 2003
Mozna prosciej :)

Wszystko pieknie i ladnie ale...
Nie potrzeba zadnego API ani Scripting runtime...
Wszystko to jest juz w VB i to bardzo proste (faktyczny kod szukania to 7 linijek kodu) :

Dim Pliki(5000) As String

Katalog = "c:\windows"
Atrybuty = 0

If Right$(Katalog, 1) <> "\" Then
    Katalog = Katalog & "\"
End If

'------ SZUKANIE -------   
ilePlikow = 0
pPlik = Dir(Katalog, Atrybuty)
While pPlik <> ""
    ilePlikow = ilePlikow + 1
    Pliki(ilePlikow) = pPlik
    pPlik = Dir(, Atrybuty)
Wend
'------- KONIEC -------

mozna tez dac atrybuty poszukiwanych plikow (archiwalne,systemowe,ukryte itd..) np.:
Atrybuty=0 ->vbNormal
Atrybuty=2 ->vbHidden
Atrybuty=4 ->vbSystem
Atrybuty=32->vbArchive
itd. mozna tez robic mutacje ich czyli np Systemowe i Ukryte ... poszukaj w pomocy

[Post edytowany dnia 28-05-2003 09:30 przez Knight Lore'FC]

28-05-2003 09:27
Pokaż profil Knight Lore  Wyślij email do Knight Lore        1065423
Wszystkich odpowiedzi: 4 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1