* Add ClearFirst parameter to AddStrings (bug ID 29630)

git-svn-id: trunk@33092 -
This commit is contained in:
michael 2016-02-13 11:03:51 +00:00
parent 6afda909d4
commit db19d73ec0
2 changed files with 20 additions and 2 deletions

View File

@ -664,7 +664,9 @@ type
function AddObject(const Fmt: string; Args : Array of const; AObject: TObject): Integer; overload;
procedure Append(const S: string);
procedure AddStrings(TheStrings: TStrings); overload; virtual;
procedure AddStrings(TheStrings: TStrings; ClearFirst : Boolean); overload;
procedure AddStrings(const TheStrings: array of string); overload; virtual;
procedure AddStrings(const TheStrings: array of string; ClearFirst : Boolean); overload;
Procedure AddText(Const S : String); virtual;
procedure Assign(Source: TPersistent); override;
procedure BeginUpdate;

View File

@ -720,13 +720,15 @@ end;
Procedure TStrings.AddStrings(TheStrings: TStrings);
Procedure TStrings.AddStrings(TheStrings: TStrings; ClearFirst : Boolean);
Var Runner : longint;
begin
beginupdate;
try
if ClearFirst then
Clear;
For Runner:=0 to TheStrings.Count-1 do
self.AddObject (Thestrings[Runner],TheStrings.Objects[Runner]);
finally
@ -734,13 +736,27 @@ begin
end;
end;
Procedure TStrings.AddStrings(TheStrings: TStrings);
begin
AddStrings(TheStrings,False);
end;
Procedure TStrings.AddStrings(const TheStrings: array of string);
begin
AddStrings(TheStrings,False);
end;
Procedure TStrings.AddStrings(const TheStrings: array of string; ClearFirst : Boolean);
Var Runner : longint;
begin
beginupdate;
try
beginupdate;
if ClearFirst then
Clear;
if Count + High(TheStrings)+1 > Capacity then
Capacity := Count + High(TheStrings)+1;
For Runner:=Low(TheStrings) to High(TheStrings) do