Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 146

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
У меня возникла необходимость выполнить
код который сохранен(содержится) в строке
Например:
s:string;
s:='if(a) then form1.caption:='true';';
Возможно ли это в делфи

Anderson N.N Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Anderson N.N (статус: 2-ой класс)
Вопрос отправлен: 1 декабря 2008, 00:26
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, Anderson N.N!
Классический ответ звучит так: "Нет, никак, Делфи не является скриптовым языком." Обычно это есть "достаточно правильным" ответом.
Но программерская мысль не стоит на месте. И проблема, хоть и частично, но решена. В библиотеке JVCL, которую я рекламирую активно, есть серия компонентов, которые реализуют интерпретацию делфиподобного кода. Делфиподобного, потому что реализуются далеко не все возможности, которые есть в Делфи, но я не думаю, что Вы их найдёте быстро:)
После установки библиотеки, компоненты для этого дела находяться на вкладке JvInterpretator (Могу малость ошибиться в названии, но надо искать визуально - не смажете).
Рассказывать как делать всё - долго, тем более это зависит от того кода, который хочеться Вам запустить. Но к счастью, с библиотекой идёт серия примеров и к этой серии компонентов очень неплохие. Там есть примеры, как обращаться к элементам формы.
Что бы не быть вовсе голословным, ищите примеры в папке jvcl/examples/RaLib, папки для Вас - RaInterpreter, RaInterpreterDynamicLoad, RaInterpreterEndUser, RaInterpreterMDI, RaInterpreterNotepad. Изучите их, и Вы сможете делать чудные вещи.
Сразу предупрежу, что интерпретатор не знает ни о чем, о своем приложении, и поэтому прийдётся писать процедуру-переходник (в примерах найдёте), в которой по запросу "дай форму 1", надо будет отдать ссылку на эту форму.
З.Ы. Вообще то у нас принято обращаться на Вы. Ну просто принято.
З.Ы.Ы. Также принято оценивать/коментировать/критиковать в минифорумах. Традиции...

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 1 декабря 2008, 01:40
Оценка за ответ: 3


Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 3 декабря 2008, 00:05; участников в обсуждении: 1.
Вадим К

Вадим К (статус: Академик), 3 декабря 2008, 00:05 [#1]:

А прокомментировать оценку можно?
Или вариант ответа "нет, нельзя", который скорее всего дадут на других форумах не удоволетворил Вас?
Галочка "подтверждения прочтения" - вселенское зло.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 17 февраля 2020, 00:29
Выполнено за 0.02 сек.
Рейтинг@Mail.ru