Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)

Модерирует : gyra, Maz

Widok (23-04-2007 18:02): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
#define MaxBackup 3
 
[Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program
Compression=lzma
SolidCompression=yes
Uninstallable=no
 
[Files]
Source: Files\*.*; DestDir: {app}; BeforeInstall: CreateBackup
 
[Code]
var
  ArcDir: String;
  DirNames: TStringList;
 
procedure CreateBackup();
var
  SrcFile, DestFile: string;
begin
  ArcDir:= AddBackslash(ExpandConstant('{app}\Backup')) +
                  GetDateTimeString('yyyy/mm/dd hh:nn', '_', '.' );
  ForceDirectories(ArcDir);
  SrcFile:= AddBackslash(ExpandConstant('{app}')) + ExtractFileName(CurrentFileName);
  DestFile:= AddBackslash(ArcDir) + ExtractFileName(CurrentFileName);
  FileCopy(SrcFile, DestFile, False);
end;
 
procedure GetBackupCount();
var
  FindRec: TFindRec;
begin
  if FindFirst(ExpandConstant('{app}\Backup\*'), FindRec) then begin
    try
      DirNames:= TStringList.Create();
      DirNames.Sorted:= True;
      repeat
        if (FindRec.Attributes = FILE_ATTRIBUTE_DIRECTORY) and
           (FindRec.Name <> '.') and (FindRec.Name <> '..') then
          begin
            DirNames.Append(FindRec.Name);
          end;
      until not FindNext(FindRec);
    finally
      FindClose(FindRec);
    end;
  end;
end;
 
procedure CurStepChanged(CurStep: TSetupStep);
var
  i: integer;
begin
  if CurStep = ssInstall then
    begin
      GetBackupCount();
      if DirNames.Count >= StrToInt(ExpandConstant('{#MaxBackup}')) then
        begin
          for i:= DirNames.Count - StrToInt(ExpandConstant('{#MaxBackup}')) downto 0 do
            begin
              DelTree(ExpandConstant('{app}\Backup\') + DirNames[i], True, True, True);
            end;
        end;
    end;
end;  


Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 19:37 02-01-2007
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
Widok (23-04-2007 18:02): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru