Tfrxdataset доступ к данным

отредактировано 08:59 Раздел: FastReport VCL
Здравствуйте.

Уже несколько дней пытаюсь решить одну задачу. Не получается. В надежде на помощь, обращаюсь к вам.
Суть проблемы. Есть программный комплекс (тестирования учащихся), в результате работы которого выдается отчет о тестировании. Отчет реализован в виде файла отчетов FastReport (v. 5.5.8). Есть возможность редактировать отчет. Сейчас занимаюсь формирование отчёта по определенным требованиям.

И так, как получить доступ к полям отчёта, чтобы произвести с ними манипуляции, я понял. Через скрипт.
А вот как получить доступ к полям набора данных - не пойму. Перепробовал различные варианты - не получается.

В поле отчёта в разделе MasterData1, есть поле Memo1, в нём текст - [uQuestion]. В таком случае выводится текст вопроса для тестирования.
Я бы хотел получить значение этого поля для дальнейшей обработки.
void MasterData1OnBeforePrint(TfrxComponent Sender)
{
   String s;
   s = <UserDS."uQuestion">;
   s = VarToStr(Get(<UserDS."uQuestion">));
}

Вот эти два варианта не работают, в переменной
s
ничего не сохраняется.

UserDS - это DataSet, который привязан к MasterData1.

Как корректно получить данные из набора данных?

Спасибо.

Комментарии

  • отредактировано 08:59
    Ответ нашёл.

    Следует писать код так:
    void MasterData1OnBeforePrint(TfrxComponent Sender)
    {
       String s;
       s = <uQuestion>;
    
    }
    

    Можно тему закрыть.
  • gpigpi
    отредактировано 08:59
    s = <UserDS."uQuestion">;
    ShowMessage(s);
    
    Должно работать, если всё так, как Вы описали
    s описана, как локальная переменная, поэтому вне MasterData1OnBeforePrint будет недоступна
  • gpigpi
    отредактировано 08:59
    maku написал: »
    Ответ нашёл.

    Следует писать код так:
    void MasterData1OnBeforePrint(TfrxComponent Sender)
    {
       String s;
       s = <uQuestion>;
    
    }
    

    Можно тему закрыть.
    Значит, uQuestion - переменная отчёта, а не поле датасета
  • отредактировано 08:59
    gpi написал: »
    Значит, uQuestion - переменная отчёта, а не поле датасета

    Получается так. Очень сложно было разобраться что к чему.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.