salut tous le monde
je suis entrein de develppez un appication et je cherche comment faire une sauvegarde d'un dossier dans un autre repertoire
et je suis entrein de tester cette fonction
Merci de vous aides
Version imprimable
salut tous le monde
je suis entrein de develppez un appication et je cherche comment faire une sauvegarde d'un dossier dans un autre repertoire
et je suis entrein de tester cette fonction
Merci de vous aides
voir si SHFileOperation le permet
sinon, un FindFirst/FindNext, et copy manuel dans le nouveau dossier
Exemple
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 //---------------------------------------------------------------------------------------------------------------- // Déplace les Fichiers de Log dans un Répertoire Daté - //---------------------------------------------------------------------------------------------------------------- procedure ChangeLogServeurDirectory(); var SearchItem: TSearchRec; PathLog: String; BackUpPathLog: String; Compteur: Integer; const LogDir = 'Log\'; BackUpDir = 'BackUp\'; LogMaskExt = '*.*'; begin // Si la date d'aujourd'hui est dépassée if gDateOfToDay < Date() then begin PathLog := ExtractFilePath(Application.ExeName) + LogDir + ChangeFileExt(ExtractFileName(Application.ExeName), '\'); BackUpPathLog := PathLog + BackUpDir + 'Log ' + FormatDateTime('yyyy-mm-dd (dddd d mmmm)',Now()) + '\'; gDateOfToDay := Date(); Compteur := 1; while DirectoryExists( BackUpPathLog + 'No ' + IntToStr(Compteur) ) do begin Compteur := Compteur + 1; end; BackUpPathLog := BackUpPathLog + 'No ' + IntToStr(Compteur) + '\'; if not DirectoryExists(BackUpPathLog) then begin ForceDirectories(BackUpPathLog); end; if FindFirst(PathLog + LogMaskExt, faAnyFile - faDirectory, SearchItem ) = 0 then begin try repeat if (SearchItem.Name <> '.') and (SearchItem.Name <> '..') then begin if MoveFile( PChar(PathLog + SearchItem.Name), PChar(BackUpPathLog + ExtractFileName(SearchItem.Name)) ) then begin beep; end; end; until not ( FindNext(SearchItem) = 0 ); // Continuer tant que FindNext renvoi 0 finally FindClose(SearchItem); end; end; end; end;
ok je vais tester ce programme