Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
16:27
3931
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Форум для внеигровых тем-->
1|2

АвторВопрос по Delphi7 [2к голда]
Каким образом можно выполнить процедуру/комманду записанную в переменной типа String или AnsiString.
Т.е. есть, к примеру, строчная переменная:
s:='var i:integer; for i:=1 to 10 do n=n*i;' ;
комманды в ней являются тупо текстом, а нужно их выполнить.
Есть ли такая возможность и как реализуется?
На Паскале только переписать все команды) Т.е. Паскаль заново.
В Дельфи кажись была функция преобразующая тхт-файл в команды. Но память уже не та)

Тема следующая - заносишь эту строчную в текстовой файл и его закидываешь в функцию.
для Йопсель:

Ну такой вариант тоже сойдет, знать бы как это сделать
Вот может кто и вспомнит с подсказки.)
Хотя это быдлокодинг, наверняка есть способ и без создания тхт
скажи что надо написать на делфи что за прога?
для САНТИАГА:

Делаю интерпретатор+транслятор(позже и компилятор) другого малоизвестного языка программирования.
Именно для транслятора мне требуется динамически менять, переводить на язык Дэлфи и проверять на ошибки программы которые юзер будет писать на другом языке
8+

Собственно можно и без такого хода обойтись, но прога будет втрое длиннее, а перевод получится более тупой.
(интерпретатор пишу для языков Brainf*ck, Brainfork, COW, думаю еще над интерпретатором Whitespace и Piet)
5k(разорюсь с такими апами скоро)
6к(я помогу тебя разорить)))))))
Не понял самого вопроса.

Команды находятся в файле *.txt, оттуда их считываем и выполняем? В каком месте выполняем? Нужел ли блок обрабатывания ошибок и тд.?

for(int i=0; i<str.length(); i++) {} // цикл считывания введеных параметров
Кхм) Прошу меня извинить) Недочитал)
По вопросу все ясно)
для SunJava:

В общем команды находятся в строчной переменной, причем они заранее неизвестны, а появляются в процессе выполнения программы(поэтому и не могу их просто так прописать), другими словами - моя прога на ходу пишет другие проги либо в переменную либо в текстовый файл, а нужно чтобы она их еще выполнять могла.

for(int i=0; i<str.length(); i++) {}

в строке не параметры, а целая программа на паскале с условиями, циклами и т.д.
хм, сам подожду ответа, ибо тож интересно)
для Повешенный:
а вообще, можно написать интерпретатор, который бут посимвольно считывать текст и пытаццо выполнить чего-то там заданное заранее в случае чего)
Если текст проги пишется в файл, то меняем у этого файла расширение на паскалевский и пытаемся вызвать прогу соответсвующей процедурой.
Давно уже паскаль изучал, но в принципе можно вызвать прогу из файла.
алгоритм примерно такой:
Предварительно
- Создать набор класов операторов
- создать набор шаблонов для распознания операторов и их параметров

Распарсить текст на составляющие операторы с помощью шаблонов и выполнить их
1|2
К списку тем
2007-2025, онлайн игры HeroesWM