Настройка Inno: как показать (скрыть / не показывать) пароль при установленном флажке

#inno-setup #pascalscript

#inno-setup #pascalscript

Вопрос:

Я добавляю флажок на свою страницу запроса ввода, чтобы использовать его, чтобы показывать мне открытый пароль, когда установлен флажок. Но я не знаю, как это сделать.

Я уже создал следующую процедуру. Но эта процедура не изменяет значение true false при добавлении ввода. Эта процедура добавляет мне новое текстовое поле, которое выполняет эту работу.

Не могли бы вы, пожалуйста, мне помочь?

 procedure SPCheckBoxChecked(Sender: TObject);
begin
    if Assigned(SPCheckBox) then
  begin
    if SPCheckBox.Checked then
       CredentialsPage.Add('Password:', False)
    if not SPCheckBox.Checked then
       CredentialsPage.Add('Password:', True)
  end;
end;
  

Ответ №1:

Использовать TPasswordEdit.Password свойство:

 [Code]

var
  InputQueryPage: TInputQueryWizardPage;

procedure ShowPasswordCheckClick(Sender: TObject);
begin
  InputQueryPage.Edits[0].Password := not TNewCheckBox(Sender).Checked;
end;

procedure InitializeWizard();
var
  ShowPasswordCheck: TNewCheckBox;
begin
  InputQueryPage := CreateInputQueryPage(
    wpWelcome, 'Password prompt', 'Please enter your password', '');
  InputQueryPage.Add('Password:', True);

  ShowPasswordCheck := TNewCheckBox.Create(WizardForm);
  ShowPasswordCheck.Parent := InputQueryPage.Surface;
  ShowPasswordCheck.Top :=
    InputQueryPage.Edits[0].Top   InputQueryPage.Edits[0].Height   ScaleY(8);
  ShowPasswordCheck.Height := ScaleY(ShowPasswordCheck.Height);
  ShowPasswordCheck.Caption := 'amp;Show password';
  ShowPasswordCheck.OnClick := @ShowPasswordCheckClick;
end;
  

введите описание изображения здесь

введите описание изображения здесь

Комментарии:

1. большое вам спасибо @Martin Prikryl, я ценю ваш быстрый ответ.