Reference Assignments

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
SSTA
Бывалый
Сообщения: 52
Зарегистрирован: 03 Февраль 2006, 5:41
Откуда: Хабаровск

Reference Assignments

Сообщение SSTA »

Здравствуйте.
CW 6.1 ABC

Имеем:

ReglamentVxo FILE,DRIVER('TOPSPEED'),NAME(PAT:rgx),PRE(Rgx),CREATE,BINDABLE,THREAD
I1 KEY(Rgx:Typ,Rgx:DVx,Rgx:Car,Rgx:CtrlDate),DUP,NOCASE
I2 KEY(Rgx:Typ,Rgx:CtrlDate),DUP,NOCASE,OPT
Record RECORD,PRE()
Typ BYTE
DVx SHORT
Car SHORT
CtrlDate LONG
CtrlDone BYTE
FaktDate LONG
END
END

Reg_File &file
Reg_Record &group
Reg_I1 &key
Reg_Dvx &short

code

Reg_File &= ReglamentVxo
Reg_Record &= Rgx:record
Reg_I1 &= Rgx:I1
Reg_Dvx &= Rgx:DVx

clear(Reg_record)
Reg_Typ = Reg_Typ
Reg_DVx = DVx_COD
! Reg_Typ получил значение 1
! Reg_DVx получил значение 15
! записи с этими значениями в БД точно есть !!!
set(Reg_I1,Reg_I1)
loop until eof(Reg_File)
next(Reg_File)
! Reg_Typ = 1
! Reg_DVx = 3
! что есть первая запись в ключе Rgx:I1 (?????), а это есессно, неверно
Отчего это может быть и почему?
ЗЫ. При подстановке реальных наименований файла-ключа-полей все нормально…
Спасибо.
Аватара пользователя
Andrew Listiev
Активист
Сообщения: 166
Зарегистрирован: 07 Июль 2005, 11:16
Откуда: Латвия, Рига

Сообщение Andrew Listiev »

Ну во-первых избавляемся от eof(Reg_File) Сами разработчики не рекомендуют пользоваться eof и bof.

Set(<Key>, <Key>)
Loop
Next(<File>)
If ErrorCode() Then Break.
<Сам код>
End

Дальше тестим и о результатах докладываем.
Ответить