Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 1133
Благодарности: 581

Профиль | Отправить PM | Цитировать


Цитата Chelluga:
В шапке темы я нашел четире версии прогресс-бара. »
Лучше всегда конкретика, т.е. ссылку на пример...
Вот вам простой пример:
Пример
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[Files]
Source: C:\Program Files\Inno Setup 5\*; DestDir: {app}; AfterInstall: Progress

[Code]
var
  ProgressLabel, SizeLabel: TLabel;

procedure Progress;
var
  size: Integer;
begin
  with WizardForm.ProgressGauge do
    ProgressLabel.Caption:= IntToStr((Position-Min)/((Max - Min)/100)) + ' %';
  FileSize(ExpandConstant(CurrentFileName), size);
  SizeLabel.Caption:= 'Размер ' + ExtractFileName(ExpandConstant(CurrentFileName)) + ': ' +
                      IntToStr(size) + ' байт';
end;

procedure InitializeWizard();
begin
  ProgressLabel:= TLabel.Create(WizardForm);
  with WizardForm.ProgressGauge do
    begin
      ProgressLabel.Top := Top + Height + ScaleY(8);
      ProgressLabel.Left:= Left + Width/2 - ScaleX(8);
      ProgressLabel.AutoSize := True;
      ProgressLabel.Parent := WizardForm.InstallingPage;
    end;
  SizeLabel:= TLabel.Create(WizardForm);
  with WizardForm.ProgressGauge do
    begin
      SizeLabel.Top := Top + Height + ScaleY(8);
      SizeLabel.Left:= Left;
      SizeLabel.AutoSize := True;
      SizeLabel.Parent := WizardForm.InstallingPage;
    end;
end;

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 00:47, 08-03-2010 | #1467