unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} //TStringBuilder.Append 可以添加几乎所有数据类型, 甚至是对象 procedure TForm1.Button1Click(Sender: TObject); var sb1,sb2: TStringBuilder; ver: Cardinal; begin sb1 := TStringBuilder.Create; sb2 := TStringBuilder.Create; sb1.Append('Delphi '); ver := 2009; sb1.Append(ver); ShowMessage(sb1.ToString); {Delphi 2009} sb2.Append(sb1); {换行} sb2.AppendLine; sb2.Append(Self); ShowMessage(sb2.ToString); {Delphi 2009 TForm1} sb1.Free; sb2.Free; end; //TStringBuilder.Append 截取字符数组和字符串 procedure TForm1.Button2Click(Sender: TObject); const CharArr: array[0..6] of Char = ('A','B','C','D','E','F','G'); Str = 'ABCDEFG'; var sb: TStringBuilder; begin sb := TStringBuilder.Create; sb.Append(CharArr, 2, 3); ShowMessage(sb.ToString); {CDE} {清空} sb.Length := 0; sb.Append(Str, 2, 3); ShowMessage(sb.ToString); {CDE} sb.Free; end; //TStringBuilder.Append 添加指定数目的字符 procedure TForm1.Button3Click(Sender: TObject); var sb: TStringBuilder; begin sb := TStringBuilder.Create; sb.Append('A', 10); ShowMessage(sb.ToString); {AAAAAAAAAA} sb.Free; end; //TStringBuilder.Append 试试其他数据类型 procedure TForm1.Button4Click(Sender: TObject); var sb: TStringBuilder; b: Boolean; r: Real; begin sb := TStringBuilder.Create; b := True; sb.Append(b); sb.AppendLine; b := not b; sb.Append(b); sb.AppendLine; r := 100/3; sb.Append(r); ShowMessage(sb.ToString); {True False 33.3333333333333} sb.Free; end; //TStringBuilder.AppendFormat 的使用和 Format 函数是一样的 procedure TForm1.Button5Click(Sender: TObject); var sb: TStringBuilder; begin sb := TStringBuilder.Create; sb.AppendFormat('%s %d', ['Delphi', 2009]); ShowMessage(sb.ToString); {Delphi 2009} sb.Free; end; end.