Форум: "Начинающим";
Текущий архив: 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.016 c