Главная страница
    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.016 c
2-1133272643
FShadow
2005-11-29 16:57
2005.12.18
Как обновить програмно данные в TDBGrid после изменения данныхю.


2-1133754766
Veter
2005-12-05 06:52
2005.12.18
Как можно получить текст с поля Edit другой программы


14-1132835209
ArtemESC
2005-11-24 15:26
2005.12.18
Потерял статью...


14-1132754269
boriskb
2005-11-23 16:57
2005.12.18
Книги, обязательные для прочтения программистом.


4-1129834665
aha
2005-10-20 22:57
2005.12.18
Имею ик порт Tecram-210 и небольшой опыт работы через ком





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский