Посмотрите, плиз, где у меня ошибка :)

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Hello yufil,

Спасибо за разьяснения в clalist-е. Я поробовал использовать такой подход. но столкнулся с проблемой:

у меня есть таблица VodoBalans(VBL)

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

=============Так я описываю группу,==================
!====================================================
groupRepCols    GROUP,PRE()

Zabor           PDECIMAL(15,2)          !1
PPD             PDECIMAL(15,2)          !2
PodGorVDZ       PDECIMAL(15,2)          !3
PoteriVDZVol    PDECIMAL(15,2)
PoteriVDZPrc    PDECIMAL(15,2)          !5
WaterTeh        PDECIMAL(15,2)          !6 <------------!
PrihodVos       PDECIMAL(15,2)
PrihodVos2      PDECIMAL(15,2)
PrihodVos1      PDECIMAL(15,2)
SNugVos2        PDECIMAL(15,2)          !10
SNugVos1        PDECIMAL(15,2)
PodGorVos       PDECIMAL(15,2)
SNugGor         PDECIMAL(15,2)
PodPotr         PDECIMAL(15,2)
PoteriGorVol    PDECIMAL(15,2)          !15
PoteriGorPrc    PDECIMAL(15,2)
RealPotreb      PDECIMAL(15,2)          !17
PoteriGorVol_Vyp    PDECIMAL(15,2)
PoteriGorPrc_Vyp    PDECIMAL(15,2)
Vypad           PDECIMAL(15,2)          !20

                END
!====================================================

=================== а это поверх группы массив ======
!====================================================
RepCols     PDECIMAL(15,2),Dim(20),Over(groupRepCols)


========= деляю так: ===============================
          SET(VodoBalans.KeyDate)
          NEXT(VodoBalans)
  
          MESSAGE (VBL:WaterTeh)
работает :^^^^^^^
          
          MESSAGE (VodoBalans.WaterTeh)
работает :^^^^^^^

          MESSAGE (RepCols[6])
НЕ работает!!! :^^^^^^^
Что я сделал не так?

--
Best regards,
Ivan mailto:shkmail@inbox.ru

(Добавление)

А присваивать буфер записи (VBL:Record) структуре (groupRepCols), поверх которой накладывается твой массив, не пробовал? ;)
Хотя не очень понятно, зачем иметь промежуточную группу? Не проще ли объявить массив с OVER прямо в структуре файла?

--
Best regards,
Vadim mailto:vadim@softcreator.com
ICQ: 82308757
у меня есть таблица VodoBalans(VBL)
Не вижу таблицы...
Что я сделал не так?
Может быть, и всё так. А почему тип Pdecimal - база Btrieve?

---------------------------------------
C уважением,
Юрий Философов,
Главный программист
Корпорация "Диполь", Саратов
E-mail yufil@tacis-dipol.ru (служ)
yufil@mail.ru (дом)
ICQ#75924439
Написал: ClaList(2)
Гость

Сообщение Гость »

да-да, мысль такая появилась :)

а делается это просто вот так:
groupRepCols = VBL:Record
или что-нибудь посложнее?

правда еще до вашего ответа я разобрался в WHAT и сделал все, что было
нужно

кстати, а нельзя ли использовать WHAT не

anyT &= WHAT(...)

а непосредственно в нужном месте:

MESSAGE (...WHAT(...))

?
Хотя не очень понятно, зачем иметь промежуточную группу? Не проще ли объявить массив с OVER прямо в структуре файла?
Я работаю с уже готовым словарем и менять там ничего не имею возможности.
(Я корректно ответил? в смысле понятийного аппарата? :D
а то я в Clarion еще не шибко разбираюсь
:D

--
Best regards,
Ivan mailto:shkmail@inbox.ru

Если структуры полностью совпадают - будет нормально. Если не полностью, но имена полей одинаковые - поможет (хотя и не всегда - с массивами проблемы) оператор deep assignment (:=:)
Если различны и структуры и имена отличаются - тогда уж только "попольное" присваиваение...
MESSAGE (...WHAT(...))
?
Ответ вообще-то "можно", но... а что мешает самостоятелно провести кро-о-охотный эксперимент? ;)
Я работаю с уже готовым словарем и менять там ничего не имею возможности.
В принципе если _для себя_ исправить словарь, добавив туда OVER-поля, в большистве случаев физическая струкрура таблиц останется неизменной.
(Я корректно ответил? в смысле понятийного аппарата? :D
Я дураком просто кажусь ;) Расширеное объяснение вопроса мне требуется зачастую не потому, что я не понимаю вопроса, а потому что могу предположить несколько ситуаций, которые приведут к проблеме, а кривое описание не дает возможности указать на истинную причину проблемы.
а то я в Clarion еще не шибко разбираюсь
Ну это пройдет... при надлежащем старании... со временем... ;)

--
Best regards,
Vadim mailto:vadim@softcreator.com
ICQ: 82308757
Написал: ClaList(2)
Ответить