Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Реализация временного отображения пароля в Delphi и Pascal для Android и Windows

Delphi , Синтаксис , Пароли

 

Введение

При разработке приложений с авторизацией часто возникает необходимость временно отображать введённый пароль, чтобы пользователь мог проверить правильность ввода. В этой статье мы рассмотрим несколько способов реализации этой функциональности в Delphi для платформ Windows и Android.

Основные подходы

1. Использование TEdit с TPasswordEditButton

Самый простой способ - использовать стандартный компонент TEdit с кнопкой для переключения видимости пароля:

procedure TForm1.PasswordEditButtonClick(Sender: TObject);
begin
  if PasswordEdit.PasswordChar = #0 then
    PasswordEdit.PasswordChar := '*'
  else
    PasswordEdit.PasswordChar := #0;
end;

Для Android можно использовать TEditButton:

procedure TForm1.EditButtonMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Single);
begin
  Edit1.PasswordChar := #0;
end;

procedure TForm1.EditButtonMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Single);
begin
  Edit1.PasswordChar := '*';
end;

2. Кастомный диалог с использованием IFMXDialogServiceAsync

Как предложил Remy Lebeau, можно создать собственный диалог:

type
  TCustomPasswordDialogService = class(TInterfacedObject, IFMXDialogServiceAsync)
  public
    function ShowInputQuery(const ACaption: string; const APrompts: TArray<string>; 
      const ADefaultValues: TArray<string>; const ACloseQueryProc: TInputCloseQueryProc): Boolean;
  end;

function TCustomPasswordDialogService.ShowInputQuery(const ACaption: string;
  const APrompts: TArray<string>; const ADefaultValues: TArray<string>;
  const ACloseQueryProc: TInputCloseQueryProc): Boolean;
begin
  // Реализация кастомного диалога с возможностью показа пароля
end;

Затем зарегистрировать его:

initialization
  TPlatformServices.Current.RemovePlatformService(IFMXDialogServiceAsync);
  TPlatformServices.Current.AddPlatformService(IFMXDialogServiceAsync, TCustomPasswordDialogService.Create);

3. Использование TFrame для Android (альтернатива Patrick PREMARTIN)

Для Android можно создать кастомный фрейм:

type
  TPasswordFrame = class(TFrame)
    BackgroundRect: TRectangle;
    PasswordEdit: TEdit;
    ShowButton: TButton;
    procedure ShowButtonClick(Sender: TObject);
  private
    FPasswordChar: Char;
  public
    constructor Create(AOwner: TComponent); override;
  end;

constructor TPasswordFrame.Create(AOwner: TComponent);
begin
  inherited;
  FPasswordChar := '*';
  PasswordEdit.PasswordChar := FPasswordChar;
end;

procedure TPasswordFrame.ShowButtonClick(Sender: TObject);
begin
  if PasswordEdit.PasswordChar = #0 then
    PasswordEdit.PasswordChar := FPasswordChar
  else
    PasswordEdit.PasswordChar := #0;
end;

Сравнение подходов

  1. TEdit с TPasswordEditButton:
    Плюсы: простота реализации, работает на всех платформах
    Минусы: нестандартный внешний вид на Android
  2. IFMXDialogServiceAsync:
    Плюсы: полный контроль над диалогом, единый интерфейс для всех платформ
    Минусы: сложность реализации, необходимость учитывать особенности каждой платформы

  3. TFrame для Android:
    Плюсы: нативный вид для Android, простота обновления
    Минусы: требует отдельной реализации для разных платформ

Рекомендации

Для кроссплатформенных приложений лучше использовать первый или второй подход. Если приложение ориентировано только на Android, третий вариант может дать более нативный пользовательский интерфейс.

Заключение

Реализация временного отображения пароля в Delphi возможна несколькими способами, каждый из которых имеет свои преимущества. Выбор конкретного метода зависит от требований к приложению и целевых платформ. Представленные в статье решения помогут разработчикам создать удобный интерфейс ввода пароля с возможностью его временного отображения.

Создано по материалам из источника по ссылке.

Статья описывает методы временного отображения пароля в Delphi-приложениях для Windows и Android с примерами кода и сравнением подходов.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Пароли ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-04 06:25:08/0.0077028274536133/1