Большой Воронежский Форум

Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел.
Вернуться   Большой Воронежский Форум » Компьютеры и все, что с ними связано » » Программирование
Философия, технологии, алгоритмы!

Закрытая тема
 
Опции темы
Старый 22.11.2010, 09:26   #1   
Форумец
 
Аватар для BSk
 
Сообщений: 51
Регистрация: 11.12.2009

BSk вне форума Не в сети
Делфи. Как преоразовать строку в исполняемый код программы?

Привет! Недавно столкнулся с такой проблемкой, нужно преобразовать строку типа String в исполняемый код программы в Делфи. К примеру:

var
i,j : integer;
str : string;
begin
for i := 1 to 9 do
begin
str := 'form1.Edit'+ IntToStr(i)+'.Color';
label1.Caption := str;
str:= clblack;
end;

В конечном итоге Edit'ы с 1 по 9 должны покраситься в черный цвет.
Может кто-то сталкивался с такой проблемой?
 
Старый 22.11.2010, 10:44   #2   
Форумец
 
Аватар для SeFuS
 
Сообщений: 87
Регистрация: 16.06.2007
Возраст: 38

SeFuS вне форума Не в сети
дельфи - язык компилируемый. пишите реалтайм компилятор )).

Последний раз редактировалось SeFuS; 22.11.2010 в 11:15.
 
Старый 22.11.2010, 11:58   #3   
Форумец
 
Аватар для BSk
 
Сообщений: 51
Регистрация: 11.12.2009

BSk вне форума Не в сети
По-любому решение данной проблемы возможно и в Делфи, при помощи какой либо библиотеки. А что делфи язык компилируемый это ни о чем еще не говорит. Как говорится "Нельзя, но если очень сильно хочется, то можно" ))
 
Старый 22.11.2010, 14:24   #4   
Registered User
 
Сообщений: 1,113
Регистрация: 23.06.2007
Возраст: 58

Hopkroft вне форума Не в сети
Цитата:
Сообщение от BSk Посмотреть сообщение
По-любому решение данной проблемы возможно и в Делфи, при помощи какой либо библиотеки. А что делфи язык компилируемый это ни о чем еще не говорит. Как говорится "Нельзя, но если очень сильно хочется, то можно" ))
Тебе для чего это нужно?
 
Старый 22.11.2010, 14:27   #5   
Форумец
 
Сообщений: 19
Регистрация: 04.03.2008

SmanxX1 вне форума Не в сети
Бред полный. Это невозможно, особенно относительно данного примера.

И вообще, эта проблема решается гораздо проще:
Код:
var
  i: integer;
...
begin
  for i:=0 to MForm.ComponentCount-1 do
    if MForm.Components[i] is TEdit then
      (MForm.Components[i] as TEdit).Color:=clBlack; 
...
Конкретно под ваши цели - сами додумаете.
 
Старый 22.11.2010, 18:46   #6   
Форумец
 
Аватар для BSk
 
Сообщений: 51
Регистрация: 11.12.2009

BSk вне форума Не в сети
SmanxX1 Спасибо, очень помог.
 
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind