文档章节

Delphi 2009 之 TStringBuilder 类[2]: Append 与 AppendFormat

涂孟超
 涂孟超
发布于 2014/09/26 15:30
字数 301
阅读 5
收藏 0
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.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/08/13/1266732.html

涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
java中stringBuilder的用法

String对象是不可改变的。每次使用 System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的...

我叫leo-
2016/04/08
72
1
System.Text.StringBuilder 类

要修改字符串而不创建新的对象,可以使用 System.Text.StringBuilder 类。StringBuilder.Append 将信息追加到当前 StringBuilder 的结尾。StringBuilder.AppendFormat 用带格式文本替换字符串...

人来疯啊
2016/07/11
8
0
MVC LINQ中用封装的TSQL通用更新方法

今天用LINQ的update出现问题了,LINQ的BUG不少,呵呵,所以自己把TSQL拿出来,做了一个封装,适用的所有表,更新有两种,普通更新和记数更新 看代码:这两个方法是写在DAL里的数据操作基类里...

mcy247
2017/12/31
0
0
【C# 知识点】String和StringBuilder的区别

参考资料:  -《C#从入门到精通(第四版)》清华大学出版社  - 资料来源-木土家的田童:C# String与string的区别 啊啊啊 之前一直不知道还有这回事,翻了一下书才发现。优化也很重要,,,...

madbam_boo
2018/04/06
0
0
delphi - 为 Frame 添加 OnShow 事件响应函数.

更具体的说明可以参看以下两处: http://manztiara.wordpress.com/2009/10/06/delphi-frame-whats-going-on/ http://www.delphifr.com/codes/TFRAME-ONSHOW-ONHIDE51610.aspx 这里只把我实现的......

sailtseng
2012/06/07
342
0

没有更多内容

加载失败,请刷新页面

加载更多

PostgreSQL 11.3 locking

rudi
今天
5
0
Mybatis Plus sql注入器

一、继承AbstractMethod /** * @author beth * @data 2019-10-23 20:39 */public class DeleteAllMethod extends AbstractMethod { @Override public MappedStatement injectMap......

一个yuanbeth
今天
10
1
一次写shell脚本的经历记录——特殊字符惹的祸

本文首发于微信公众号“我的小碗汤”,扫码文末二维码即可关注,欢迎一起交流! redis在容器化的过程中,涉及到纵向扩pod实例cpu、内存以及redis实例的maxmemory值,statefulset管理的pod需要...

码农实战
今天
4
0
为什么阿里巴巴Java开发手册中不建议在循环体中使用+进行字符串拼接?

之前在阅读《阿里巴巴Java开发手册》时,发现有一条是关于循环体中字符串拼接的建议,具体内容如下: 那么我们首先来用例子来看看在循环体中用 + 或者用 StringBuilder 进行字符串拼接的效率...

武培轩
今天
8
0
队列-链式(c/c++实现)

队列是在线性表功能稍作修改形成的,在生活中排队是不能插队的吧,先排队先得到对待,慢来得排在最后面,这样来就形成了”先进先出“的队列。作用就是通过伟大的程序员来实现算法解决现实生活...

白客C
今天
81
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部