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

Вниз

Просмотреть все компоненты   Найти похожие ветки 

 
БезИмени   (2006-10-06 04:06) [0]

Нужно "пробежаться" по всем компонентам всех форм приложения, имеющие свойства Text или Caption и вывести результат в memo в виде

[TForm1]
button1.text = sampletext
button2.text = sampletext2
menu1.caption = captionfgff

[TForm2]
n1.caption = eeeeesdgbvsd

...

и так со всеми формами.


 
Ketmar ©   (2006-10-06 05:05) [1]

разрешаю.


 
MBo ©   (2006-10-06 07:55) [2]

Controls[] используй


 
Loginov Dmitry ©   (2006-10-06 07:56) [3]

используй
- for ... to ... do
- Screen
- ComponentCount
- Components
- is , as
- ClassName
- TMemo
- RTTI
- Head


 
SerJaNT ©   (2006-10-08 01:50) [4]

Я делал вот так:


procedure TForm1.Button1Click(Sender: TObject);
var i,forms,cd:integer;
mt:string;
begin

for forms:=0 to screen.FormCount-1 do begin

form1.memo1.Lines.add("[T"+screen.Forms[forms].Name+"]");
for i:=0 to screen.Forms[forms].componentcount-1 do begin
 if  screen.Forms[forms].components[i] is TMenuItem then begin
   mt:=TMenuItem(screen.Forms[forms].FindComponent(screen.Forms[forms].components[i ].GetNamePath)).Caption;
   form1.memo1.Lines.add(screen.Forms[forms].components[i].GetNamePath+".caption="+mt);
 end;
 if  screen.Forms[forms].components[i] is TEdit then begin
   mt:=TEdit(screen.Forms[forms].FindComponent(screen.Forms[forms].components[i].Ge tNamePath)).text;
   form1.memo1.Lines.add(screen.Forms[forms].components[i].GetNamePath+".text="+mt);
 end;
if  screen.Forms[forms].components[i] is TToolButton then begin
   mt:=TToolButton(screen.Forms[forms].FindComponent(screen.Forms[forms].components [i].GetNamePath)).Hint;
   form1.memo1.Lines.add(screen.Forms[forms].components[i].GetNamePath+".hint="+mt);
end;
if  screen.Forms[forms].components[i] is TLabel then begin
   mt:=TLabel(screen.Forms[forms].FindComponent(screen.Forms[forms].components[i].G etNamePath)).Caption;
   form1.memo1.Lines.add(screen.Forms[forms].components[i].GetNamePath+".caption="+mt);
end;
end;

form1.memo1.Lines.add("");
end;    
end;


 
Германн ©   (2006-10-08 01:59) [5]

2 Loginov Dmitry ©   (06.10.06 07:56) [3]
2 SerJaNT ©   (08.10.06 01:50) [4]
См. [2]
У TComponent нет ни Text, ни Caption.


 
SerJaNT ©   (2006-10-08 03:31) [6]

Но ведь работает :-)


 
Percent   (2006-10-08 03:35) [7]

SerJaNT ©   (08.10.06 03:31) [6]
Но ведь работает :-)


Про TPanel поговорим?
А про MyCaptionedComponent?


 
Германн ©   (2006-10-08 04:27) [8]


> SerJaNT ©   (08.10.06 03:31) [6]
>
> Но ведь работает :-)
>

Работает. Но зачем столько лишнего перебора?


 
Loginov Dmitry ©   (2006-10-08 13:50) [9]

Германн ©   (08.10.06 1:59) [5]
У TComponent нет ни Text, ни Caption.


Зато поддерживается RTTI


 
Anatoly Podgoretsky ©   (2006-10-08 13:55) [10]

Всех? И тех что не созданы, в том числе и динамически.
Components не подходит, тебе надо искать не компоненты, а контролы, а это Controls, но найдет только те, которые подключены, а те которые еще не найдет, но это опять тот же вопрос - Всех.
Вопрос в постановке Всех решения не имеет.



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

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

Наверх




Память: 0.49 MB
Время: 0.033 c
15-1159350128
КаПиБаРа
2006-09-27 13:42
2006.10.22
Какой ноутбук выбрать


2-1160133692
harisma
2006-10-06 15:21
2006.10.22
как открыть .doc файл не используя VCL?


2-1160383341
aht
2006-10-09 12:42
2006.10.22
Access+ADO


2-1160244953
learner
2006-10-07 22:15
2006.10.22
Аналог SysErrorMessage для NTSTATUS.


9-1137780186
Cerberus
2006-01-20 21:03
2006.10.22
Ссылочка была.