Пожалуйста, включите JavaScript для просмотра этого сайта.

Скрипты Simple-Scada

История: Примеры скриптов

Передача массива параметров

Пред. Вверх След. Еще

В Simple-Scada для передачи списка параметров (разного типа) в виде массива, всегда нужно использовать массив типа variant (array of variant). Константы типов Variant описаны по ссылке.

Пример функции с обработкой массива параметров разного типа:

// Функция с массивом параметров.
// переводит все параметры в строку, разделённую пробелами
function MyParamsToStr(const AArray: array of Variant): string;
var
  I: Integer;
  aParam: Variant;
begin
  Result := '';
  // проходим по элементам массива
  for I := Low(AArray) to High(AArray) do
  begin
    aParam := AArray[I];
    // далее выполняем преобразования в зависимости от типа параметра
    case VarType(AArray[I]) of
      varBoolean:                               
        if aParam then
          Result := Result + 'true '
        else
          Result := Result + 'false ';
 
      varByte, varWord, varLongWord, varShortInt,
      varSmallint, varInteger, varInt64:
        Result := Result + IntToStr(aParam) + ' ';
 
      varUInt64:
        Result := Result + UIntToStr(aParam) + ' ';
 
      varSingle, varDouble, varCurrency:
        Result := Result + FloatToStr(aParam) + ' ';
 
      varDate:
        Result := Result + DateTimeToStr(aParam) + ' ';
 
      varUString:
        Result := Result + aParam + ' ';
    end;
  end;
end;

Пример использования вышеописанной функции:

begin
  Text1.Text := MyParamsToStr([true, 10, -9223372036854775808, 123.45, VarFromDateTime(Now), 'S''текст']);
  // в Text1 запишется строка "true 10 -9223372036854775808 123.45 01.01.2025 00:00:00 S текст" 
end.