Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Timestamps vergleichen (https://www.delphipraxis.net/3425-timestamps-vergleichen.html)

Dede 12. Mär 2003 08:46


Timestamps vergleichen
 
Mahlzeit...

Ich hab im Moment das Problem das ich nicht weis, wie ich die Timestamps (zuletzt geändert) von Dateien überprüfen kann...
Es soll so eine Art Backup Verfahren werden, wobei die Timestamps verglichen werden und wenn die sich unterscheiden soll die Datei gecopied werden.

Hoffe Ihr könnt mir da helfen und schonmal danke für die Antworten

Gruß
Dede

Sharky 12. Mär 2003 09:14

Re: Timestamps vergleichen
 
Zitat:

Zitat von Dede
Mahlzeit...

...
Es soll so eine Art Backup Verfahren werden, wobei die Timestamps verglichen werden und wenn die sich unterscheiden soll die Datei gecopied werden.
...

Hai Dede,

Mahl dir deine Zeit doch selber :lol:

Ich habe das mal so gelöst:

Delphi-Quellcode:
function FileTimeToDate(filetime: TFileTime): TDate;
var
 systime           : TSystemTime;
begin
 FileTimeToSystemTime(filetime, systime);
 result := EncodeDate(systime.wYear, systime.wMonth, systime.wDay);
end;

{****************************************************}

function FileTimeToTime(filetime: TFileTime): TTime;
var
 systime           : TSystemTime;
begin
 FileTimeToSystemTime(filetime, systime);
 result := EncodeTime(systime.wHour, systime.wMinute, systime.wSecond, systime.wMilliseconds);
end;

{****************************************************}

function FileTimeToDateTime(filetime: TFileTime): TDateTime;
begin
 result := FileTimeToDate(filetime) + FileTimeToTime(filetime);
end;

{****************************************************}

procedure TForm1.Button1Click(Sender: TObject);
var
 Info_File1,
  Info_File2        : TWin32FileAttributeData;
 File1,
  File2             : string;
 Date_File1,
  Date_File2        : TDateTime;
begin
 file1 := 'c:\Autoexec.bat';
 file2 := 'c:\bakup\Autoexec.bat';
 if (GetFileAttributesEx(PChar(file1), GetFileExInfoStandard, @Info_File1)) then
  begin
   if (GetFileAttributesEx(PChar(file2), GetFileExInfoStandard, @Info_File2)) then
    begin
     FileTimeToDateTime(Info_File1.ftLastWriteTime);
     FileTimeToDateTime(Info_File2.ftLastWriteTime);
     if (Date_File1 <> Date_File2) then
      begin
       if not (CopyFile(PChar(file1), PChar(File2), False)) then
        begin
         ShowMessage('Kopieren fehlgeschlagen')
        end;
      end;
    end;
  end;
end;

Dede 12. Mär 2003 09:23

Danke, danke!
Das sieht doch schon vielversprechend aus, kanns nur leider jetzt nicht testen, da ich hier auf der Arbeit bin und hier kein Delphi installiert ist :evil:

Gruß
Dede


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz