Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Ilość plików w folderze
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003
Ilość plików w folderze

Skąd wziąść informację, na temat ilości plików w danym folderze (w VB!!!!!)


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

11-08-2004 21:15
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
bisiek




Typ: neutral
Postów: 487
Zarejestrowany: Jul 2003

Policz poleceniem dir.
Użycie dir:

http://members.lycos.co.uk/bisiekmob/texty/Dir.htm


_____________________________________________
www.mob.abc.pl - moja strona o VB

12-08-2004 09:35
Pokaż profil bisiek  Wyślij email do bisiek   Odwiedź stronę bisiek       3380672
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

Tak, tyle że tutaj będę liczył kontrolką. Takie coś to umiem, ale jak nie używając kontrolki, tylko może Api?


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

12-08-2004 12:02
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
bisiek




Typ: neutral
Postów: 487
Zarejestrowany: Jul 2003

Tak, ale tam jest i z kontrolką i bez (przez dir).


_____________________________________________
www.mob.abc.pl - moja strona o VB

12-08-2004 12:45
Pokaż profil bisiek  Wyślij email do bisiek   Odwiedź stronę bisiek       3380672
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

1) Poprzez FileSystemObject
2) API: FindFirstFile, FindNextFile, FindClose - wyliczając wszystkie pliki po koleji i sumując ich ilość.

Linkownia:
MSDN dot. FSO: http://msdn.microsoft.com/library/en-us/vbenlr98/dt_vaobjFileC.asp . Podaję ten adres, bo tam masz od razu linki do innych obiektów, które będą ci potrzebne.

MSDN dot. API:
http://msdn.microsoft.com/library/en-us/fileio/base/findclose.asp
http://msdn.microsoft.com/library/en-us/fileio/base/findnextfile.asp
http://msdn.microsoft.com/library/en-us/fileio/base/findfirstfile.asp


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

12-08-2004 13:11
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
bisiek




Typ: neutral
Postów: 487
Zarejestrowany: Jul 2003

W artykule jest opis polecenia dir z vb - można to zrobić bez api.


_____________________________________________
www.mob.abc.pl - moja strona o VB

12-08-2004 13:14
Pokaż profil bisiek  Wyślij email do bisiek   Odwiedź stronę bisiek       3380672
bisiek




Typ: neutral
Postów: 487
Zarejestrowany: Jul 2003

W artykule jest opis polecenia dir z vb - można to zrobić bez api.


_____________________________________________
www.mob.abc.pl - moja strona o VB

12-08-2004 13:14
Pokaż profil bisiek  Wyślij email do bisiek   Odwiedź stronę bisiek       3380672
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Jak dir chcesz policzyć pliki?


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

12-08-2004 13:18
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

ok, sorry za pytanie, rzeczywiscie jest


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

12-08-2004 13:19
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
bisiek




Typ: neutral
Postów: 487
Zarejestrowany: Jul 2003

a = dir ("c:\",vbsystem,vbhidden,vbreadonly,vbarchive)

do
if a ="" then exit do
if a <> "." and a <> ".." then 'Jakbym chciał liczyć katalogi
pliki=plik+1
end if
a=dir
loop


_____________________________________________
www.mob.abc.pl - moja strona o VB

12-08-2004 13:20
Pokaż profil bisiek  Wyślij email do bisiek   Odwiedź stronę bisiek       3380672
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Hmm.. a po co aż dwa identyczne posty?


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

12-08-2004 13:22
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
bisiek




Typ: neutral
Postów: 487
Zarejestrowany: Jul 2003

Przypadkiem nacisnąłem odpowiedz, pierwszy był niekompletny.


_____________________________________________
www.mob.abc.pl - moja strona o VB

12-08-2004 14:16
Pokaż profil bisiek  Wyślij email do bisiek   Odwiedź stronę bisiek       3380672
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003


a = dir ("c:",vbsystem,vbhidden,vbreadonly,vbarchive)

do
if a ="" then exit do
if a <> "." and a <> ".." then 'Jakbym chciał liczyć katalogi
pliki=plik+1
end if
a=dir
loop

domyślam się że pod pliki=pliki+1 musi być Else
exit do? Jak nie to gdzie musi być wyjście z pętli?


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

12-08-2004 16:19
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
bisiek




Typ: neutral
Postów: 487
Zarejestrowany: Jul 2003

Ryjście z pętli jest trochę wyżej, a ". i ".." są to foldery na samym początku

do
if a ="" then exit do
if a <> "." and a <> ".." then 'Jakbym chciał liczyć katalogi
pliki=plik+1
end if
a=dir
loop


_____________________________________________
www.mob.abc.pl - moja strona o VB

12-08-2004 17:21
Pokaż profil bisiek  Wyślij email do bisiek   Odwiedź stronę bisiek       3380672
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Mam tylko 3 drobne uwagi:
1) Dir("c:\"...
Tutaj powinno być "c:\*".
2) ,vbsystem,vbhidden,vbreadonly,vbarchive)...
Nie przecinki, a Or
3) Linia
If a <> "." and a <> ".." then 'Jakbym chciał liczyć katalogi
jest zbędna - przecież Dir i tak nie zwróci . i .. - to są katalogi, a - jak widać wyżej - dir nie kazaliśmy ich liczyć


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

13-08-2004 03:45
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
bisiek




Typ: neutral
Postów: 487
Zarejestrowany: Jul 2003

1) Gwiadka nie ma znaczenia - bez niej działa tak samo.

2) Rzeczywiście - pisasłem z pamięci

3) Atrybuty które podałem to tylko przykład - przygoowałem pętlę na wszystkie możliwości.


_____________________________________________
www.mob.abc.pl - moja strona o VB

13-08-2004 10:02
Pokaż profil bisiek  Wyślij email do bisiek   Odwiedź stronę bisiek       3380672
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

1) Nie - nie działa tak samo. Jeśli podasz "c:", to znajduje jeden element - co i tak mnie zaskakuje, bo teoretycznie nie powinien znaleźć niczego. Skopiowałem do VB, poprawiłem błędy z przecinkami, uruchomiłem i miałem wynik = 1. Jeśli natomiast wpiszesz coś takiego jako ścieżkę do katalogu (np. "c:\windows\", to nie znajdzie wszystkich plików w c:\windows, lecz jedynie katalog "c:\windows". Dlatego własnie uważam, że gwiazdka jest tam potrzebna .
3) Aha - myślałem, że po prostu przeoczyłeś . W takim razie "zwracam honor" .


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

13-08-2004 13:27
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
bisiek




Typ: neutral
Postów: 487
Zarejestrowany: Jul 2003

1) Sprawdziłęm - działa tak samo.

Sam sprawdź:

a = Dir("C:\", vbArchive + vbHidden + vbReadOnly + vbSystem)

Do
If a = "" Then Exit Do
If a <> "." And a <> ".." Then 'Jakbym chciał liczyć katalogi
pliki = pliki + 1
End If
a = Dir
Loop
MsgBox pliki

pliki = 0
a = Dir("C:\*", vbArchive + vbHidden + vbReadOnly + vbSystem)

Do
If a = "" Then Exit Do
If a <> "." And a <> ".." Then 'Jakbym chciał liczyć katalogi
pliki = pliki + 1
End If
a = Dir
Loop
MsgBox pliki


_____________________________________________
www.mob.abc.pl - moja strona o VB

13-08-2004 17:23
Pokaż profil bisiek  Wyślij email do bisiek   Odwiedź stronę bisiek       3380672
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Powiem tak: No i ja teraz zgłupiałem całkowicie...

1) W twoim poprzednim kodzie było "c:", nie "c:\" - to tak na marginesie.

Przedtem dla "c:" dostawałem 1 plik
Teraz dla "c:" dostaję 42 pliki
Dla "c:\" i "c:\*" dostaję tyle samo plików, czym jestem trochę zaskoczony, bo to nie jest to samo i niestety źle świadczy o funkcji dir.

Ale przyznaję ci rację. Nie wiem dlaczego wyszło mi przedtem 1, a teraz zupełnie inne wyniki.


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

13-08-2004 17:50
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
bisiek




Typ: neutral
Postów: 487
Zarejestrowany: Jul 2003

Wiem dlaczego - pewnie użyłeś kodu z błędem naliczania - pliki = plik + 1

A ja już nie rozumiem tego forum - nie poprawiałem posta - mikmas go zacytował, a jest tam jedna różnica - właśnie to C:\ i C: hmmm...


_____________________________________________
www.mob.abc.pl - moja strona o VB

13-08-2004 17:59
Pokaż profil bisiek  Wyślij email do bisiek   Odwiedź stronę bisiek       3380672
Wszystkich odpowiedzi: 19 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1