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

Вниз

Обращение к компоненту по строке   Найти похожие ветки 

 
Saimon   (2005-11-30 12:37) [0]

Доброе время суток, мастера.

Я уже давно не работал с Дельфи и не могу вспомнить как реализовать процеду... Расчитываю на вашу помощь.

Есть строка, например, Form1.Button1.Caption
Нужно используя эту строку записать данные (например, КНОПКА 1) в свойство Caption компонента Button1, который висит на форме Form1.
Как это реализовать??

Заранее спосибо.
С уважением.
Saimon/


 
jack128 ©   (2005-11-30 12:52) [1]

все формы валяются в массиве Screen.Forms[], нужную тебе ищи перебором.  Найти кнопку на форме - TComponent.FindComponent. Задать published свойство можно с помощью функции из модуля TypInfo.  Та что что тебе нужна вроде SetStrProp называется..


 
Saimon   (2005-11-30 14:18) [2]

Так мне не только кнопка, а все контролы с опр. формы.

Их св-ва в файле сидят, типа этого

Form1.Button1.Caption=Кнопка1
Form1.Button1.Hint=Подсказка
Form1.Caption=форма1
Form1.Edit1.Text=редактор


т.е. в ини файле. Загрузить из него не все это не вопрос. А вот как текст после = (равно) вставить в соотв. св-во того или иного контрола (т.е. в тот контрол который прописан до символа =).

и, если не затруднить, можно на примере кода?


 
Form1   (2005-11-30 16:18) [3]

Нужно использовать переменную.

var s:string;

s:="Кнопка1";

Form1.Button1.Caption=s;

а в переменную данные из файла загрузитью


 
jack128 ©   (2005-11-30 17:01) [4]

Saimon   (30.11.05 14:18) [2]
Так мне не только кнопка, а все контролы с опр. формы

ну и? какая разница, кнопка или не кнопка. FindComponent найдет компонент с заданным именем..


 
Saimon   (2005-11-30 18:08) [5]

Ребята, поймити, в моем случае не благоразумно прописывать все свойства для каждого контрола.

Есть веди функция типа IntToStr, StrToInt и т.п. Мне нужно по ихнему принципу все реализовать. Т.е. типа этого:
Proc("Form1.Button1.Caption", "какая-нить строка");
и эта процедура запихивает в нужное свойство нужного компонента эту стороку.

Т.е. Привести строку к типу TObject или TComponent, что-ли?

Знаю, что на СиШарпе это мона сделать, но как на дельфи не могу вспомнить. Давно, года 3, не работал сним. А раньше делал такое, но как не помню (и исходников не сохранилось как на зло), поэтому и прошу вашей помощи.



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

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

Наверх




Память: 0.48 MB
Время: 0.046 c
2-1133377981
kernef
2005-11-30 22:13
2005.12.18
Помогите разобраться с математикой!


2-1133624922
Катерина
2005-12-03 18:48
2005.12.18
OpenDialog


4-1127981652
BaxTMaH
2005-09-29 12:14
2005.12.18
Русский язык


2-1133760075
voe
2005-12-05 08:21
2005.12.18
Корректная обработка ошибок при Sql запросе


2-1133392267
Alloc
2005-12-01 02:11
2005.12.18
IniFiles