Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обращение к компоненту по строке [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 называется..


Наверх

Титульная страница Поиск, карта сайта Написать письмо