Регистрация

Макроподстановка?!!!

Обсуждение вопросов по разработке программ в среде продуктов копорации "Progress Software"
Новичок
Сообщения: 8
Зарегистрирован: Вт авг 16, 2016 5:49 pm

Макроподстановка?!!!

Сообщение sega1999 » Чт сен 15, 2016 10:00 am

Имеется ли в Progress такая штука как макроподстановка. Вот например в Clipper можно было так записать:
Function (kl)
local a

do case
case kl=1
a = "t1."
case kl=2
a = "t2."
case kl=3
a = "t3."
endcase
a=a+"pole1"
(&a) = 7 /* присвоение полю pole1 значения 7 */
Return

Т.е. у меня есть три таблицы с одинаковым полем и мне нужен динамический способ доступа к этому полю

Администратор
Аватара пользователя
Сообщения: 1880
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: Макроподстановка?!!!

Сообщение Arelav » Чт сен 15, 2016 5:01 pm

Я такого не встречал. Напрашивается использование препроцессорных переменных, но не уверен что сработает.
Можно попробовать задать вопрос в Progress Community в форуме OpenEdge Development: https://community.progress.com/communit ... velopment/

Новичок
Сообщения: 8
Зарегистрирован: Вт авг 16, 2016 5:49 pm

Re: Макроподстановка?!!!

Сообщение sega1999 » Чт сен 15, 2016 6:56 pm

Я тоже сначала думал о препроцессорных переменных, и тоже отмел.
В Clipper очень много используются макроподстановки.
Вот еще примерчик от туда:
a=2
b=5
c=3

f="a+b-c"
k="a+b+c"

&f /* результат - 4 */
&k /* результат - 10 */

Вернуться в PROGRESS - 4GL - ПРОГРАММИРОВАНИЕ

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2