![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как заменить символы на * [D7]
Bogdan © (2005-02-27 16:22:00)Здравствуйте, такой вопрос: как можно заменить печатающиеся символы на *. Точно так, как при вводе пароля. Благодарен за ответ.
Anatoly Podgoretsky (2005-02-27 16:54:00) [1]begin...end © (27.02.05 16:45) [14]
Трудно сказать, зачем нужно автору символы менятьна звездочки, но именно это он и попросил. Только обработчик события клавиши это не то, не надежно, ввести туда можно и без клавиатуры, менять надо именно в OnChange/
olookin (2005-02-27 16:49:00) [2][14] begin...end © (27.02.05 16:45)
Колоссально...
Kerk (2005-02-27 16:48:00) [3]begin...end © (27.02.05 16:45) [14]
это, уж извините, именно велосипед. И именно с квадратными колёсами.
Зато смешно :)
begin...end (2005-02-27 16:46:00) [4]> begin...end © (27.02.05 16:45) [14]
> Так что [3] и [5] ...
Так что [2] и [5] ...
begin...end (2005-02-27 16:45:00) [5]> olookin © (27.02.05 16:38) [11]
Вы то-сами как считаете - что проще: изменить значение одного свойства или написать целый обработчик?
А теперь внимание - самое главное. Если воспользоваться [3], то после ввода в edit текста в нём будут видны, например, звёздочки (что и требуется), но в свойстве Edit.Text будет введённый текст . А если воспользоваться [2] или [5], то звёздочки, конечно, тоже отобразятся, но в Edit.Text тоже будут одни звёздочки ! Ну и зачем нужен такой ввод текста? Чтобы потом подсчитать количество звёздочек?
Так что [3] и [5] - это, уж извините, именно велосипед. И именно с квадратными колёсами.
Kerk (2005-02-27 16:44:00) [6]Antonn © (27.02.05 16:39) [12]
а passwordchar заменить на * никак?
[5] - надежнее :)
Antonn (2005-02-27 16:39:00) [7]Bogdan (27.02.05 16:34) [9]
а passwordchar заменить на * никак?
olookin (2005-02-27 16:38:00) [8][10] begin...end © (27.02.05 16:35)
Ну уж велосипед сразу... Лично я бы стал менять содержимое TEdit через его OnChange. Не знал, что можно OnKeyPress использовать (см. Kerk). Так что перефразирую ваш велосипед на свой лад - Век живи, век учись...
begin...end (2005-02-27 16:35:00) [9]Да, желание изобретать велосипед с квадратными колёсами труднопреодолимо.
Bogdan (2005-02-27 16:34:00) [10]>Kerk © (27.02.05 16:29) [5]
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Key := '*';
end;
Если это правильно то все ОК!!!
А заменять нужно в TEdit.
olookin (2005-02-27 16:34:00) [11][7] Kerk © (27.02.05 16:32)
Тогда понятно...
Kerk (2005-02-27 16:32:00) [12]olookin © (27.02.05 16:30) [6]
KeyPress конечно имелось ввиду :)
olookin (2005-02-27 16:30:00) [13][5] Kerk © (27.02.05 16:29)
Пробовали? Компилируется?
Kerk (2005-02-27 16:29:00) [14]
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Key := '*';
end;
Antonn (2005-02-27 16:26:00) [15]2 Bogdan -->
> Заменить ГДЕ?
Компонент какой?
begin...end (2005-02-27 16:26:00) [16]> Bogdan (27.02.05 16:22)
Если имеется в виду компонент TEdit, то см. свойство TEdit.PasswordChar.
olookin (2005-02-27 16:25:00) [17]Например в событии OnChange
begin...end (2005-02-27 16:23:00) [18]> Bogdan (27.02.05 16:22)
Заменить ГДЕ?