Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.07.2012, 11:47   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

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

только чуток подкорректируйте его, чтобы он (обработчик) работал с тем эдитом, на которой щёлкнули. для этого используем объект Sender:
Код:
procedure TForm1.Edit1Click(Sender: TObject);
begin
  if Not (Sender is TEdit) then Exit; {защита от того, что обработчик повесите на левый контрол, не TEdit...}
  TEdit(Sender).tag := TEdit(Sender).tag + 1;
  if  TEdit(Sender).tag = 1 then
         TEdit(Sender).SelectAll;
end;

Последний раз редактировалось Serge_Bliznykov; 11.07.2012 в 12:38.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.07.2012, 12:16   #12
Raf-9600
Пользователь
 
Регистрация: 10.07.2012
Сообщений: 34
По умолчанию

Serge_Bliznykov, благодарю. Я просто про Sender мало знаю...
Но компилятор почему-то ругаеться на эту строчку:
Код:
TEdit(Sender).tag:=TEdit(Sender)+1;
Говорит: [Error] MainModule.pas(1591): Incompatible types

Последний раз редактировалось Raf-9600; 11.07.2012 в 12:18.
Raf-9600 вне форума Ответить с цитированием
Старый 11.07.2012, 12:22   #13
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

Код:
TEdit(Sender).Tag+1;
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 11.07.2012, 12:37   #14
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Zer0, ага. точно. спасибо.
я опечатался... поправил в исходном сообщении
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.07.2012, 12:37   #15
Raf-9600
Пользователь
 
Регистрация: 10.07.2012
Сообщений: 34
По умолчанию

Zer0, благодарю
Raf-9600 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить, в фокусе ли EDIT поле. USB2.0 Win Api 5 02.11.2008 21:07
MFC: как передать фокус елементу управления "edit" ? umnick Visual C++ 2 02.11.2008 18:45
Может кто знает как вставить текст в чужое поле ввода Dark_Elf Win Api 4 20.08.2008 13:47
Как создать поле Edit Д'якон Win Api 1 02.03.2008 01:30