Browse Source

* Fix bug ID #0036246, delphi compatibility property

git-svn-id: trunk@43353 -
michael 5 years ago
parent
commit
30bc217d55
2 changed files with 15 additions and 0 deletions
  1. 4 0
      rtl/objpas/classes/classesh.inc
  2. 11 0
      rtl/objpas/classes/stringl.inc

+ 4 - 0
rtl/objpas/classes/classesh.inc

@@ -625,6 +625,7 @@ type
     function GetCommaText: string;
     function GetCommaText: string;
     function GetMissingNameValueSeparatorAction: TMissingNameValueSeparatorAction;
     function GetMissingNameValueSeparatorAction: TMissingNameValueSeparatorAction;
     function GetName(Index: Integer): string;
     function GetName(Index: Integer): string;
+    function GetTrailingLineBreak: Boolean;
     function GetValue(const Name: string): string;
     function GetValue(const Name: string): string;
     Function GetLBS : TTextLineBreakStyle;
     Function GetLBS : TTextLineBreakStyle;
     procedure SetDefaultEncoding(const ADefaultEncoding: TEncoding);
     procedure SetDefaultEncoding(const ADefaultEncoding: TEncoding);
@@ -634,6 +635,7 @@ type
     procedure SetCommaText(const Value: string);
     procedure SetCommaText(const Value: string);
     procedure SetMissingNameValueSeparatorAction(AValue: TMissingNameValueSeparatorAction);
     procedure SetMissingNameValueSeparatorAction(AValue: TMissingNameValueSeparatorAction);
     procedure SetStringsAdapter(const Value: IStringsAdapter);
     procedure SetStringsAdapter(const Value: IStringsAdapter);
+    procedure SetTrailingLineBreak(AValue: Boolean);
     procedure SetValue(const Name, Value: string);
     procedure SetValue(const Name, Value: string);
     procedure SetDelimiter(c:Char);
     procedure SetDelimiter(c:Char);
     procedure SetQuoteChar(c:Char);
     procedure SetQuoteChar(c:Char);
@@ -733,6 +735,8 @@ type
     property Objects[Index: Integer]: TObject read GetObject write PutObject;
     property Objects[Index: Integer]: TObject read GetObject write PutObject;
     property QuoteChar: Char read GetQuoteChar write SetQuoteChar;
     property QuoteChar: Char read GetQuoteChar write SetQuoteChar;
     Property SkipLastLineBreak : Boolean Read GetSkipLastLineBreak Write SetSkipLastLineBreak;
     Property SkipLastLineBreak : Boolean Read GetSkipLastLineBreak Write SetSkipLastLineBreak;
+    // Same as SkipLastLineBreak but for Delphi compatibility. Note it has opposite meaning.
+    Property TrailingLineBreak : Boolean Read GetTrailingLineBreak Write SetTrailingLineBreak;
     Property StrictDelimiter : Boolean Read FStrictDelimiter Write FStrictDelimiter;
     Property StrictDelimiter : Boolean Read FStrictDelimiter Write FStrictDelimiter;
     property Strings[Index: Integer]: string read Get write Put; default;
     property Strings[Index: Integer]: string read Get write Put; default;
     property StringsAdapter: IStringsAdapter read FAdapter write SetStringsAdapter;
     property StringsAdapter: IStringsAdapter read FAdapter write SetStringsAdapter;

+ 11 - 0
rtl/objpas/classes/stringl.inc

@@ -163,6 +163,7 @@ begin
 end;
 end;
 
 
 
 
+
 Function TStrings.GetNameValueSeparator :Char;
 Function TStrings.GetNameValueSeparator :Char;
 begin
 begin
   CheckSpecialChars;
   CheckSpecialChars;
@@ -292,6 +293,11 @@ begin
   GetNameValue(Index,Result,V);
   GetNameValue(Index,Result,V);
 end;
 end;
 
 
+function TStrings.GetTrailingLineBreak: Boolean;
+begin
+  Result:=Not SkipLastLineBreak;
+end;
+
 Function TStrings.GetValue(const Name: string): string;
 Function TStrings.GetValue(const Name: string): string;
 
 
 Var
 Var
@@ -476,6 +482,11 @@ Procedure TStrings.SetStringsAdapter(const Value: IStringsAdapter);
 begin
 begin
 end;
 end;
 
 
+procedure TStrings.SetTrailingLineBreak(AValue: Boolean);
+begin
+  SkipLastLineBreak:=Not aValue;
+end;
+
 
 
 
 
 Procedure TStrings.SetDefaultEncoding(const ADefaultEncoding: TEncoding);
 Procedure TStrings.SetDefaultEncoding(const ADefaultEncoding: TEncoding);