06. marts 2002 - 12:40Der er
5 kommentarer og 1 løsning
Sammenligning af dato på to filer
Hejsa
Jeg er ved at flikke et lille automatisk backup program sammen. Nu er jeg så stødt på problemet, at der jo kan være nogle dage, hvor jeg ikke er har maskinen tændt. Som udgangspunkt er mit system således:
Serveren laver en backup fil hver aften. Dvs. Man, Tirs, Ons, tors, fre og lørdag laver den incremental bakup, om søndagen laver den total backup.
Hver morgen når jeg starter min klient, vil jeg gerne have kopieret denne fil overpå min klientmaskine.
Men så er jeg jo nødt til at tage højde for, at det jo ikke er hver dag, man starter maskinen (feks. i weekenden). Dette vil jeg løse ved, at sammenligne datoen for filen på serveren, med datoen for filen på klienten. Hvis filen på serveren, så er nyere end den, der er på klienten, skal filen kopieres fra server til klient.
Jeg tror jeg skal bruge FileGetDate funktionen, men jeg kan ikke rigtig finde ud af bruge den !
Sådan sætter du en fil dato ----------- function SetFileDateTime(FileName : String; NewDateTime : TDateTime): Boolean; var FileHandle: Integer; FileTime: TFileTime; LFT: TFileTime; LST: TSystemTime; begin Result := False; Try DecodeDate(NewDateTime, LST.wYear, LST.wMonth, LST.wDay); DecodeTime(NewDateTime, LST.wHour, LST.wMinute, LST.wSecond,LST.wMilliSeconds); IF SystemTimeToFileTime(LST, LFT) Then begin IF LocalFileTimeToFileTime(LFT, FileTime) Then begin FileHandle := FileOpen(FileName, fmOpenReadWrite or fmShareExclusive); IF SetFileTime(FileHandle, NIL, NIL, @FileTime) Then Result := True; end; end; Finally FileClose(FileHandle); end; end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.