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

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

Аватара для Tco 03

Пользователь


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

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


Johny777
Цитата Johny777:
его нельзя переименовывать так просто тк путь к экзешнику лежит в реестре и по нему, пути, вызывается удаление »
По мне так зачем это вообще нужно делать. Сразу же при повторной установке рядом создаётся файл unins000.exe Тут типа нужно делать проверку об установлееной программе или ещё что..., а так, никакой эстетики Мысли в слух: Кому придёт в голову сразу же повторно устанавливать прогу...

EvilAlex
Цитата EvilAlex:
А как сделать так чтобы боттоны занли что выбирает пользователь ? надо приписывать код или это автоматически ? »
Радиобаттонами я не пользуюсь...
Вот пример проверки чекбоксов:
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
OutputDir=.

[Files]
Source: 1.zip; DestDir: {app}\File1.exe; Check: NewCheckBox1Result;
Source: 2.zip; DestDir: {app}\File2.exe; Check: NewCheckBox2Result;

[  Code]
var
  NewCheckBox1: TNewCheckBox;
  NewCheckBox2: TNewCheckBox;
  
function NewCheckBox1Result: boolean;
begin
  Result:=NewCheckBox1.Checked;
end;

function NewCheckBox2Result: boolean;
begin
  Result:=NewCheckBox2.Checked;
end;

procedure NewCheckBox1Click(Sender: TObject);
begin
  if NewCheckBox1.Checked then begin
    NewCheckBox2.Checked:= false;
    NewCheckBox2.Enabled:= false;
  end
  else if not NewCheckBox1.Checked then begin
    NewCheckBox2.Enabled:= True;
  end;
end;

procedure NewCheckBox2Click(Sender: TObject);
begin
  if NewCheckBox2.Checked then begin
    NewCheckBox1.Checked:= false;
    NewCheckBox1.Enabled:= false;
  end
  else if not NewCheckBox2.Checked then begin
    NewCheckBox1.Enabled:= True;
  end;
end;

procedure RedesignWizardForm;
begin
  NewCheckBox1 := TNewCheckBox.Create(WizardForm);
  with NewCheckBox1 do
  begin
    Name := 'NewCheckBox1';
    Parent := WizardForm.WelcomePage;
    Left := ScaleX(208);
    Top := ScaleY(208);
    Width := ScaleX(97);
    Height := ScaleY(17);
    OnClick := @NewCheckBox1Click;
  end;

  NewCheckBox2 := TNewCheckBox.Create(WizardForm);
  with NewCheckBox2 do
  begin
    Name := 'NewCheckBox2';
    Parent := WizardForm.WelcomePage;
    Left := ScaleX(208);
    Top := ScaleY(232);
    Width := ScaleX(97);
    Height := ScaleY(17);
    OnClick := @NewCheckBox2Click;
  end;

  NewCheckBox1.TabOrder := 2;
  NewCheckBox2.TabOrder := 3;
end;

procedure InitializeWizard();
begin
  RedesignWizardForm;
end;

Вот также пример из Help-а, чекбоксы работают как радиобаттоны:
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.7
DefaultDirName={pf}\My Program
OutputDir=.

[  Code]
var
Check: array [0..2] of TCheckBox;

procedure Check0(Sender: TObject);
begin
if Check[0].Checked then
begin
Check[1].Checked := False;
Check[2].Checked := False;
end;

if (Check[0].Checked = False) and (Check[1].Checked = False)
and (Check[2].Checked = False) then Check[0].Checked := True;
end;

procedure Check1(Sender: TObject);
begin
if Check[1].Checked then
begin
Check[0].Checked := False;
Check[2].Checked := False;
end;

if (Check[0].Checked = False) and (Check[1].Checked = False)
and (Check[2].Checked = False) then Check[1].Checked := True;
end;

procedure Check2(Sender: TObject);
begin
if Check[2].Checked then
begin
Check[0].Checked := False;
Check[1].Checked := False;
end;

if (Check[0].Checked = False) and (Check[1].Checked = False)
and (Check[2].Checked = False) then Check[2].Checked := True;
end;

procedure InitializeWizard();
begin
Check[0] := TCheckBox.Create(WizardForm);
with Check[0] do
begin
Parent := WizardForm.SelectDirPage;
Checked := True;
Top := ScaleY(100);
OnClick := @Check0;
Caption := 'Чекбокс №1';
end;

Check[1] := TCheckBox.Create(WizardForm);
with Check[1] do
begin
Parent := WizardForm.SelectDirPage;
Top := ScaleY(120);
OnClick := @Check1;
Caption := 'Чекбокс №2';
end;

Check[2] := TCheckBox.Create(WizardForm);
with Check[2] do
begin
Parent := WizardForm.SelectDirPage;
Top := ScaleY(140);
OnClick := @Check2;
Caption := 'Чекбокс №3';
end;
end;

Последний раз редактировалось Tco 03, 19-02-2013 в 00:35.


Отправлено: 17:37, 18-02-2013 | #1670