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;