Get по очереди и передача параметров

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
StillZero
Ветеран
Сообщения: 458
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Поблагодарили: 1 раз
Контактная информация:

Get по очереди и передача параметров

Сообщение StillZero »

что то я наверное многого хочу... вроде ранее как то делал это...

есть очередь

Код: Выделить всё

MyQueue QUEUE
MyField    LONG
        END

хочу передать очередь и поле в процедуру

Код: Выделить всё

MyProc PROCEDURE(*QUEUE inQ,*ANY inF)
loc:Q ANY
loc:F ANY
 code
 loc:Q &= inQ
 loc:F &= inF

 loc:F = 10
 get(loc:Q,loc:F) ! вот здесь хочу, чтобы get был аналогичен get(MyQueue,MyQueue.MyField)
                  ! а работает как get(MyQueue,10)
Аватара пользователя
StillZero
Ветеран
Сообщения: 458
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Поблагодарили: 1 раз
Контактная информация:

Сообщение StillZero »

да вообщем то разрулил
пропуская подробности примерно так

Код: Выделить всё

loc:FieldName STRING(50)
 code
 loc:FieldName = WHO(loc:Q,WHERE(loc:Q,loc:F))
 get(loc:Q,clip(loc:FieldName))
ru_alex
Ветеран
Сообщения: 333
Зарегистрирован: 21 Сентябрь 2005, 11:05
Откуда: Нижний Новгород
Контактная информация:

Сообщение ru_alex »

А вот так не катит?

Код: Выделить всё

MyProc PROCEDURE(*QUEUE inQ,*ANY inF) 
loc:Q ANY 
loc:F ANY 
code 
 loc:Q &= inQ 
 p# = WHERE(loc:Q,inF)
if p#
 loc:F &= WHAT(loc:Q,p#)
   loc:F = 10 
   get(loc:Q,loc:F) 
end
Ответить