Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.013 c
14-1132750791
ambr
2005-11-23 15:59
2005.12.18
Нужны исходники программы "Осциллограф из компа..."


2-1133521765
-=SPIDER=-
2005-12-02 14:09
2005.12.18
Проблема при удалении папки


2-1133467887
sedot
2005-12-01 23:11
2005.12.18
Работа с текстовыми файлами


3-1130853165
Goast
2005-11-01 16:52
2005.12.18
Репликация interBase


14-1132911097
Koala
2005-11-25 12:31
2005.12.18
Срочно!!! Нужна помощь в востановлении данных....





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский