Zitat von
Cuchulainn:
Es geht bestimmt einfacher, aber so funktioniert es.
Es mag zwar funktionieren, aber deine Variante mit FindFirst / FindNext findete auch Dateien wie "dateiX.txt" oder "dateihateinenlaengerennamen.txt" und nicht nur Zahlen. Von daher ist eine for-Schleife eleganter und zverlässiger:
Delphi-Quellcode:
var StrPath: String;
Search: TSearchRec;
IntCounter: Integer;
const StrExtension = '.txt';
begin
StrPath := ExtractFilePath(ParamStr(0));
If (length(StrPath) > 0) and (StrPath[length(StrPath)] = '\') then
Delete(StrPath, length(StrPath), 1);
StrPath := StrPath + '\' + 'datei';
IntCounter := 0;
If FileExists(StrPath + StrExtension) then
begin
IntCounter := 1;
while FileExists(StrPath + IntToStr(IntCounter) + StrExtension) do
Inc(IntCounter);
end;
If (IntCounter > 0) then
StrPath := StrPath + IntToStr(IntCounter) + StrExtension
else
StrPath := StrPath + StrExtension);
end;