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

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

Забанен


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

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


Цитата ZVSRus:
Ну почему же не получится, получиться, просто я написал потому что в дальнейшем вам захочется ещё какой то чекбокс разместить, а места уже не будет хватать на странице.
Check: IsChecked это проверочная функция, IsChecked - это внутреннее название функции, оно может быть любое (по английски).
Можно и без неё, но ярлыки будут устанавливаться и при распаковке портативной программы, а это не к чему. »
А как в вашем коде прописать данные для "Требуемое место на диске" для двух программ по отдельности соответственно ?
И если вернуться к вопросу "Как сделать ярлык в меню пуск,без выбора создания ярлыка в меню Пуск,(чтобы по умолчанию) создавался,только для одной программы?
Цитата Vanadiy777:
Вы, или полностью свой скрипт дайте, чтобы было понятно, или мат. часть учите... »
Код: Выделить весь код
 #define MyAppName_1 "Программа 1"
 #define MyAppName_2 "Программа 2"

[Setup]
 AppName=My Program
 AppVerName=My Program v 1.7
 DefaultDirName={pf}\Программа 1
 OutputDir=.

[Files]
 Source: compiler:Examples\MyProg1.exe; DestDir: {app}; Check: IsChecked_1; Flags: ignoreversion;
 Source: compiler:Examples\MyProg2.exe; DestDir: {app}; Check: IsChecked_2; Flags: ignoreversion;

[Code__]
var
  Check: array [0..1] of TCheckBox;

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

if (Check[0].Checked = False) and (Check[1].Checked = False) then Check[0].Checked := True;
if Check[0].Checked then WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{pf}')) + '{#MyAppName_1}';
end;

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

if (Check[0].Checked = False) and (Check[1].Checked = False) then Check[1].Checked := True;
if Check[1].Checked then WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{sd}')) + '{#MyAppName_2}';
end;

//--------------------------------------------------\\
function IsChecked_1: boolean;
begin
	Result:= Check[0].Checked;
end;
//--------------------------------------------------\\
function IsChecked_2: boolean;
begin
	Result:= Check[1].Checked;
end;
//--------------------------------------------------\\

procedure InitializeWizard();
begin
Check[0] := TCheckBox.Create(WizardForm);
  with Check[0] do
  begin
    Parent := WizardForm.SelectDirPage;
    Checked := True;
    Top := ScaleY(120);
    OnClick := @Check0;
    Caption := 'Программа 1';
  end;

Check[1] := TCheckBox.Create(WizardForm);
  with Check[1] do
  begin
    Parent := WizardForm.SelectDirPage;
    Top := ScaleY(150);
    OnClick := @Check1;
    Caption := 'Программа 2';
  end;
end;
Цитата Vanadiy777:
Или аппетит приходит во время еды? »
Просто люди реально знают, а не банальные флудеры.
Да и другим будет познавательно.

Последний раз редактировалось serg5, 07-07-2022 в 14:58.


Отправлено: 14:49, 07-07-2022 | #808