16.40.5. function SC_GetParamVal
function SC_GetParamVal(AIndx : integer; AName, ADefVal : string) : string;
Возвращает значение параметра с именем AName тега с номером AIndx. Отсчет элементов идет с 0. Указание имени несуществующего параметра или индекса за пределами диапазона не является ошибкой - в этом случае функция возвращает значение ADefVal. Значение ADefVal также возвращается в случае, если у тега с индексом AIndx нет параметра с именем AName.
Для чтения параметров текущего тега (родительского для тегов данных) необходимо указать индекс равный -1.
Совместимость: AVZ 4.28 и выше
Пример:
var
Res : boolean;
i : integer;
begin
Res := SC_INIT(GetAVZDirectory + 'LOG\avz_sysinfo.xml');
if Res then
AddToLog('Загрузка и парсинг протокола выполнены успешно')
else begin
AddToLog('Ошибка загрузки и парсинга протокола');
exit;
end;
if SC_SelectNode('AVZ\KERNELOBJ') then
AddToLog('Тег KERNELOBJ найден')
else begin
AddToLog('Тег KERNELOBJ не найден');
exit;
end;
// Запрос количества вложенных тегов
AddToLog('SC_GetItemsCount = '+inttostr(SC_GetItemsCount));
// Вывод данных в цикле
for i := 0 to SC_GetItemsCount - 1 do
AddToLog('['+inttostr(i)+'] File= "'+SC_GetParamVal(i, 'File', '')+'"');
end.
В примере использовались: AddToLog, GetAVZDirectory, SC_GetItemsCount, SC_GetParamVal, SC_INIT, SC_SelectNode
В данном примере выполняется загрузка существующего протокола исследования из папки LOG, размещенной в рабочем каталоге AVZ, и вывод в цикле элементов значения параметра File всех тегов, для которых родительским является текущий тег, выбранный при помощи SC_SelectNode.