Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.16;
Скачать: CL | DM;

Вниз

Как узнать по какому именно Edit(у) кликнули...   Найти похожие ветки 

 
EugenNFP   (2007-11-21 10:33) [0]

Здраствуйте!

  Есть, например, 5 эдитов, я кликаю по одному из них и мне нужно передать ему текст. Обычная процедура буттон клик для каждого эдита не подходит... хотел универсальную для всех одну, т.к. текст передается один и тот же...

 И можно ли будет передавать с другой формы этот текст?

Спасибо большое... )


 
{RASkov}   (2007-11-21 10:43) [1]

> Как узнать по какому именно Edit(у) кликнули...

У методов есть параметр Sender - это и есть тот самый объект, который вызвал данный метод.
Т.е. назначаешь всем эдитам один на всех обработчик OnClick и нечто так:
if Sender is TEdit then TEdit(Sender).Text:="My Text";

> И можно ли будет передавать с другой формы этот текст?

Гы.... а при чем здесь клик?


 
Johnmen ©   (2007-11-21 10:44) [2]

Вот и укажи для всех одну. Например, определенную для первого.


 
{RASkov}   (2007-11-21 10:47) [3]

> И можно ли будет передавать с другой формы этот текст?

Эдиты на форме 1. По нажатию кнопки на форме 2

procedure Form2.ButtonClick();
begin
 Form1.Edit1.Text:="My Text";
end;

в uses c модулем где объявлена Form2 добавить модуль с объявленной Form1....
Оно?


 
EugenNFP   (2007-11-21 11:00) [4]

=)))

  Вот про Sender это как раз то что нужно... синтаксис не помню наглухо...

При клике у меня открывается вторая форма из которой я делаю программный ввод текста в выбранный эдит.

А по поводу этого вы не уверены?
if Sender is TEdit then TEdit(Sender).Text:="My Text";


 
EugenNFP   (2007-11-21 11:02) [5]

по сути из события можно определить, что за объект участвует в нем...  скопировать путь к объекту (event.element) в переменную и передать на вторую форму

как нить так?


 
{RASkov}   (2007-11-21 11:09) [6]

> А по поводу этого вы не уверены?

Почему это я должен быть уверен?? Если этот вопрос мне....
Я в ответах своих уверен...
:о)
или ты про "if Sender is TEdit then"
то скажу, что в данном случае может это и не обязательно, но так делать правильно, так как потом ты можешь данный обработчик назначить и другому объекту, например Button или Image, а у них нет свойства Text и будет АВ....


> [5] EugenNFP   (21.11.07 11:02)

Ты на каком языке разговариваешь?
Давай на русском или делфийском....:)


 
EugenNFP   (2007-11-21 11:41) [7]

Понял... ) извини... конструкция работает все ок )))

 Можно ли сохранить Sender?

public
var
  selEdit : TEdit;

.  .  .

if Sender is TEdit then selEdit := Sender; //Так можно?
_____________________________________________

А потом обратиться
Form2.TEdit(selEdit) := "Text";


 
Johnmen ©   (2007-11-21 11:43) [8]

Почему не selEdit.Text := "Text";?


 
EugenNFP   (2007-11-21 11:47) [9]

не знаю... ) у меня сложилось так в голове после этой строчки:

if Sender is TEdit then TEdit(Sender).Text:="My Text"

почему не так... аналогично)) может быть и так... сейчас проверю..

if Sender is TEdit then Sender.Text:="My Text"

а это уже кажется как то не правильным )) хм...


 
Johnmen ©   (2007-11-21 11:49) [10]

У тебя нет базовых знаний, вот и кажется и всё остальное...


 
EugenNFP   (2007-11-21 11:50) [11]

selEdit := Sender;  так нельзя TEdit & TObject  нужно переменную создать типа TObject


 
{RASkov}   (2007-11-21 11:53) [12]

> [11] EugenNFP   (21.11.07 11:50)

if Sender is TEdit then selEdit := TEdit(Sender);

и потом [8]


 
EugenNFP   (2007-11-21 11:58) [13]


> У тебя нет базовых знаний, вот и кажется и всё остальное.
> ..


У вас тут понятие базовых знаний... ))))  Ну я, наверное, и на форум пришел спросить чего-то, а не показывать свои знания... базовые к тому же... язык я сам выучил... просто ни в одной книге, из имеющихся у меня про это не сказано...

Форум для начинающих ))))

А у вас есть по ходу дела всего лишь базовые знания... вот и все... и куча непонятной гордости за самого себя...

Спасибо за помощь! Извините, накопилось... :((((


 
EugenNFP   (2007-11-21 11:59) [14]


> if Sender is TEdit then selEdit := TEdit(Sender);


Респект!
Сам тоже к этому пришел ))) ;)


 
Johnmen ©   (2007-11-21 12:01) [15]


> EugenNFP   (21.11.07 11:58) [13]
> Ну я, наверное,
>  и на форум пришел спросить чего-то, а не показывать свои
> знания...

Надо не показывать, а иметь. Чтобы понимать ответы.

> А у вас есть по ходу дела всего лишь базовые знания... вот
> и все... и куча непонятной гордости за самого себя...

Сейчас расплачешься?


 
Германн ©   (2007-11-21 12:57) [16]


> EugenNFP   (21.11.07 11:02) [5]
>
> по сути из события можно определить, что за объект участвует
> в нем...  скопировать путь к объекту (event.element) в переменную
> и передать на вторую форму
>
> как нить так?
>

А на хрена? Зачем нужна какая-то переменная хранящая "путь к объект"? (Брр. Чушь какая-то)
procedure Edit1Click(Sender: TObject);
begin
 Form2.ShowModal;
 TEdit(Sender).Text:=Form2.XXX.XXX;
end;



Страницы: 1 вся ветка

Текущий архив: 2007.12.16;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.025 c
2-1195750473
Михаил С
2007-11-22 19:54
2007.12.16
приостановить выполнение программы


2-1195843770
Knob
2007-11-23 21:49
2007.12.16
Браузер и соединение с ним


3-1186648790
alsov
2007-08-09 12:39
2007.12.16
Оптимизация запроса


2-1195626418
Неместная
2007-11-21 09:26
2007.12.16
фукнкция обратная Chr


15-1195126234
БарЛог
2007-11-15 14:30
2007.12.16
Домен контроллер на windows 2003