Delphi2009之TStringBuilder类[6]:Equals

Delphi 2009 之 TStringBuilder 类[6]: Equals

unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
//TStringBuilder.Equals 判断对象是否相同
procedure TForm1.Button1Click(Sender: TObject);
var
  sb1,sb2: TStringBuilder;
  b: Boolean;
begin
  sb1 := TStringBuilder.Create('abc');
  sb2 := TStringBuilder.Create('abc');
 
  b := sb1.Equals(sb2);
  ShowMessage(BoolToStr(b, True)); {True}
 
  sb2.Length := 0;
  b := sb1.Equals(sb2);
  ShowMessage(BoolToStr(b, True)); {False}
 
  sb1.Free;
  sb2.Free;
end;
 
//此例中的 sb2 都没有产生新的对象, 只是指向了 sb1
procedure TForm1.Button2Click(Sender: TObject);
var
  sb1,sb2: TStringBuilder;
begin
  sb1 := TStringBuilder.Create('abc');
 
  sb2 := sb1;
  sb1.Append('123');
  ShowMessage(sb2.ToString); {abc123}
 
  sb2 := sb1.Replace('123', ' 123');
  ShowMessage(sb1.ToString); {abc 123}
  ShowMessage(sb2.ToString); {abc 123}
 
  ShowMessage(BoolToStr(sb2.Equals(sb1), True)); {True}
 
  sb1.Free;
end;
 
end.

 

posted @ 2013-04-03 16:19  Wishmeluck  阅读(65)  评论(0编辑  收藏  举报