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

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

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

Сообщение sega1999 » 15 сен 2016, 09:00

Имеется ли в 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

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

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

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

Сообщение Arelav » 15 сен 2016, 16:01

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


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

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

Сообщение sega1999 » 15 сен 2016, 17:56

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

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

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