Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2011, 10:16   #1
IceExecutioner
Пользователь
 
Аватар для IceExecutioner
 
Регистрация: 04.06.2009
Сообщений: 26
По умолчанию Как преобразовать строку в имя компонента?

Доброго времени суток. Может тема уже обсасывалась не однократно, но не могу сформулировать запрос чтобы получить ответ у гугла. Интересует две вещи:
1. Есть процедура
Код:
proc(objectstr:string);
begin
TEdit(objectstr+'A').Text:='1';
TEdit(objectstr+'B').Text:='2';
end;
Как правильно передать в процедуру часть имени компонента чтобы можно было обратиться к нему? То есть в итоге получится имя объекта TEdit1A, TEdit1B, как видно имя компонента получается путём сложения двух строк.
2. Как это правильно называется?
IceExecutioner вне форума Ответить с цитированием
Старый 12.09.2011, 10:22   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Что то вы намудрили. Приведение типа от символьной строки не бывает. Только от указателя на объект. А искать объект по символьной строке можно. Метод FindComponent например
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.09.2011, 10:59   #3
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Если я правильно понял, простейшее решение - сделать что-то типа case (если значений не слишком много). Некрасиво, конечно..
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 12.09.2011, 18:42   #4
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

Вам нужно пользоваться функцией FindComponent. Например :
http://programmersforum.ru/showthrea...=findcomponent
и так вот, поиском по слову "FindComponent"
asmodey1 вне форума Ответить с цитированием
Старый 14.09.2011, 07:32   #5
IceExecutioner
Пользователь
 
Аватар для IceExecutioner
 
Регистрация: 04.06.2009
Сообщений: 26
По умолчанию

Цитата:
Сообщение от asmodey1 Посмотреть сообщение
Вам нужно пользоваться функцией FindComponent. Например :
http://programmersforum.ru/showthrea...=findcomponent
и так вот, поиском по слову "FindComponent"
Спс за помощь, а искать ничего не надо, оно и так в дельфе лежит, например в справке.=) Теперь усё ясно с тем что я хотел в начале.
Код:
proc(objectstr:string);
begin
TEdit(FindComponent(objectstr+'A')).Text:='1';
TEdit(FindComponent(objectstr+'B')).Text:='2';
end;
Вот так надо.
-----------------------------------------------------------------------
End of Topic.
Closed.
-----------------------------------------------------------------------
IceExecutioner вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как переменную преобразовать в строку? clever77 Microsoft Office Excel 10 16.05.2011 10:23
Как имя отчество преобразовать в инициалы? rerbi Microsoft Office Excel 2 04.08.2008 10:58
Как преобразовать строку типа "яяя ччч" в %D1%D1%D1%20%DE%DE%DE kkkggg PHP 2 12.09.2007 13:33
Как преобразовать UINT в строку? Сильванович Михаил Общие вопросы C/C++ 2 12.07.2007 09:58
Как получить имя этого компонента? ffo Win Api 2 26.04.2007 23:45