Selaa lähdekoodia

* Correct string type where needed

Michael VAN CANNEYT 2 vuotta sitten
vanhempi
commit
05c05e3a1a
2 muutettua tiedostoa jossa 38 lisäystä ja 4 poistoa
  1. 29 0
      rtl/objpas/sysutils/syssb.inc
  2. 9 4
      rtl/objpas/sysutils/syssbh.inc

+ 29 - 0
rtl/objpas/sysutils/syssb.inc

@@ -1,3 +1,4 @@
+{%MainUnit sysutils.pp}
 { TGenericStringBuilder }
 
 constructor TGenericStringBuilder.Create;
@@ -218,6 +219,29 @@ begin
   Result:=Self;
 end;
 
+{$IFDEF SBUNICODE}
+function TGenericStringBuilder.Append(const AValue: AnsiChar): TGenericStringBuilder;
+begin
+  DoAppend(WideChar(AValue));
+  Result:=Self;
+end;
+{$ELSE}
+function TGenericStringBuilder.Append(const AValue: WideChar): TGenericStringBuilder;
+begin
+  // We don't know what the target encoding is ?
+  DoAppend(AnsiChar(AValue));
+  Result:=Self;
+end;
+
+function TGenericStringBuilder.Append(const AValue: UnicodeString): TGenericStringBuilder;
+begin
+  // We don't know what the target encoding is ?
+  DoAppend(AnsiString(AValue));
+  Result:=Self;
+end;
+
+{$ENDIF}
+
 function TGenericStringBuilder.Append(const AValue: Currency): TGenericStringBuilder;
 begin
   DoAppend(CurrToStr(AValue));
@@ -630,7 +654,12 @@ begin
 end;
 
 
+{$IFDEF UNICODERTL}
+function TGenericStringBuilder.ToString: RTLString;
+{$ELSE}
 function TGenericStringBuilder.ToString: SBString;
+{$ENDIF}
+
 begin
   Result:=ToString(0,Length);
 end;

+ 9 - 4
rtl/objpas/sysutils/syssbh.inc

@@ -1,3 +1,4 @@
+{%MainUnit sysutils.pp}
 
   { TGenericStringBuilder }
 
@@ -55,6 +56,10 @@
 {$IFDEF SBUNICODE}
     // Do not use SBRawstring, we need 2 versions in case of unicode
     Function Append(const AValue: SBString): TGenericStringBuilder;
+    Function Append(const AValue: AnsiChar): TGenericStringBuilder;
+{$ELSE}
+    Function Append(const AValue: UnicodeString): TGenericStringBuilder;
+    Function Append(const AValue: UnicodeChar): TGenericStringBuilder;
 {$ENDIF}
     Function Append(const AValue: RawByteString): TGenericStringBuilder;
     Function Append(const AValue: SBChar; RepeatCount: Integer): TGenericStringBuilder;
@@ -96,10 +101,10 @@
     Function Replace(const OldChar, NewChar: SBChar; StartIndex: Integer; Count: Integer): TGenericStringBuilder;
     Function Replace(const OldValue, NewValue: SBRawString): TGenericStringBuilder;
     Function Replace(const OldValue, NewValue: SBRawString; StartIndex: Integer; Count: Integer): TGenericStringBuilder;
-{$IFDEF SBUNICODE}
-    Function ToString: SBString;
-{$ELSE}
-    Function ToString: SBString; override;
+{$IFDEF UNICODERTL}
+    Function ToString: RTLString; override;
+{$ELSE}    
+    Function ToString: SBString; {$IFNDEF SBUNICODE} override; {$ELSE}  reintroduce; {$ENDIF}
 {$ENDIF}
     Function ToString(aStartIndex: Integer; aLength: Integer): SBString; reintroduce;