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

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

Аватара для Johny777

Ветеран


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

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


Неадекватный,
небольшой апдейт к твоему скрипту
блокировка/разблокировка кнопки "далее" в зависимости от того есть ли текст во всех эдитах
припиши всем эдитам OnChange := @EditsOnChange; *(или в дизайнере во вкладке события назначь)

читать дальше »
Код: Выделить весь код
procedure EditsOnChange(Sender: TObject);
begin
  WizardForm.NextButton.Enabled := (NewEdit1.Text <> '') and (NewEdit2.Text <> '') and (NewEdit3.Text <> '')  and (NewEdit4.Text <> '')and (NewEdit5.Text <> '');
end;

procedure RedesignWizardForm;
begin

 ....

  NewEdit1 := TNewEdit.Create(WizardForm);
  with NewEdit1 do
  begin

    ....
    OnChange := @EditsOnChange;  /// пример
  end;

 ....

end;

procedure CurPageChanged(CurPageID: Integer); 
begin
    case CurPageID of
        ISCustomPage1.ID: WizardForm.NextButton.Enabled := (NewEdit1.Text <> '') and (NewEdit2.Text <> '') and (NewEdit3.Text <> '')  and (NewEdit4.Text <> '')and (NewEdit5.Text <> '');
    end;
end;


хотя не знаю являются ли твои настройки xml опициональными

полный код:

читать дальше »
Код: Выделить весь код
[Setup]
AppName=Моё Программное Обеспечение
AppVersion=1.5
;AppVerName=Моё Программное Обеспечение 1.5
DefaultDirName={pf}\Моё Программное Обеспечение
DefaultGroupName=Моё Программное Обеспечение
OutputDir=.
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

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

[Icons]
Name: "{group}\{cm:UninstallProgram,Моё Программное Обеспечение}"; Filename: "{uninstallexe}"

[CustomMessages]
Russian.Caption=Настройка профиля по умолчанию
Russian.Description=Настройте профиль в соответствии с вашим оператором
Russian.SettingsProfile=Настройка профиля
Russian.Operator=Оператор:
Russian.UserName=Имя пользователя:
Russian.Password=Пароль:
Russian.NumberDial=Номер набора:
Russian.APN=Точка доступа:


[  code]
var
  ISCustomPage1: TWizardPage;
  NewGroupBox1: TNewGroupBox;
  NewStaticText1: TNewStaticText;
  NewEdit1: TNewEdit;
  NewStaticText2: TNewStaticText;
  NewEdit2: TNewEdit;
  NewStaticText3: TNewStaticText;
  NewEdit3: TNewEdit;
  NewStaticText4: TNewStaticText;
  NewEdit4: TNewEdit;
  NewStaticText5: TNewStaticText;
  NewEdit5: TNewEdit;



procedure EditsOnChange(Sender: TObject);
begin
  WizardForm.NextButton.Enabled := (NewEdit1.Text <> '') and (NewEdit2.Text <> '') and (NewEdit3.Text <> '')  and (NewEdit4.Text <> '')and (NewEdit5.Text <> '');
end;


procedure RedesignWizardForm;
begin
  ISCustomPage1 := CreateCustomPage(wpSelectDir, CustomMessage('Caption'), CustomMessage('Description'));

  with ISCustomPage1.Surface do
  begin
    Name := 'ISCustomPage1';
  end;

  NewGroupBox1 := TNewGroupBox.Create(WizardForm);
  with NewGroupBox1 do
  begin
    Name := 'NewGroupBox1';
    Parent := ISCustomPage1.Surface;
    Left := ScaleX(16);
    Top := ScaleY(8);
    Width := ScaleX(377);
    Height := ScaleY(209);
    Caption := CustomMessage('SettingsProfile');

  end;

  NewStaticText1 := TNewStaticText.Create(WizardForm);
  with NewStaticText1 do
  begin
    Name := 'NewStaticText1';
    Parent := NewGroupBox1;
    Caption := CustomMessage('Operator');
    Left := ScaleX(32);
    Top := ScaleY(31);
    Width := ScaleX(100);
    Height := ScaleY(14);
  end;

  NewEdit1 := TNewEdit.Create(WizardForm);
  with NewEdit1 do
  begin
    Name := 'NewEdit1';
    Parent := NewGroupBox1;
    Left := ScaleX(136);
    Top := ScaleY(28);
    Width := ScaleX(121);
    Height := ScaleY(21);
    Text := '';
    OnChange := @EditsOnChange;
  end;

  NewStaticText2 := TNewStaticText.Create(WizardForm);
  with NewStaticText2 do
  begin
    Name := 'NewStaticText2';
    Parent := NewGroupBox1;
    Caption := CustomMessage('UserName');
    Left := ScaleX(32);
    Top := ScaleY(57);
    Width := ScaleX(100);
    Height := ScaleY(14);
  end;

  NewEdit2 := TNewEdit.Create(WizardForm);
  with NewEdit2 do
  begin
    Name := 'NewEdit2';
    Parent := NewGroupBox1;
    Left := ScaleX(136);
    Top := ScaleY(53);
    Width := ScaleX(121);
    Height := ScaleY(21);
    Text := '';
    OnChange := @EditsOnChange;
  end;

  NewStaticText3 := TNewStaticText.Create(WizardForm);
  with NewStaticText3 do
  begin
    Name := 'NewStaticText3';
    Parent := NewGroupBox1;
    Caption := CustomMessage('Password');
    Left := ScaleX(32);
    Top := ScaleY(80);
    Width := ScaleX(100);
    Height := ScaleY(14);
  end;

  NewEdit3 := TNewEdit.Create(WizardForm);
  with NewEdit3 do
  begin
    Name := 'NewEdit3';
    Parent := NewGroupBox1;
    Left := ScaleX(136);
    Top := ScaleY(77);
    Width := ScaleX(121);
    Height := ScaleY(21);
    Text := '';
    OnChange := @EditsOnChange;
  end;

  NewStaticText4 := TNewStaticText.Create(WizardForm);
  with NewStaticText4 do
  begin
    Name := 'NewStaticText4';
    Parent := NewGroupBox1;
    Caption := CustomMessage('NumberDial');
    Left := ScaleX(32);
    Top := ScaleY(103);
    Width := ScaleX(100);
    Height := ScaleY(14);
  end;

  NewEdit4 := TNewEdit.Create(WizardForm);
  with NewEdit4 do
  begin
    Name := 'NewEdit4';
    Parent := NewGroupBox1;
    Left := ScaleX(136);
    Top := ScaleY(100);
    Width := ScaleX(121);
    Height := ScaleY(21);
    Text := '';
    OnChange := @EditsOnChange;
  end;

  NewStaticText5 := TNewStaticText.Create(WizardForm);
  with NewStaticText5 do
  begin
    Name := 'NewStaticText5';
    Parent := NewGroupBox1;
    Caption := CustomMessage('APN');
    Left := ScaleX(32);
    Top := ScaleY(127);
    Width := ScaleX(100);
    Height := ScaleY(14);
  end;

  NewEdit5 := TNewEdit.Create(WizardForm);
  with NewEdit5 do
  begin
    Name := 'NewEdit5';
    Parent := NewGroupBox1;
    Left := ScaleX(136);
    Top := ScaleY(124);
    Width := ScaleX(121);
    Height := ScaleY(21);
    Text := '';
    OnChange := @EditsOnChange;
  end;

  NewStaticText1.TabOrder := 0;
  NewEdit1.TabOrder := 1;
  NewStaticText2.TabOrder := 2;
  NewEdit2.TabOrder := 3;
  NewStaticText3.TabOrder := 4;
  NewEdit3.TabOrder := 5;
  NewStaticText4.TabOrder := 6;
  NewEdit4.TabOrder := 7;
  NewStaticText5.TabOrder := 8;
  NewEdit5.TabOrder := 9;

  NewGroupBox1.TabOrder := 0;
end;

procedure InitializeWizard();
begin
    RedesignWizardForm;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
    case CurPageID of
        ISCustomPage1.ID: WizardForm.NextButton.Enabled := (NewEdit1.Text <> '') and (NewEdit2.Text <> '') and (NewEdit3.Text <> '')  and (NewEdit4.Text <> '')and (NewEdit5.Text <> '');
    end;
end;

Последний раз редактировалось Johny777, 12-06-2012 в 11:00.

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:22, 12-06-2012 | #250