Mam taki plik filtry.dat:
*.log
*.tmp
{ i jeszcze 114 innych wpisów }
Plik nie jest "zakodowany", normalnie można wejść do niego poprzez "AssignFile".
Mam taką procedurke i funkcje:
function GetDirectoryName(Dir:String):String;
begin
if Dir[Length(Dir)] <> '\' then Result := dir + '\'
else Result := Dir;
end;
procedure TForm3.ZnajdzPlik(Sciezka : String);
var
FSearchRec, DSearchRec : TSearchRec;
FindResult : Integer;
NazwaPliku : String;
TXT : TextFile;
begin
AssignFile(TXT, ExtractFilePath(Application.ExeName) + 'filtry.dat');
Reset(TXT);
while not Eof(TXT) then
Readln(TXT, NazwaPliku);
Sciezka := GetDirectoryName(Sciezka);
FindResult := FindFirst(Sciezka + NazwaPliku, faAnyFile + faArchive + faHidden + faSysFile + faReadOnly, FSearchRec);
try
StatusBar1.Panels[0].Text := 'Szukam w: ' + Sciezka;
while FindResult = 0 do
begin
ListBox1.Items.Add(Sciezka + FsearchRec.Name);
FindResult := FindNext(FSearchRec);
end;
Application.ProcessMessages;
FindResult:=FindFirst(Sciezka + '*.*', faDirectory + faHidden, DSearchRec);
while FindResult=0 do
begin
if ((DSearchRec.Attr and faDirectory) = faDirectory) and ((DSearchRec.Name <> '.') and (DSearchRec.Name <> '..')) then ZnajdzPlik(Sciezka+DSearchRec.Name,NazwaPliku);
FindResult:=FindNext(DSearchRec);
end;
finally
FindClose(FSearchRec);
FindClose(DSearchRec);
end;
end;
Ale to się pętli 116 razy w jednym katalogu :O. Nie wiem co zrobić. Chcę aby program rozpoznał nazwę pliku i sprawdził czy istnieje w filtrach. Ale próbuje, i próbuje, i się nie da.
Proszę o pomoc. Z góry dziękuje.
//trochę OffTopic: nie rozumiem dlaczego moderatorzy przenoszą mnie do "Newbie" znam się już na delphi, i pomoc którą potrzebuje nie jest "dzieciniadą" dla podstawowego programisty.