![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обращение к компоненту по строке [D6, D7, WinXP]
Saimon © (2005-11-30 12:37:00)Доброе время суток, мастера.
Я уже давно не работал с Дельфи и не могу вспомнить как реализовать процеду... Расчитываю на вашу помощь.
Есть строка, например,Form1.Button1.Caption
Нужно используя эту строку записать данные (например, КНОПКА 1) в свойствоCaptionкомпонентаButton1, который висит на формеForm1.
Как это реализовать??
Заранее спосибо.
С уважением.
Saimon/
Saimon (2005-11-30 18:08:00) [1]Ребята, поймити, в моем случае не благоразумно прописывать все свойства для каждого контрола.
Есть веди функция типа IntToStr, StrToInt и т.п. Мне нужно по ихнему принципу все реализовать. Т.е. типа этого:
Proc('Form1.Button1.Caption', 'какая-нить строка');
и эта процедура запихивает в нужное свойство нужного компонента эту стороку.
Т.е. Привести строку к типу TObject или TComponent, что-ли?
Знаю, что на СиШарпе это мона сделать, но как на дельфи не могу вспомнить. Давно, года 3, не работал сним. А раньше делал такое, но как не помню (и исходников не сохранилось как на зло), поэтому и прошу вашей помощи.
jack128 (2005-11-30 17:01:00) [2]Saimon (30.11.05 14:18) [2]
Так мне не только кнопка, а все контролы с опр. формы
ну и? какая разница, кнопка или не кнопка. FindComponent найдет компонент с заданным именем..
Form1 (2005-11-30 16:18:00) [3]Нужно использовать переменную.
var s:string;
s:='Кнопка1';
Form1.Button1.Caption=s;
а в переменную данные из файла загрузитью
Saimon (2005-11-30 14:18:00) [4]Так мне не только кнопка, а все контролы с опр. формы.
Их св-ва в файле сидят, типа этого
Form1.Button1.Caption=Кнопка1
Form1.Button1.Hint=Подсказка
Form1.Caption=форма1
Form1.Edit1.Text=редактор
т.е. в ини файле. Загрузить из него не все это не вопрос. А вот как текст после = (равно) вставить в соотв. св-во того или иного контрола (т.е. в тот контрол который прописан до символа =).
и, если не затруднить, можно на примере кода?
jack128 (2005-11-30 12:52:00) [5]все формы валяются в массиве Screen.Forms[], нужную тебе ищи перебором. Найти кнопку на форме - TComponent.FindComponent. Задать published свойство можно с помощью функции из модуля TypInfo. Та что что тебе нужна вроде SetStrProp называется..