StrTran — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) (Новая страница: «StrTran - это функция, описанная в файле Qr_expr.pas StrTran( <Exp>, <Exp>, <Exp> ) Замена символов в символьн…») |
Hisava (обсуждение | вклад) м (→Полный текст функции) |
||
Строка 11: | Строка 11: | ||
{ TQREvStrTranFunction } | { TQREvStrTranFunction } | ||
− | type | + | type |
− | + | TQREvStrTranFunction = class(TQREvElementFunction) | |
− | + | public | |
− | + | function Calculate: TQREvResult; override; | |
− | + | end; | |
− | function TQREvStrTranFunction.Calculate: TQREvResult; | + | function TQREvStrTranFunction.Calculate: TQREvResult; |
− | begin | + | 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; | + | end; |
Версия 18:00, 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;