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

Вниз

Ссылка на контролы класса TCombobox и TEdit   Найти похожие ветки 

 
новичок2012   (2012-04-17 18:25) [0]

Здравствуйте! На форме есть два компонента ComboBox1 и Edit1. Мне нужно обратиться к их свойствам Visible и Text.
Поиск осуществляется в цикле вида: for I := 0 to Form1.ControlCount -1 do. Когда найден контрол, нужно проверить его свойства Text и Visible.
Но тут возникла проблема: как это сделать вне зависимости от найденного контрола и не дублируя код?

Хотелось бы что-нибудь вида:

for I := 0 to Form1.ControlCount -1 do
 if (Form1.Controls[I] is TComboBox) or (Form1.Controls[I] is TEdit) then
 begin
   некаяПеременная := Form1.Controls[I];
   if (некаяПеременная.Visible) and (Length(некаяПеременная.Text)) then
     ...делаем что нужно

Как это реализовать?


 
CRLF   (2012-04-17 18:33) [1]

Ну Visible вообще без проблем, он паблик на уровне TControl. Для доступа к защищённому свойству Text придётся провернуть небольшой хак...

type
 TControlAccess = class(TControl);
TControlAccess(Form1.Controls[I]).Text := ...


 
Влад   (2012-04-17 18:48) [2]

uses typinfo;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
i: tcomponent;
begin
i := edit1;
if IsPublishedProp(i,"Text") then
 SetPropValue(i,"Text","asdfg");


 
begin...end ©   (2012-04-17 18:50) [3]

У TControl есть public-методы GetTextLen и GetTextBuf/SetTextBuf.


 
новичок2012   (2012-04-17 19:03) [4]

Спасибо, посмотрю!



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

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

Наверх




Память: 0.47 MB
Время: 0.083 c
15-1339062999
alex3038
2012-06-07 13:56
2013.03.22
Ищу компоненты для работы с направленными графами


6-1262521995
Indy 10
2010-01-03 15:33
2013.03.22
Перенос проекта Indy 9 > Indy 10. Проблема с IdTCPServerExecute.


15-1333015766
Сергей М.
2012-03-29 14:09
2013.03.22
SMS и IMEI


15-1331806770
Musecd
2012-03-15 14:19
2013.03.22
Как в Delphi 2010 (2007-XE2) настроить цвет выделения кода ?


15-1333528430
Дмитрий С
2012-04-04 12:33
2013.03.22
SizeOf( ж );