terça-feira, 31 de agosto de 2010

Definir data/hora de um arquivo

Inclua na seção uses: SysUtils

{ Esta função altera a data e hora de um arquivo. Se obter sucesso retorna true, caso contrário retorna false. }
function DefineDataHoraArq(NomeArq: string; DataHora: TDateTime): boolean;
var
  F: integer;
begin
  Result := false;
  F := FileOpen(NomeArq, fmOpenWrite or fmShareDenyNone);
  try
  if F > 0 then
  Result := FileSetDate(F, DateTimeToFileDate(DataHora)) = 0;
  finally
  FileClose(F);
  end;
end;
{ Exemplo de uso 1: Usa a data atual do sistema (Now) }

if DefineDataHoraArq('c:\teste\logo.bmp', Now) then
  ShowMessage('Data/Hora do arquivo definida com sucesso.')
else
  ShowMessage('Não foi possível definir data/hora do arquivo.');

{ Exemplo de uso 2: Usa uma data fixa }
var
  DataHora: TDateTime;
begin
  { Define a data para 5-Fev-1999 e a hora para 10:30 }
  DataHora := EncodeDate(1999, 2, 5) + EncodeTime(10, 30, 0, 0);
  if DefineDataHoraArq('c:\teste\logo.bmp', DataHora) then
  ShowMessage('Data/Hora do arquivo definida com sucesso.')
  else
  ShowMessage('Não foi possível definir data/hora do arquivo.');
end;

Nenhum comentário:

Postar um comentário