nOobCrafter
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору [Setup] AppName=My Program AppVerName=My Program version 1.5 DefaultDirName={pf}\My Program Uninstallable=no [Code_] type TSHFileOpStruct=record Wnd: HWND; wFunc: UINT; pFrom: PChar; pTo: PChar; fFlags: Word; fAnyOperationsAborted: BOOL; hNameMappings: HWND; lpszProgressTitle: PChar; end; function SHFileOperation(const lpFileOp: TSHFileOpStruct):integer; external 'SHFileOperation@shell32.dll stdcall'; function CopyFile_(FromFile,ToDir:string;IsRemove:boolean):boolean; var F:TShFileOpStruct; a1,a2:string; begin F.Wnd:=0; if IsRemove then F.wFunc:=$0001 else F.wFunc:=$0002; a1:=FromFile+#0#0; F.pFrom:=PChar(a1); a2:=AddBackslash(ToDir)+#0#0; F.pTo:=PChar(a2); F.fFlags:=$0254; Result:=(ShFileOperation(F)=0); end; procedure BackupDir(const FromDir,ToDir,FileMask:string;IsRemove,IncludeSubDirs:boolean); var FindRec:TFindRec; sFileName,fd,td:string; begin fd:=AddBackslash(FromDir); td:=AddBackslash(ToDir); ForceDirectories(td); if FindFirst(fd+FileMask,FindRec) then begin try repeat sFileName:=fd+FindRec.Name; if ((FindRec.Attributes and FILE_ATTRIBUTE_DIRECTORY)=0) then CopyFile_(sFileName,td,IsRemove) else if IncludeSubDirs then if (FindRec.Name<>'') and (FindRec.Name<>'.') and (FindRec.Name<>'..') then BackupDir(sFileName,td+FindRec.Name,FileMask,IsRemove,IncludeSubDirs); until not FindNext(FindRec); finally FindClose(FindRec); end; end; end; procedure InitializeWizard(); begin BackupDir('d:\222\ISGSG_NEW','d:\Backup\'+GetDateTimeString('yyyy/mm/dd hh:nn:ss','_','.'),'*.*',False,True); end; | Всего записей: 99 | Зарегистр. 26-06-2008 | Отправлено: 12:31 11-08-2008 | Исправлено: nOobCrafter, 13:24 11-08-2008 |
|