AVZ 5. Руководство пользователя
×

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_INITSC_SelectNode
 
В данном примере выполняется загрузка существующего протокола исследования из папки LOG, размещенной в рабочем каталоге AVZ, и вывод в цикле элементов значения параметра File всех тегов, для которых родительским является текущий тег, выбранный при помощи SC_SelectNode.