zoukankan      html  css  js  c++  java
  • Delphi 2009 之 TStringBuilder 类[2]: Append 与 AppendFormat

    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.
    
  • 相关阅读:
    [转载]项目风险管理七种武器之引言
    [转载]基于TFS实践敏捷-Scrum模式运用
    [转载]基于TFS实践敏捷-工作项跟踪
    [转载]TFS入门指南
    SVN — subclipse操作指引
    Java 中 方法名或类名 变更 同时 更新 所有引用的 类名或方法名 的解决方案
    Java import javax.servlet 出错
    java 中 SVN 设置所有文件及子目录 needs-lock, svn 提交时自动设置 needs-lock, 及版本不一致问题
    vmware 传输(vmdb)错误-32:pipe:read failed 解决方法
    Web.xml配置详解
  • 原文地址:https://www.cnblogs.com/del/p/1266732.html
Copyright © 2011-2022 走看看