StrTran — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
м (Полный текст функции)
м
Строка 32: Строка 32:
 
     Result := ErrorCreate(Format(SqrExpWrongArguments, ['StrTran']));
 
     Result := ErrorCreate(Format(SqrExpWrongArguments, ['StrTran']));
 
  end;
 
  end;
 +
 +
= Пример использования =
 +
 +
StrTran( Str( Abs( aa ) ), ',', '.' )

Версия 18:01, 12 апреля 2016

StrTran - это функция, описанная в файле Qr_expr.pas

StrTran( <Exp>, <Exp>, <Exp> )

Замена символов в символьной строке

StrTran( Строка, Что_искать, Чем_заменить )

Полный текст функции

{ TQREvStrTranFunction }

type
  TQREvStrTranFunction = class(TQREvElementFunction)
  public
    function Calculate: TQREvResult; override;
  end;
function TQREvStrTranFunction.Calculate: TQREvResult;
begin
  if (ArgList.Count = 3) and
    (Argument(0).Kind = ResString) and
    (Argument(1).Kind = ResString) and
    (Argument(2).Kind = ResString) then
  begin
    Result.Kind := ResString;
    Result.StrResult :=
      StringReplace(Argument(0).StrResult, Argument(1).StrResult,
      Argument(2).StrResult, [rfReplaceAll]);
  end
  else
    Result := ErrorCreate(Format(SqrExpWrongArguments, ['StrTran']));
end;

Пример использования

StrTran( Str( Abs( aa ) ), ',', '.' )