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

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

Подскажите плз в чем может быть причина [D7, XP]


smartleds ©   (2008-05-12 13:52:00) 

в поле ввода text edit при первом вводе в поле ввода после старта программы, при вводе первого символа курсор не сдвигается вправо, начинает сдвигаться только  при вводе второго.
например, вожу слово privet
пусть |-> положение курсора
при вводе буквы "p" получаю такую ситуацию
1)  |p  , а должно быть p|
когда ввожу вторую букву , то она вводится на место положения курсора получаем
2). r|p , а должно быть pr|

не пойму в чем дело это только при первом старте программы , потом все нормально вводится


Amoeba   (2008-05-12 14:50:00) [1]

Еще замени в обработчике
form1.Edit1.PasswordChar := '*';
на
Edit1.PasswordChar := '*';
И больше так никогда не пиши


{RASkov}   (2008-05-12 14:30:00) [2]

> [12] smartleds   (12.05.08 14:29)
> и эффектпропал

И ты это называешь эффектом? :) Да твоя программа в целом эффект еще тот :)))


smartleds   (2008-05-12 14:29:00) [3]

Спасибо всем , убрал из обработчика form1.Edit1.PasswordChar := '*'; и вставил, как тут советовали в formcreate  и эффект пропал


{RASkov}   (2008-05-12 14:29:00) [4]

....а не программа)


Anatoly Podgoretsky   (2008-05-12 14:28:00) [5]

Ужас!


Ega23   (2008-05-12 14:22:00) [6]


> Вот у меня обработчик такой , при помощи этого эдита пароль
> ввожу
>
> procedure TForm1.Edit1Change(Sender: TObject);
>
> begin
> form1.Edit1.PasswordChar := '*';
> end;
>


Ужас какой...  :(


Palladin   (2008-05-12 14:21:00) [7]

хем... и чем же продиктовано, столь божественное откровение, при каждом изменении данных выставлять все время одно и тоже свойство, которое достаточно один раз выставить в дизайнере формы?


smartleds   (2008-05-12 14:21:00) [8]

вот сама программа
// --------- Button Enter ---------------
procedure TForm1.Button2Click(Sender: TObject);
var pass:string;
begin
pass:=edit1.text;
//form1.Memo1.Lines.Append(' pass='+(pass)+'  ');

if  pass='privet' then begin
                           form1.Memo1.Lines.Append('Пароль принят'+'  ');
                           button1.Click;
                           end
else form1.Memo1.Lines.Append('не верный пароль'+'  ');

end;


Palladin   (2008-05-12 14:21:00) [9]

с дубу рухнуть можно, на какие выдумки голь хитра...


{RASkov}   (2008-05-12 14:21:00) [10]

> [5] smartleds   (12.05.08 14:19)

Ну и зачем так делать???
Это нужно 1 раз только, например при создании формы ...или вообще в ио
Вот поэтому и прыгает, так как идет пересоздание окна эдита


smartleds   (2008-05-12 14:19:00) [11]

Вот у меня обработчик такой , при помощи этого эдита пароль ввожу

procedure TForm1.Edit1Change(Sender: TObject);

begin
form1.Edit1.PasswordChar := '*';
end;


Big Joe   (2008-05-12 14:17:00) [12]

Может быть в обработчике есть что-то вроде SetFocus ...


{RASkov}   (2008-05-12 14:14:00) [13]

> Однозначно в обработчиках данного эдита...

ну или по таймеру :).... ужас какой)


{RASkov}   (2008-05-12 14:13:00) [14]

> [0] smartleds   (12.05.08 13:52)
> Подскажите плз в чем может быть причина

Однозначно в обработчиках данного эдита... ищи места с установкой курсора, например SelStart....


Palladin   (2008-05-12 14:03:00) [15]

кто'ж тебя знает чего ты там напрограммировал..


Наверх

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