Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Los mejores trucos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-06-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Obtener las fechas de un fichero (creación, modificación y último acceso)

Para cualquier fichero que se encuentra en el sistema de archivos de Windows se almacenan varias fechas. Para acceder a todas ellas puedes utilizar la siguiente función:

Código Delphi [-]
// ================================================================
// Return the three dates (Created,Modified,Accessed)
// of a given filename. Returns FALSE if file cannot
// be found or permissions denied. Results are returned
// in TdateTime VAR parameters
// ================================================================
// ================================================================
// Devuelve las tres fechas (Creación, modificación y último acceso)
// de un fichero que se pasa como parámetro.
// Devuelve FALSO si el fichero no se ha podido acceder, sea porque
// no existe o porque no se tienen permisos. Las fechas se devuelven
// en tres parámetros de ipo DateTime
// ================================================================
function GetFileTimes(FileName : string;
 var Created : TDateTime;
 var Modified : TDateTime;
 var Accessed : TDateTime) : boolean;
var
 FileHandle : integer;
 Retvar : boolean;
 FTimeC,FTimeA,FTimeM : TFileTime;
 LTime : TFileTime;
 STime : TSystemTime;
begin
 // Abrir el fichero
 FileHandle := FileOpen(FileName,fmShareDenyNone);
 // inicializar
 Created := 0.0;
 Modified := 0.0;
 Accessed := 0.0;

 // Ha tenido acceso al fichero?
 if FileHandle < 0 then
 RetVar := false
 else begin
 // Obtener las fechas
 RetVar := true;
 GetFileTime(FileHandle,@FTimeC,@FTimeA,@FTimeM);
 // Cerrar
 FileClose(FileHandle);
 // Creado
 FileTimeToLocalFileTime(FTimeC,LTime);
 if FileTimeToSystemTime(LTime,STime) then begin
 Created := EncodeDate(STime.wYear,STime.wMonth,STime.wDay);
 Created := Created + EncodeTime(STime.wHour,STime.wMinute,STime.wSecond,
  STime.wMilliSeconds);
 end;

 // Accedido
 FileTimeToLocalFileTime(FTimeA,LTime);
 if FileTimeToSystemTime(LTime,STime) then begin
 Accessed := EncodeDate(STime.wYear,STime.wMonth,STime.wDay);
 Accessed := Accessed + EncodeTime(STime.wHour,STime.wMinute,STime.wSecond,
  STime.wMilliSeconds);
 end;

 // Modificado
 FileTimeToLocalFileTime(FTimeM,LTime);
 if FileTimeToSystemTime(LTime,STime) then begin
 Modified := EncodeDate(STime.wYear,STime.wMonth,STime.wDay);
 Modified := Modified + EncodeTime(STime.wHour,STime.wMinute,STime.wSecond,
  STime.wMilliSeconds);
 end;
 end;

 Result := RetVar;
end;

Para llamar a ésta función se puede utilizar un código como éste:

Código Delphi [-]
var
 CDate,MDate,ADate : TDateTime;
begin
 if GetFileTimes('c:\autoexec.bat', CDate, MDate, ADate) then begin
 Label1.Caption := FormatDateTime('dd/mm/yyyy hh:nn',CDate);
 Label2.Caption := FormatDateTime('dd/mm/yyyy hh:nn',MDate);
 Label3.Caption := FormatDateTime('dd/mm/yyyy hh:nn',ADate);
 end;
end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:30:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi