AT

Материал из Фабиус wiki
Перейти к: навигация, поиск

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;