...Use GetTempFileName to Create a Unique Temporary File?

Author: Thomas Stutz

Category: Files

function GetTempFile(const Extension: string): string;
var
  
Buffer: array[0..MAX_PATH] of Char;
  aFile: string;
begin
  repeat
    
GetTempPath(SizeOf(Buffer) - 1, Buffer);
    GetTempFileName(Buffer, '~', 0, Buffer);
    Result := ChangeFileExt(Buffer, Extension);
  until not FileExists(Result);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  
ShowMessage(GetTempFile('.~tp'));
  // The temp. file looks like C:\WINDOWS\TEMP\~61D5.TMP
end

{
  Note:
  The GetTempFile function just returns a unique filename but
  doesn't create the file.
}

{
  Bemerkung:
  Die GetTempFile Funktion liefert nur den Namen der temp.
  Datei aber erstellt sie nicht.
}

 

printed from
www.swissdelphicenter.ch
developers knowledge base