27 May

Get a unique name for temporary file

Using GetTempFileName, we can create a unique name for temporary file. It’s useful when your application is using temporary files and you want to save them into default TEMP folder and use a “random” filename.

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'));
end;
  • Digg
  • del.icio.us
  • Facebook
  • Technorati
  • Google
  • Live
  • YahooMyWeb

Leave a Reply

You must be logged in to post a comment.