Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];

Вниз

Как узнать по какому именно 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.041 c
2-1195470443
_ant_
2007-11-19 14:07
2007.12.16
Как создать массив определенной длины динамически?


15-1194890946
@!!ex
2007-11-12 21:09
2007.12.16
Спасибо, товарищи!


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


15-1194966966
Kolan
2007-11-13 18:16
2007.12.16
Header — заголовок, а Footer как?


6-1175695239
Мимопроходящий
2007-04-04 18:00
2007.12.16
Как загрузить текстовый файл в мемо?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский