AT — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м |
Hisava (обсуждение | вклад) м |
||
Строка 1: | Строка 1: | ||
− | at - это функция, | + | at - это функция, описанная в файле [[Qr_expr.pas]] |
AT( <Exp>, <Exp> ) | AT( <Exp>, <Exp> ) |
Версия 16:38, 10 июня 2016
at - это функция, описанная в файле Qr_expr.pas
AT( <Exp>, <Exp> )
Позиция первого вхождения подстроки в символьную строку
At( 'что искать', 'где искать' )
Примеры
b1 := at( pref_from, xml_text )
Полный текст функции
{ TQREvAtFunction }
type
TQREvAtFunction = class(TQREvElementFunction) public function Calculate: TQREvResult; override; end;
function TQREvAtFunction.Calculate: TQREvResult; var
OffSet: integer;
begin
if (ArgList.Count >= 2) and (Argument(0).Kind = ResString) and (Argument(1).Kind = ResString) then begin Result.Kind := ResInt; if (ArgList.Count > 2) then OffSet := QrEvResultToInt(Argument(2)) else OffSet := 1; Result.IntResult := PosEx(Argument(0).StrResult, Argument(1).StrResult, OffSet); end else Result := ErrorCreate(Format(SqrExpWrongArguments, ['AT']));
end;