Browse Source

* Merging revisions 156 from trunk:
------------------------------------------------------------------------
r156 | michael | 2018-08-10 09:19:14 +0200 (Fri, 10 Aug 2018) | 1 line

* Fix quotestring and add quotedstr
------------------------------------------------------------------------

michael 6 years ago
parent
commit
a48748e086
1 changed files with 8 additions and 4 deletions
  1. 8 4
      packages/rtl/sysutils.pas

+ 8 - 4
packages/rtl/sysutils.pas

@@ -210,6 +210,7 @@ Type
 
 function StringReplace(aOriginal, aSearch, aReplace : string; Flags : TStringReplaceFlags) : String;
 function QuoteString(aOriginal : String; AQuote : Char) : String;
+function QuotedStr(const s: string; QuoteChar : Char = ''''): string;
 function IsDelimiter(const Delimiters, S: string; Index: Integer): Boolean;
 function AdjustLineBreaks(const S: string): string;
 function AdjustLineBreaks(const S: string; Style: TTextLineBreakStyle): string;
@@ -2072,12 +2073,14 @@ end;
 
 Function QuoteString(aOriginal : String; AQuote : Char) : String;
 
-Var
-  REString : String;
+begin
+  Result:=AQuote+StringReplace(aOriginal,aQuote,aQuote+aQuote,[rfReplaceAll])+AQuote;
+end;
+
+function QuotedStr(const s: string; QuoteChar : Char = ''''): string;
 
 begin
-  REString:=TJSString(aQuote).replace(TJSRegexp.new(aOriginal,'g'),'\\$1');
-  Result:=AQuote+TJSString(aOriginal).replace(TJSRegexp.new(REString,'g'),'$1\$1')+AQuote;
+  Result:=QuoteString(S,QuoteChar);
 end;
 
 function IsDelimiter(const Delimiters, S: string; Index: Integer): Boolean;
@@ -3834,6 +3837,7 @@ begin
     Result:='0'+Result;
 end;
 
+
 { TFormatSettings }
 
 function TFormatSettings.GetCurrencyDecimals: Byte;