Статьи Королевства Дельфи

       

Получение параметров отчета


Теперь о том как получить параметры отчета с помощью которых производится управление.

Используя PEGetNParameterFields вы получаете общее количество параметров в отчете. Передавая в функцию PEGetNthParameterField порядковый номер параметра получаем структуру с данными об имени, размере, значениях и т.п. Функция PEConvertPFInfoToVInfo позволяет получить значение параметра.

Функция PEGetNParameterFields имеет только один параметр - дескриптор задачи, в результате возвращается количество параметров. В примере показано как работать с параметрами:

var ParameterInfo: PEParameterFieldInfo; ValueInfo: PEValueInfo; . . . // Получить количество параметров. CountParams:= PEGetNParameterFields(FHandleJob); if CountParams <> -1 then begin for i:= 0 to CountParams - 1 do begin // Запросить информацию о параметре i. PEGetNthParameterField(FHandleJob, i, ParameterInfo); ValueInfo.ValueType := ParameterInfo.valueType; // Получить значение параметра. PEConvertPFInfoToVInfo(@ParameterInfo.DefaultValue, ValueInfo.ValueType, ValueInfo); ... end; end;
Описания структур довольно большие, поэтому я опишу только те поля которые используются в примере. ParameterInfo.Name - имя параметра. ParameterInfo.ValueType - тип данных параметра. ParameterInfo.DefaultValue - значение по умолчанию. Структура ValueInfo содержит в одном из своих полей значение параметра. Вы можете посмотреть в примере функцию FormatCrystalValue, чтобы разобраться с полями структуры.



Содержание раздела