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

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

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

articlebot (13-10-2013 23:33): продолжение темы - №15
 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Gnom3



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

Код:
; Скрипт создан через Мастер Inno Setup Script.
; ИСПОЛЬЗУЙТЕ ДОКУМЕНТАЦИЮ ДЛЯ ПОДРОБНОСТЕЙ ИСПОЛЬЗОВАНИЯ INNO SETUP!
 
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
 
[Code*]
var
  UnInstPage: TWizardPage;
  fIleCount: TLabel;
  FileList: TNewListBox;
  UninsProgress: TNewProgressBar;
  OkButton,BrowseButton,UninsBtn: TNewButton;
  BrowseEdit: TNewEdit;
  ExtractTimer: TTimer;
  Step:Integer;
 
procedure UpdPos(lpStep: Integer);
var k: Integer;
begin
  for k:=1 to lpStep div 2 do begin
    UninsProgress.Position:= UninsProgress.Position+1;
    UninsProgress.Refresh;
  end;
end;
 
procedure Extracted(Sender: TObject);
var
 i: Integer;
begin
  for I:=0 to FileList.Items.Count-1 do begin
    UpdPos(Step);
    DeleteFile(FileList.Items.Strings[I]);
    UpdPos(Step);
    UninsProgress.Position:= Step*(i+1);
  end;
  UninsProgress.Position:=UninsProgress.Max;
  UninsProgress.Refresh;
  DelTree(BrowseEdit.Text,True,True,True);
  Sleep(500);
  ExtractTimer.Enabled:=False;
end;
 
procedure GetAllFiles(Path: string; Lb: TNewListBox);
var
sRec: TFindRec;
isFound: boolean;
begin
  isFound := FindFirst(Path +'\*.*',sRec);
  while isFound do
  begin
    if (sRec.Name <> '.') and (sRec.Name <> '..') then
    begin
      if (sRec.Attributes and FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY then
      GetAllFiles(Path + '\' + sRec.Name, Lb);
      Lb.Items.Add(Path + '\' + sRec.Name);
      fIleCount.Caption:= 'Количество файлов:'+ IntToStr(FileList.Items.Count);
    end;
    Application.ProcessMessages;
    isFound := FindNext(sRec);
  end;
  FindClose(sRec);
end;
 
procedure BrowseEditChange(Sender: TObject);
begin
  OkButton.Enabled:= BrowseEdit.Text<>'';
end;
 
procedure BrowseButtonClick(Sender: TObject);
var
  pach:String;
begin
  if BrowseForFolder('',pach,False)then
  BrowseEdit.Text:=pach;
  BrowseEditChange(nil);
end;
 
procedure OkButtonClick(Sender: TObject);
begin
  FileList.Clear;
  fIleCount.Caption:= 'Количество файлов:';
  GetAllFiles(BrowseEdit.Text, FileList );
  if FileList.Items.Count>0 then
  Step:= 1000 div FileList.Items.Count;
  UninsBtn.Enabled:=true;
end;
 
procedure UninsBtnClick(Sender: TObject);
begin
  ExtractTimer.Enabled:=True;
end;
 
procedure InitializeWizard();
begin
  { Creates custom wizard page }
  UnInstPage := CreateCustomPage(wpWelcome, 'Список файлов для удаления', 'Нажмите конпку Ок, чтобы получить список файлов');
 
  { fIleCount }
  fIleCount := TLabel.Create(WizardForm);
  with fIleCount do
  begin
    Parent := UnInstPage.Surface;
    Alignment := taCenter;
    AutoSize := False;
    Caption := 'Количество файлов:';
    SetBounds(ScaleX(104),ScaleY(190),ScaleX(161),ScaleY(13));
  end;
 
  { FileList }
  FileList := TNewListBox.Create(WizardForm);
  with FileList do
  begin
    Parent := UnInstPage.Surface;
    SetBounds(ScaleX(0),ScaleY(24),ScaleX(417),ScaleY(160));
    ItemHeight := 13;
    ItemIndex := -1;
  end;
 
  { UninsProgress }
  UninsProgress := TNewProgressBar.Create(WizardForm);
  with UninsProgress do
  begin
    Parent := UnInstPage.Surface;
    SetBounds(ScaleX(0),ScaleY(3),ScaleX(417),ScaleY(17));
    Max:=1000;
  end;
 
  { OkButton }
  OkButton := TNewButton.Create(WizardForm);
  with OkButton do
  begin
    Parent := UnInstPage.Surface;
    SetBounds(ScaleX(3),ScaleY(190),ScaleX(43),ScaleY(45));
    Caption := 'Ок';
    OnClick := @OkButtonClick;
  end;
 
  { BrowseEdit }
  BrowseEdit := TNewEdit.Create(WizardForm);
  with BrowseEdit do
  begin
    Parent := UnInstPage.Surface;
    SetBounds(ScaleX(48),ScaleY(214),ScaleX(290),ScaleY(21));
    OnChange := @BrowseEditChange;
  end;
 
  { BrowseButton }
  BrowseButton := TNewButton.Create(WizardForm);
  with BrowseButton do
  begin
    Parent := UnInstPage.Surface;
    SetBounds(ScaleX(342),ScaleY(212),ScaleX(75),ScaleY(23));
    Caption := 'Обзор';
    OnClick := @BrowseButtonClick;
  end;
 
  { UninsBtn }
  UninsBtn := TNewButton.Create(WizardForm);
  with UninsBtn do
  begin
    Parent := UnInstPage.Surface;
    SetBounds(ScaleX(312),ScaleY(185),ScaleX(105),ScaleY(23));
    Caption := 'Удаление';
    OnClick := @UninsBtnClick;
    Enabled:=False;
  end;
 
  ExtractTimer := TTimer.Create(WizardForm);
  with ExtractTimer do begin
    Interval := 100;
    OnTimer := @Extracted;
    Enabled:=False;
  end;
 
  BrowseEditChange(nil);
end;

Всего записей: 864 | Зарегистр. 14-11-2010 | Отправлено: 19:43 31-12-2011 | Исправлено: Gnom3, 20:15 31-12-2011
   

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

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
articlebot (13-10-2013 23:33): продолжение темы - №15


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru