Registriert seit: 15. Sep 2006
Ort: Wiesbaden/Hessen
89 Beiträge
Delphi 2010 Professional
|
Re: Problem beim Dateiensuchen -> Unicode + Gesperrte Ord
12. Mai 2007, 15:06
na, ich poste hier mal den kompletten Code.. ^^
Delphi-Quellcode:
function GetDirContents(pfad: String; prestr: String): Integer;
var
searchResult : TSearchRec;
ergebnisse: TSRDynArray;
SL, tmp: TStringlist;
i, j: integer;
begin
i := 0;
j := 0;
SetLength(ergebnisse, 0);
SetCurrentDir(pfad);
FMain.AppendStringToFile(prestr+' Verzeichnis von '+pfad, pfad_zur_liste);
FMain.AppendStringtoFile(prestr+' ', pfad_zur_liste);
if FindFirst('*', faAnyFile, searchResult) = 0 then
begin
repeat
Application.ProcessMessages;
SetLength(ergebnisse, (Length(ergebnisse)+1));
if ((searchResult.Attr and faDirectory) = faDirectory) then begin
ergebnisse[i].is_directory := true;
ergebnisse[i].name := searchResult.Name;
ergebnisse[i].size := 0;
end
else begin
ergebnisse[i].is_directory := false;
ergebnisse[i].name := searchResult.Name;
ergebnisse[i].size := searchResult.Size;
end;
Application.ProcessMessages;
Inc(i);
until FindNext(searchResult) <> 0;
// Must free up resources used by these successful finds
FindClose(searchResult);
for i := 0 to (Length(ergebnisse)-1) do begin
Application.ProcessMessages;
if (ergebnisse[i].is_directory) then begin
if ((ergebnisse[i].name <> '.') AND (ergebnisse[i].name <> '..')) then begin
Application.ProcessMessages;
GetDirContents(pfad+ergebnisse[i].name+'\', prestr+' ');
SetCurrentDir(pfad);
end;
end
else begin
Application.ProcessMessages;
FMain.AppendStringtoFile(prestr+' - '+ergebnisse[i].name+' '+IntToStr(ergebnisse[i].Size)+' Bytes', pfad_zur_liste);
end;
end;
Application.ProcessMessages;
FMain.AppendStringtoFile(prestr+' ', pfad_zur_liste);
end
else begin
FMain.AppendStringtoFile(prestr+' Keine Elemente.', pfad_zur_liste);
FMain.AppendStringtoFile(prestr+' ', pfad_zur_liste);
end;
Result := 0;
end;
Hier wird die Funktion aufgerufen:
GetDirContents('F:\', '');
MSVC2008 (C/C++ with QT), Delphi RAD 2010, Flash CS5 (FDT/Adobe), Java EE (Eclipse), PHP5
Antwortsprachen: Deutsch, Englisch, Französisch, Japanisch
|
|
Zitat
|