Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Wszystkie pliki
xEagle2



Typ: neutral
Postów: 280
Zarejestrowany: Jul 2003
Wszystkie pliki

Jak sprawdzić jakie pliki istnieją na kompie.

to znaczy jeśli miał bym na dysku c: jakieś pliki to ich ścieżki dać do pliku i potem przeskoczyć na inny dysk kapujecie

Musze znać ścieżke wszystkich plików na kompie


-----
Do tąd mam problem


_____________________________________________
Co oznacza NET ? Natychmiastowa Eksplozja Trojanów

23-08-2004 19:15
Pokaż profil xEagle2  Wyślij email do xEagle2       
marcin_an
Forumowicz




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

Chcesz zrobić listę wszystkich plików na wszystkich dyskach. Tak?


_____________________________________________
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

23-08-2004 19:52
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

użyj funkcji Dir w pętli
a jako ścieżkę startową ustaw dysk C:\
później znowu Dir w pęli i następny dysk...
i tak aż do bólu


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

23-08-2004 19:53
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
xEagle2



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


Chcesz zrobić listę wszystkich plików na wszystkich dyskach. Tak?


Tak


_____________________________________________
Co oznacza NET ? Natychmiastowa Eksplozja Trojanów

23-08-2004 20:00
Pokaż profil xEagle2  Wyślij email do xEagle2       
marcin_an
Forumowicz




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

Sądzę, że losmac już odpowiedział na to pytanie .

Opiszę tylko dokładnie o co chodzi.
Najpierw robisz listę wszystkich plików w katalogu głównym dysku c.
Następnie przelatujesz tą listę i sprawdzasz, czy jest jakiś katalog - jeśli jest - na końcu dopisujesz listę plików z tego katalogu. I jakoś go oznaczasz, że już został sprawdzony.
I idziesz dalej do końca.
Przechodzisz po liście tak długo, aż nie będzie ani jednego niesprawdzonego katalogu.
Wtedy przechodzisz na inny dysk.

Można to sobie dowolnie zmodyfikować i zoptymalizować (np. mieć oddzielną listę na katalogi neisprawdzone - to znacznie przyspieszy działanie) - ale nie chciałem tutaj komplikować opisu.


Wymysliłem jeszcze coś:
Użycie komendy DOS'a DIR do zebrania listy wszystkich pliików, a potem jej przeanalizowanie jakimś algorytmem i wyciagnięcie z niej plików.


_____________________________________________
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

23-08-2004 21:59
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
xEagle2



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

Tylko że jak to zapętle to albo prog sie zawiesi albo przestanie na długo odpowiadać .....


_____________________________________________
Co oznacza NET ? Natychmiastowa Eksplozja Trojanów

24-08-2004 08:34
Pokaż profil xEagle2  Wyślij email do xEagle2       
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

No pewnie tak tego nie zrobisz biorąc pod uwagę to ile tysięcy plików masz w samym katalogu Windows

Pozdrawiam


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

24-08-2004 10:20
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

P.S. Kiedyś też próbowałem dodać wszystkie katalogi do TreeView to się program wieszał

Wydaje mi się, że przy tak dużej ilości plików będziesz musiał użyć API


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

24-08-2004 10:22
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

Sorki za tyle postów

Jeszcze jedno - czy chcesz zrobić jakąś wyszukiwarkę, bo jeśli nie to po co ci ścieżki wszystkich plików na kompie?

Pozdrawiam


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

24-08-2004 10:27
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
marcin_an
Forumowicz




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


xEagle2 napisał:
Tylko że jak to zapętle to albo prog sie zawiesi albo przestanie na długo odpowiadać .....

No to daj DoEvents co jakiś czas, żeby się nie blokował. No i radzę wpisywać tą listę do jakiegoś pliku, ewentualnie Stringa, bo tablice się do tego nie nadają. Jeśli pakujesz to do zmiennej, to uważaj, żebyś nie przesadził i nie zabrakło ci pamięci . Lista 100000 plików to 25.5MB! (z tym, że żadko się zdarzają zwykłe domowe pecety z 100000 plików).

---
Przepraszam za pogrubienie, błąd forum.

[Post edytowany dnia 24-08-2004 12:31 przez marcin_an]


_____________________________________________
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

24-08-2004 10:37
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
xEagle2



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

DJK:
"Kiedyś też próbowałem dodać wszystkie katalogi do TreeView to się program wieszał"
a mi chodzi o to aby było coś typu (to jest w zmiennej)

C:\windows\win.exe
C:\abctest\testowy.dll
C:\windows...


_____________________________________________
Co oznacza NET ? Natychmiastowa Eksplozja Trojanów

24-08-2004 11:53
Pokaż profil xEagle2  Wyślij email do xEagle2       
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

W zmiennej no niby się da ale wyobraź sobie tak jak marcin_an napisał rozmiar tej zmiennej w pamięci.

Może napisz co chcesz uzyskać to coś pomyślimy


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

24-08-2004 12:53
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
xEagle2



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

Chce znać wszystkie ścieżki do wszystkich plików na kompie


_____________________________________________
Co oznacza NET ? Natychmiastowa Eksplozja Trojanów

24-08-2004 12:59
Pokaż profil xEagle2  Wyślij email do xEagle2       
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

Private Sub Command1_Click()
a = Dir(Text1.Text, vbDirectory + vbNormal + vbHidden + vbReadOnly)
Do
a = Dir
If a = "" Then Exit Do

If a <> "." And a <> ".." Then
    If (GetAttr(Text1.Text & a) And 16) = 16 Then
                            List1.AddItem Text1.Text & a & "\"
    Else
                            List1.AddItem Text1.Text & a
    End If
End If
Loop
End Sub

na formę wrzuć List1 TextBoxa i Buttona

W Text1 wpisz jakąś ścieżkę


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

24-08-2004 13:24
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

w pętli gdzie sprawdzane jest czy pozycja jest katalogiem (ta 16) wstaw jakieś bajery żeby funkcja była wywoływana rekurencyjnie i wtedy powinno działać


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

24-08-2004 13:26
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
xEagle2



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

Dzięki to to )))))


_____________________________________________
Co oznacza NET ? Natychmiastowa Eksplozja Trojanów

24-08-2004 13:48
Pokaż profil xEagle2  Wyślij email do xEagle2       
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

Nie ma sprawy


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

24-08-2004 13:56
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

Jeszcze jedno - moja pomyłka "a=Dir" powinno być na końcu pętli


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

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