DruckenMister WongFacebook

Eindeutigen Dateinamen erstellen

System Win9x, WinNT, Win2000, WinXP, Vista, Win7
Ab Delphi-Version Delphi 1
Letzte Änderung 28.09.2010

Will man eine Datei speichern, ohne dabei eine bereits bestehende Datei zu überschreiben, so liefert der folgende Code einen Dateinamen, den es so noch nicht gibt. Besteht der ursprüngliche Name schon, so wird mit -1 bzw. -2 usw. ein eindeutiger Name erstellt.

function GenerateUniqueFileName(FileName: string): string;
var count: integer;
begin
  if not FileExists(FileName) then
  begin
    result := FileName;
    exit;
  end;
  count:=1;
  while FileExists(ChangeFileExt(FileName, '')+'-'+IntToStr(count)+
  ExtractFileExt(FileName)) do
    Inc(Count);
  result := ChangeFileExt(FileName,'')+'-'+IntToStr(count)+ExtractFileExt(FileName);
end;