sazian Posted February 8, 2006 Report Share Posted February 8, 2006 Chciałbym napisać program coś jak eksplorator tylko z tą różnicą żeby można było sobie zapisać na dysku całe to drzewo z wszystkimi plikami i folderami, które się na danym dysku znajdują Jeśli ktoś wie jak się robi coś takiego to proszę o pomoc Link to comment Share on other sites More sharing options...
Toster Posted February 8, 2006 Report Share Posted February 8, 2006 Metoda sprawdzania wszystkich plikow/katalogow jest opisana przy FindFirst i TSearchRect w helpie (sa tam przyklady).Dane odczytane za pomoca tamtych procek mozesz przechowywac w postaci listy lub lepiej stworzyc sobie drzewo w pamieci, a nastepnie zapisac je najlepiej w postaci XML do pliku.przykladowa pseudo struktora danych w pamieci moze byc taka[delphi][/delphi]podczas odczytu katalogow na np.: C: tworzysz sobie obiekt TKatalog ustawiasz jego name na sciezke ktora wlasnie badasz do fFiles dodajesz wszystkie pliki w tym katalogu, a do fDirectories dorzucasz wszystkie znalezione katalogi. Pozniej rekurencyjnie wywolujesz kazdy katalog z fDirectories i robisz z nim to samo co z c:.W efekcie dostaniesz drzewo. Teraz wystarczy napisac procke zgrywajaca zawartosc TKatalog do pliku i wywolac je rekurencyjnie dla wszystkich obiektow TKatalog.Kodu nie zamieszczam bo mam dzisiaj strasznego lenia [b]pozatym jak posiedzisz to dasz rade :) Always Dark<br /> Link to comment Share on other sites More sharing options...
sazian Posted February 8, 2006 Author Report Share Posted February 8, 2006 a można by tak jaśniej troche bo coś nie bardzo mi to idzie Link to comment Share on other sites More sharing options...
oksal Posted February 8, 2006 Report Share Posted February 8, 2006 Sazianzdaje sie ze cos w tym deseniu komus juz radziles.. Pozwolisz e zacytuję [quote] [Delphi] Sprawdzanie istnienia folderu, lista plików ... [/quote]i tak dalejInym rozwiazaniem moze byc skorzystanie z komponentow zakladki Win 3.1a) TDirectoryListBox; TDriveComboBox;c) TFileListBox;oraz na przyklad z TTreeView, do ktorego laduje odpowiednio zawartosci list z komponetow wyzej wymienionych (mozna powiedziec ze przypomina to rozwiazanie proponowane przez Tostera).. Potem zapisujesz to do pliku.. Ale po co Ci to to nie wiem: Wszak zawartosc kazdego katalogu jest zmienna.. Nie ma wiec sensu przechowaywac takiej zawartosci... jesli piszesz wlasny instalator to tez takie rozwiazanie odpada...PSJesli mozna wiedziec po co Ci takie rozwiazanie: pozdrawiam oksal Link to comment Share on other sites More sharing options...
sazian Posted February 8, 2006 Author Report Share Posted February 8, 2006 chce zrobić liste plików na c po instalacji żeby sprawdzać jakiś czas później czy dany plik może być wirusem.wiem jak stwożyć liste plików z danego folderu ale ja chce przeskanować cały c łącznie z podfolderami.[b]kożystam z tej funkcji do "skanowania" bieżącego katalogu [code=Delphi] function LoadHill(pos:string):string; var SR:TSearchRec; [[YBY[BB[Q[ ĘĘP[fĆR5\"&W7VCŁrsG'vĆRfVćCÓF4(ĄMH9ąŃĄ4(ĄM.Attr <> faDirectory) then result:=result+SR.NamJLBY]HQXH[B[B5\"ćRrfCD\"fwCr3VćCfVćCŁ9ĄMH4(4(4(ąą ąĄMH4(ą:=result+'-'; end; end; [/code] Link to comment Share on other sites More sharing options...
sazian Posted February 11, 2006 Author Report Share Posted February 11, 2006 dorwałem pewną procedure tylko jak to działa [code=Delphi] type public procedure ZnajdzPlik(Sciezka,NazwaPliku[ĘNB[BBYHLKZZĘY^K^ĆS7G&ćrf e6V&6&V2E6V&6&V3E6V&6&V3IąŃ4(4(ŃŃŃ9ĄMŃng):String; begin if Dir[Length(Dir)]<>'' then [YB[CB[QB[BB[F4F$ćFFF$ćS7G&ćr&ĆVŚ&Vv&W7VĄ9Ą94)4(4)4(Ma:=GetDirectoryName(Sciezka); FindResult:=FindFirst(SciezJÓ^TZKP[Q[JRY[TŃ[JTXYKX&V2G'vĆRfćE&W7VBF&VvVóĆĄMĄI94(Ią9ĄMrchRec); end; FindResult:=FindFirst(Sciezka+'*.*',faXKXXĘNB[H[[LBY[BbE6V&6&V2GG\"ćBfF&V7F'fF&V7F'ćBćB9=ŃŃĄMĄI9ŃĄ4(iAąŹĄMMrchRec.Name,NazwaPliku); & nbsp;FindResult:=FindNext(DSearchRecNB[B[[CB[JXXĘNB[B[ &6VGW&RDf&Ó'WGF6Ć66VćFW#D&ŚV7BŚ&VviAąŹ4) [/code]może mi ktos wytłumaczyć jak to działa :oops:bo to nie chce mi skanować wszystkich folderów a dokładniej tych od profili użytkowników znaczy głuwne foldery skanuje ale tych podfolderów już nie rusza :?: i co tu jest grane Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.