![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Макроподстановка [D5, Win95/98]
alord © (2002-07-31 08:01:00)HELP !!! Пожалуйста !!!
Как можно в Pascale писать макроподстановки
Такие как в FoxPro - (i="1+2";&i )
KSergey (2002-08-01 06:42:00) [1]Вообще-то, Anatoly Podgoretsky ©(31.07.02 08:59) дал абсолютно правильный ответ на поставленный вопрос!
Если же посмотреть на поставленную задачу шире, то этого действительно никак не сделать. Тут есть 2 выхода:
а) менять мышление и делать программы без необходимости макроподстановок (другая среда - други подходы, это нормально)
б) если нужны не то чтобы макроподстановки сами по себе, а, например, вычисление настраиваемых пользователем формул и т.д. - использовать какой-либо интерпретатор-вычислитель выражений, который либо написать самому, либо воспользоваться готовыми, которых горы (см. кладовку, новости мира компонент).
Но к пункту б) стоит прибегать только в случвае крайней нужды, когда действительно нужна именно настройка со стороны пользователя. Другие задачи лучше решать иначе.
SergLight (2002-07-31 10:32:00) [2]Попробуй написать свой интерпретатор.
В Кладовке были похожие вещи.
Stecoff (2002-07-31 10:21:00) [3]Думаю, не об этом. Формировать строковые переменные - это одно, а макроподстановки - другое. Суть следующем - формируем команду в виде строки, потом результат исполняем. В Fox-е это выглядело так:
CommandString="BROWSE NORM"
&CommandString
В результате выполняется команда Browse Norm
А в Delphi такого нет. Самому интересно..
Destroyer (2002-07-31 09:03:00) [4]По-моему, речь шла об этом:
ShowMessage(Format("Sum is %d", [1+2]));
Anatoly Podgoretsky (2002-07-31 08:59:00) [5]Такие
const
I = 1+2;
VAleksey (2002-07-31 08:48:00) [6]никак