(8)Delphi 2009 之 TStringBuilder 类[6]: Equals

  • A+
所属分类:[开发技巧]

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.
 

200809221751594378.rar

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
广告也精彩
avatar
广告也精彩

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: