Jak wyszukać wszystkie katalogi na dysku?
10:13Wed, 3 January 2007 Utwórz nowy projekt i posadź na formie dwa komponenty TListBox oraz TButton. Kliknij dwukrotnie na komponent Button1 - pojawi się edytor kodu z nowowygenerowaną procedurą obsługi zdarzenia. Uzupełnij ją następująco:
procedure TForm1.Button1Click(Sender: TObject);
var
rec : TSearchRec;
found : integer;
DirList : TStringList;
posDir : integer; // pozycja na liście katalogów
FileList : TStringList;
begin
DirList := TStringList.Create;
FileList := TStringList.Create;
DirList.Add('C:'); // Od jakiego katalogu ma zacząć
posDir := 0;
{ Funkcja zwraca 0 kiedy nie wystąpi w niej
błąd (gdy wystapi błąd np. nie ma już żadnego
pliku do znalezienia (wszystkie zostały już
znalezione) to funkcja zwraca wartość różna
od zera)}
Repeat
found := FindFirst(DirList[posDir]+'*.*',faDirectory,rec);
While found = 0 Do
begin
found := FindNext(rec);
if found = 0 Then
DirList.Add(DirList[posDir]+rec.Name+'');
ListBox1.Items := DirList;
Application.ProcessMessages;
end;
FindClose(rec);
Inc(posDir);
until posDir >= DirList.Count;
DirList.Free;
FileList.Free;
end;
Póki co brak pytań w FAQ.Skomentuj
Aby zamieścić komentarz, proszę włączyć JavaScript - niestety roboty spamujące dają mi niezmiernie popalić.
Komentarze czytelników
Nie ma jeszcze żadnych komentarzy.