Макроинтерпретатор процедур и Макроинтерпретатор текстов
Предназначены для исполнения создаваемых 'на лету' пользовательских текстовых процедур (Интерпретатор процедур) и шаблонов текстов с макросами (Интерпретатор текстов). RunMacTxt() просто исполняет процедуру, GetMacTxt() возвращает текст с подставленными выражениями вместо вычисленных в фигурных скобках макросов.
Строки процедуры могут содержать функции и команды VFP, операции с глобальными переменными.
Поддерживаются вложенные конструкции IF_ELSEIF_ELSE_ENDIF и DO WHILE, команды LOOP, BREAK, EXIT,
комментарии (// или *, &&) и переносы строк (;), мониторинг ошибок. В функцию RunMacTxt
передается переменная , содержащая текст процедуры из строк, разделенных символами перевода
каретки. В функцию GetMacTxt передается переменная, содержащая текст со вставками в фигурных
скобках любых выражений VFP или управляющих конструкций IF_ENDIF или DO WHILE с префиксом в виде
знака амперсанда. Существует вариант GetMacTxt для текста RTF.
Для проверки запустите файл MACRO.PRG.
Так вроде бы COMPILE есть родной фоксовый ? Делает много больше. Зачем такие премудрости с
макроинтерпретатором ?
Dron
29.11.01 15:10:23
Запутали уже. У меня COMPILE в EXE-шнике без фокса никак не работает ! И APPEND PROCEDURES FROM
тоже не работает в EXE. Расскажите, как у Вас получилось обойти эти ограничения ?
Дмитрий Орлов
30.11.01 10:29:02
Ран-тайм COMPILE работает в VPF6 начиная с SP4 (SP4 точно уже поодерживает). В VFP7 появилась
новая функция EXECSCRIPT(), которая выполняет скрипты, т.е. фрагменты кода VFP.
ИМХО Так что достоинство этой разработки весьма сомнительно. Ну разве что для тех, кто юзает VFP3-5.