Crear un fichero temporal
Artículo por Club Developers · 11 marzo 2006
3014 vistas
En el API de Win32 encontramos algunas funciones que nos ayudaran a crear un fichero temporal: GetTempPath para obtener la carpeta temporal en curso, y GetTempFileName que nos permitirá crear un nombre de fichero único de forma fiable.
A la salida de la función, el archivo devuelto existe, está vacÃo y lo podemos abrir para usar según nuestra conveniencia.
Atención: los ficheros creados de esta manera, no los borrará, por defecto, ni el SO ni Delphi, tendremos que ocuparnos manualmente.
delphi
{  Devuelve un nombre de fichero absoluto, aleatorio y en la carpeta temporal.  El prefijo (3 carácteres máx.), opcional, sirve para "aislar" los ficheros temporales de nuestra aplicación de las otras.  Si no se encuentra la carpeta temporal, se usará la carpeta de la aplicación. } function GetScratchName ( Const Prefix: String = 'TMP' ): String; var  Path, Name: Array[0..MAX_PATH] of char ; begin  // recuperamos carpeta temporal  if (GetTempPath(MAX_PATH, @Path) = 0) then   StrCopy(@Path, PChar(ExtractFileDir(Application.ExeName)));  // creación del fichero temporal único  if (GetTempFileName(@Path, PChar(Prefix), 0, @Name) = 0) then Result := EmptyStr  else Result := String(@Name); end;
A la salida de la función, el archivo devuelto existe, está vacÃo y lo podemos abrir para usar según nuestra conveniencia.
Atención: los ficheros creados de esta manera, no los borrará, por defecto, ni el SO ni Delphi, tendremos que ocuparnos manualmente.