Другие языки программирования и технологии
Можно ли в делфи в edit1 ввести какую-нибудь команду, например "button1.caption:='sdfd'" и выполнить ее?
Если возможно подскажите, пожалуйста!
Поле Еdit предназначено для текста.
Туда можно ввести параметр команды, а после выхода из редактирования выполнить нужное присвоение или запустить заранее известную функцию с этим параметром.
Однако если до компиляции функция неизвестна, то она не может быть включена в сборку.
То есть в Edit нельзя написать такую команду.
Чтобы такое выполнить нужен не компилятор, а интерпретатор, среда куда непосредственно вводятся команды.
Такое возможно и с применением Java, не торопящимся делать сборку, но шаблон модуля должен быть заранее оформлен. Это к специалистам Java.
Дела в том, что адреса, которые записаны именами, являются условными, изветными только человеку. При трансляции именам даётся адрес относительно начала модуля и в объектном модуле есть таблица с именами и их адресами, но там только глобальные имена необходимые при сборке.
После сборки такая таблица не нужна и в исполняемой программе её нет.
То есть имя, которое Вы задали в Edit не с чем связать.
Для таких целей нужны языки интерпретируемые, например LISP, Basic, в которых программа может прочесть Ваше имя
button1.caption, на его основании автоматически написать модуль, даже записать в файл и тут же загрузить и запустить его, как бы на втором этапе выполнения.
Это и соответствует смыслу задуманного процесса.
Туда можно ввести параметр команды, а после выхода из редактирования выполнить нужное присвоение или запустить заранее известную функцию с этим параметром.
Однако если до компиляции функция неизвестна, то она не может быть включена в сборку.
То есть в Edit нельзя написать такую команду.
Чтобы такое выполнить нужен не компилятор, а интерпретатор, среда куда непосредственно вводятся команды.
Такое возможно и с применением Java, не торопящимся делать сборку, но шаблон модуля должен быть заранее оформлен. Это к специалистам Java.
Дела в том, что адреса, которые записаны именами, являются условными, изветными только человеку. При трансляции именам даётся адрес относительно начала модуля и в объектном модуле есть таблица с именами и их адресами, но там только глобальные имена необходимые при сборке.
После сборки такая таблица не нужна и в исполняемой программе её нет.
То есть имя, которое Вы задали в Edit не с чем связать.
Для таких целей нужны языки интерпретируемые, например LISP, Basic, в которых программа может прочесть Ваше имя
button1.caption, на его основании автоматически написать модуль, даже записать в файл и тут же загрузить и запустить его, как бы на втором этапе выполнения.
Это и соответствует смыслу задуманного процесса.
Если немного подумать, то думаю да
Можно. Компонент есть - TScriptControl, позволяющий выполнять скрипты, написанные на JavaScript или VisualBasic.
Похожие вопросы
- Какое действие выполняет команда shutdown -r -t 0 ???На каком-то форуме написали введите это в "Выполнить", а я боюсь!
- надо решить задачку через делфи и паскаль)))
- Вопрос по делфи
- языки делфи и си
- Delphi 7 изменение Caption Label'a не из eventa
- Скажите сколько месяцев нужно изучать Делфи что бы написать программу вывода даты, дня недели и года в окно ?
- Как свое сворачивать приложение на делфи в tree ася 404048645
- стоит ли изучать ассемблер, если программирую на Делфи? и вообще реально ли что нибудь хорошее, дельное, нужное написать
- Кто работает в делфи или паскале....
- Делфи