Forum: Sonstige Fragen zu Delphi
Delphi
by Fridolin Walther,
13. Nov 2008
Klar, da kann man noch ne Menge rausholen. Die Liste ist da z.B. ein Ansatz. Dann könnte man den Pfadnamen zwischenspeichern, damit nicht dauernd GetPath aufgerufen wird, was ja jedes Mal fast das komplette Array durchgeht und den Pfad zusammen setzt. Gibt viele Möglichkeiten um da noch deutlich mehr Leistung heraus zu kitzeln. Aber es ging ja nur darum zu zeigen wie man es lösen könnte und nicht...
Forum: Sonstige Fragen zu Delphi
Delphi
by Fridolin Walther,
13. Nov 2008
Das würde in etwa so aussehen:
procedure EnumerateDirectory(Path : string);
// Hilfsfunktion um aus dem Grundpfad und dem SearchRecord Array einen Pfad zu bilden
function GetPath(Path : string; const SearchRecords : array of TSearchRec) : string;
var
i : Integer;
begin
Result := IncludeTrailingPathDelimiter(Path);
Forum: Sonstige Fragen zu Delphi
Delphi
by Fridolin Walther,
12. Nov 2008
Da wäre eine Rekursionstiefe von 125+ möglich. Das reicht mitunter für nen Crash. Kommt auf die lokalen Variablen an und wie groß der Stack werden darf.
Aber ansonsten ordne ich solche Aussagen wie "Das kommt so selten vor" immer in die "Famous last words" Kategorie ein ;). Ist nicht bös gemeint, aber ich erinner mich da immer an eine lustige Unterhaltung nach nem Code Audit. Zitat Entwickler:...
Forum: Sonstige Fragen zu Delphi
Delphi
by Fridolin Walther,
12. Nov 2008
Delphi 2007:
function FindMatchingFile(var F: TSearchRec): Integer;
var
LocalFileTime: TFileTime;
begin
with F do
begin
while FindData.dwFileAttributes and ExcludeAttr <> 0 do
if not FindNextFile(FindHandle, FindData) then
begin