Ver Mensaje Individual
  #2  
Antiguo 09-01-2006
negama negama is offline
Miembro
 
Registrado: may 2003
Posts: 21
Reputación: 0
negama Va por buen camino
Talking Fecha de creacion, modificacion y ultimo acceso

En realidad XP maneja tres fechas: de creacion, modificacion y ultimo acceso, este ejemplo es para acceder a tales fechas de un archivo espero que te sirva para adaptarlo al directorio, el meollo del asunto está en el GetFileTime ..
Código Delphi [-]
function obtenerFechasFichero (const FileName: string; var Created: TDateTime;
         var Accessed: TDateTime; var Modified: TDateTime): Boolean;
var
  h: THandle;
  Info1, Info2, Info3: TFileTime;
  SysTimeStruct: SYSTEMTIME;
  TimeZoneInfo: TTimeZoneInformation;
  Bias: Double;
begin
  Result := False;
  Bias   := 0;
  h      := FileOpen(FileName, fmOpenRead or fmShareDenyNone);
  if h > 0 then
  begin
    try
      if GetTimeZoneInformation(TimeZoneInfo) <> $FFFFFFFF then
        Bias := TimeZoneInfo.Bias / 1440; // 60x24
      GetFileTime(h, @Info1, @Info2, @Info3);
      if FileTimeToSystemTime(Info1, SysTimeStruct) then
        Created := SystemTimeToDateTime(SysTimeStruct) - Bias;
      if FileTimeToSystemTime(Info2, SysTimeStruct) then
        Accessed := SystemTimeToDateTime(SysTimeStruct) - Bias;
      if FileTimeToSystemTime(Info3, SysTimeStruct) then
        Modified := SystemTimeToDateTime(SysTimeStruct) - Bias;
      Result := True;
    finally
      FileClose(h);
    end;
  end;
end;

.
.
.

procedure TForm1.Button1Click(Sender: TObject);
var
fechaCreacion, ultimoAcceso, ultimaModificacion : TDateTime;

begin

//fechas
  if obtenerFechasFichero (txtFichero.Text, fechaCreacion, ultimoAcceso, ultimaModificacion) then
  begin
    RichEdit1.Lines.Add('Fecha creación: ' + DateToStr (fechaCreacion));
    RichEdit1.Lines.Add('Fecha último acceso: ' + DateToStr(ultimoAcceso));
    RichEdit1.Lines.Add('Fecha modificación: ' + DateToStr(ultimaModificacion));
  end;

end;
__________________
"Aplica lo q sabes, no lo q crees saber"

Última edición por vtdeleon fecha: 10-01-2006 a las 03:10:49.
Responder Con Cita