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

Вниз

Можно ли обратиться к свойствам компонента через форму?   Найти похожие ветки 

 
Pil ©   (2005-12-01 16:11) [0]

Уважаемые мастера!
Допустим на форме несколько компонентов Edit(edtA, edtB, edtC). Мне нужно написать универсальную функцию для них, которая бы проверяла введенный текст.
Как можно обратиться к свойству Text активного компонента Edit через форму, на которой он расположен (чтобы не писать edtA.Text, edtB.Text, edtC.Text)? Возможно ли такое?


 
stone ©   (2005-12-01 16:14) [1]

TEdit(FindComponent(Твой эдит)).Text


 
begin...end ©   (2005-12-01 16:16) [2]

ActiveControl


 
Pil ©   (2005-12-01 16:32) [3]


> TEdit(FindComponent(Твой эдит)).Text


Что значит "мой эдит"? Вы имеете ввиду:
TEdit(FindComponent(Form1.ActiveControl.Name)).Text ?

FindComponent требует параметр типа строка, а через ActiveControl.Name типа TComponentName.


 
Vlad ©   (2005-12-01 16:41) [4]

ты уверен что тебе нужен именно активный контрол?
Или тебе нужно в цикле перебрать все Editы на форме и проверить их текст?


 
Pil ©   (2005-12-01 16:47) [5]


> ты уверен что тебе нужен именно активный контрол?
> Или тебе нужно в цикле перебрать все Editы на форме и проверить
> их текст?


нужен именно активный контрол, т.к. проверка осуществляется перед выходом из Эдита. Цикл тут не подходит.


 
Vlad ©   (2005-12-01 17:03) [6]

У TEdit есть событие OnExit
Там единственный параметр - Sender. Это тот объект, который вызвал обработчик, т.е. твой Edit. Если одну и ту же процедуру повесить на OnExit всех Edit-ов, получишь требуемый результат


 
Плохиш ©   (2005-12-01 17:06) [7]


> Pil ©   (01.12.05 16:47) [5]
> нужен именно активный контрол, т.к. проверка осуществляется
> перед выходом из Эдита.

TEdit.OnExit + F1


 
Pil ©   (2005-12-01 17:09) [8]


> У TEdit есть событие OnExit
> Там единственный параметр - Sender. Это тот объект, который
> вызвал обработчик, т.е. твой Edit. Если одну и ту же процедуру
> повесить на OnExit всех Edit-ов, получишь требуемый результат


Хорошо, пусть будет так:
procedure TForm1.edtFromExit(Sender: TObject);
Var S: string;
begin
   S := Sender.Text;//здесь ошибка Undeclared identifier: "Text"
end;


 
Ega23 ©   (2005-12-01 17:13) [9]


> procedure TForm1.edtFromExit(Sender: TObject);
> Var S: string;
> begin
>    S := Sender.Text;//здесь ошибка Undeclared identifier:
>  "Text"
> end;
>


if (Sender is TEdit) then s:=TEdit(Sender).Text;


 
Pil ©   (2005-12-01 17:14) [10]

Господа, внимание! Вопрос состоит не в том, когда вызывается обработчик, а как обратиться к свойству Text активного Edit!

procedure TForm1.edtFromExit(Sender: TObject);
Var S: string;
begin
   S := Sender.Text;//Undeclared identifier: "Text"
end;


 
Pil ©   (2005-12-01 17:15) [11]

Ega23, спасибо большое, теперь все прояснилось! ))



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

Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.014 c
2-1133123140
PVasili
2005-11-27 23:25
2005.12.18
Как правильно хранить данные в Data TTreeView


14-1132910088
Александр Иванов
2005-11-25 12:14
2005.12.18
Сверхурочная работа


4-1129578400
leonidus
2005-10-17 23:46
2005.12.18
Как очистить клавиатурный буфер?


2-1133446557
coral
2005-12-01 17:15
2005.12.18
DBLookupComboBox


3-1130768443
Term
2005-10-31 17:20
2005.12.18
Как выбрать только дубли





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский