Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

замена ввода в консольном приложении [D7, Win95/98, WinME, NT4, Win2k, WinXP]


Doomin ©   (2003-12-05 11:08:00) 

Подскажите, пожалуйста, как в консольном приложении заменять вводимые пользователем символы (эхо) какими то другими (например, *) для скрытия ввода пароля?


Doomin   (2003-12-05 13:19:00) [1]

сделал хитрее:

h := GetStdHandle(STD_OUTPUT_HANDLE);
write(ConvertToOEM("Введите пароль: "));
SetConsoleTextAttribute(h, FOREGROUND_RED or FOREGROUND_GREEN or FOREGROUND_BLUE or
BACKGROUND_BLUE or BACKGROUND_GREEN or BACKGROUND_RED);
Readln(St);
User.Password := St;
SetConsoleTextAttribute(h, FOREGROUND_RED or FOREGROUND_GREEN or FOREGROUND_BLUE);

теперь пароль рисуется белыми квадратиками, что в общем-то достаточно. Спасибо


BiN   (2003-12-05 11:32:00) [2]

не использовать Readln и Read

отключи ENABLE_ECHO_INPUT и ENABLE_LINE_INPUT
но при этом придется самому обрабатывать нажатия

вообще смотри SetConsoleMode


Наверх

Титульная страница Поиск, карта сайта Написать письмо