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

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

Как заменить символы на * [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)

Заменить ГДЕ?


Наверх

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