В 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.