|
Creando un archivo temporal único
Copyright © 2000 Ernesto
De Spirito
CreateTempFile
Esta función crea un archivo único en el directorio
temporal y devuelve su nombre (camino incluido). El nombre del archivo tendrá
la forma "~XXXX.TMP", donde XXXX es la
representación hexadecimal de un entero de dos bytes (determinado usando el reloj
del sistema).
uses SysUtils, Windows;
function CreateTempFile: TFileName;
// Crea un directorio temporal y devuelve su nombre y camino
var
NomArchTemp: array [0..MAX_PATH-1] of char;
begin
if GetTempFileName(PChar(GetTempDir), '~', 0, NomArchTemp) = 0 then
raise Exception.Create(SysErrorMessage(GetLastError));
Result := NomArchTemp;
end;
Llamada de ejemplo
Este archivo temporal no es borrado automáticamente por Windows, de modo
que su aplicación es responsable de eliminar los archivos temporales creados
por esta función cuando ya no se necesiten. Por ejemplo podría usar un
código como el siguiente:
procedure TForm1.Button1Click(Sender: TObject);
var
NomArchTemp: TFileName;
begin
NomArchTemp := CreateTempFile;
try
// Abrir el archivo
// Usar el archivo
// Cerrar el archivo
except
try
// Cerrar el archivo si fue abierto
finally
SysUtils.DeleteFile(NomArchTemp);
end;
end;
end;
|