Как замаскировать пароли в TEdit? - PullRequest
2 голосов
/ 27 ноября 2009

Я делаю систему входа в систему,

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

пример

alt text

Ответы [ 2 ]

5 голосов
/ 27 ноября 2009

Установите свойство PasswordChar вашего поля редактирования на *.

Это заставит отображать только звездочки, но реальный текст все еще доступен для вас в свойстве Text.

1 голос
/ 27 ноября 2009

После ваших комментариев в принятом ответе Blorgbeard (на самом деле вы должны отредактировать свой вопрос);

1) Если вам нужно только запомнить имя пользователя с момента последнего входа в систему, сохраните что-нибудь в разделе «Текущий пользователь» реестра. О Delphi - хранение вещей в реестре и т. Д. и Подробнее о хранении в реестре может помочь.

2) Если вы хотите смоделировать passwordchar в окне редактирования другого типа, то вам, вероятно, нужно подключиться к событию нажатия клавиши. Вы захотите иметь некоторую переменную формы для хранения «реального» пароля, поскольку он накапливается при нажатии клавиш, и вы захотите изменить символ нажатия клавиши на «*» (или любой другой), как только вы захватили нажатие клавиши но до того, как символ переходит в поле редактирования.

Я бы предположил, что вам поможет или форма keypreview, или просто события keyup / keydown. Вам нужно будет следить за возвратом / удалением, или пользователь делает копию / вставку в поле редактирования.

Я подозреваю, что с этим достаточно «крайних случаев», чтобы отвлечь вас - вы уверены, что в вашем компоненте нет механизма маскировки паролей?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...