![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
замена ввода в консольном приложении [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