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

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

Перевод Ф.И.О. в верхний регистр


Страницы:   1 2 3

zdm ©   (2008-09-29 14:35:00) 

Добрый день. Вот такая вот задачка, юзер вбивает фамилию, имя, отчество и после нажатия пробела между, соответсвенно фам, имени первые буквы должны переводиться в верхний регистр. Ни чего умнее как
procedure TForm4.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);

begin
 if q=1 then //был пробел, следующий символ переводим в верхний регистр
 begin
    Edit1.Text:=Copy(edit1.Text,1,Length(Edit1.Text)-1)+AnsiUpperCase(copy(Edit1.Text,Length(Edit1.Text),1));
 end;
//ловим нажатие пробела  
   if key = VK_SPACE then  q:=1 else q:=0;
end;
 я не придумал... но почемуто срабатывает когда переменная q-глобальная и если очень быстро набирать, то косяк получается, как будто комп запаздывает за набиранием и переводятся не те символы которые нужны...


Anatoly Podgoretsky   (2008-09-29 14:44:00) [41]

Это еще пользователь не перемещался мышкой по органу, вот тут и кырдык придет.


{RASkov}   (2008-09-29 14:44:00) [42]

А если делать чтоб при вводе, то можно добится всего этого... т.е. лешить косяков алгоритм, но он будет ресурсоемким(времязатратным).... В общем - не оптимальным....


zdm   (2008-09-29 14:43:00) [43]

согласен, на счет двух пробелов и прочих ньюансов это потом.. в Word допустим, все в реальном времени отрабатывается....


{RASkov}   (2008-09-29 14:42:00) [44]

В данном алгоритме кроме двух пробелов еще кучу косяков можно найти.... например нажатие Del перед первой загавной и впечатывании следом другой буквы.... Вообщем туфта идея :)


Юрий Зотов   (2008-09-29 14:41:00) [45]

Будет гораздо проще переводить регистр не сразу, а в событии OnExit. То есть, после полного окончания ввода.


{RASkov}   (2008-09-29 14:40:00) [46]

Плохой алгоритм.... а если два пробела нажать?
Лучше по окончанию ввода сделать нужное...


Страницы:   1 2 3

Наверх

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