Delphi 2009中string与Char的改变

在 Delphi 2009 中:

string = UnicodeString; (同样: PString = PUnicodeString;)

Char = WideChar; (同样: PChar = PWideChar;)

本例效果图:

代码文件:

unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;
type
 TForm1 = class(TForm)
  Memo1: TMemo;
  Edit1: TEdit;
  Button1: TButton;
  Button2: TButton;
  Button3: TButton;
  Button4: TButton;
  Button5: TButton;
  Button6: TButton;
  Button7: TButton;
  procedure FormCreate(Sender: TObject);
  procedure Button1Click(Sender: TObject);
  procedure Button2Click(Sender: TObject);
  procedure Button3Click(Sender: TObject);
  procedure Button4Click(Sender: TObject);
  procedure Button5Click(Sender: TObject);
  procedure Button6Click(Sender: TObject);
  procedure Button7Click(Sender: TObject);
 end;
var
 Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
 Memo1.Clear;
 Edit1.Alignment := taCenter;
 Edit1.Text := '''万一的 Delphi 博客''';
 Button1.Caption := 'string';
 Button2.Caption := 'AnsiString';
 Button3.Caption := 'WideString';
 Button4.Caption := 'Char';
 Button5.Caption := 'AnsiChar';
 Button6.Caption := 'WideChar';
 Button7.Caption := '清' + #10#10 + '空';
 Button7.WordWrap := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
 str: string;
 i: Integer;
begin
 str := Edit1.Text;
 Memo1.Clear;
 for i := 1 to Length(str) do Memo1.Lines.Add(str[i]);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
 str: AnsiString;
 i: Integer;
begin
 str := Edit1.Text;
 Memo1.Clear;
 for i := 1 to Length(str) do Memo1.Lines.Add(str[i]);
end;
procedure TForm1.Button3Click(Sender: TObject);
var
 str: WideString;
 i: Integer;
begin
 str := Edit1.Text;
 Memo1.Clear;
 for i := 1 to Length(str) do Memo1.Lines.Add(str[i]);
end;
procedure TForm1.Button4Click(Sender: TObject);
var
 c: Char;
begin
 Memo1.Clear;
 for c in Edit1.Text do Memo1.Lines.Add(c);
end;
procedure TForm1.Button5Click(Sender: TObject);
var
 c: AnsiChar;
begin
 Memo1.Clear;
 for c in AnsiString(Edit1.Text) do Memo1.Lines.Add(c);
end;
procedure TForm1.Button6Click(Sender: TObject);
var
 c: WideChar;
begin
 Memo1.Clear;
 for c in Edit1.Text do Memo1.Lines.Add(c);
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
 Memo1.Clear;
end;
end.

时间: 2024-10-29 00:58:08

Delphi 2009中string与Char的改变的相关文章

Delphi 2009中TStrings与TStream的增强

在 Delphi 2009 中, TStrings 类(包括 TStringList 和包含 TStrings 属性的所有组件, 譬如 Memo.lines 属性.ListBox.Items 属性). TStream 类系列(包括 TFileStream.TMemoryStream 等) 的存取方法, 譬如 : LoadFromFile.SaveToFile.LoadFromStream.SaveToStream, 都有了选择 TEncoding 参数的重载. 本例效果图:

Delphi 2009中的新功能

JSON(JavaScript Object Notation) 类似与 XML; 虽始于 JavaScript, 但被多种语言支持, 它也成了 Delphi 2009 的新功能 之一. 假如有一段 XML: <id>2</id> <name>张三 </name> <age>99</age> 用 json 可以表示为: {"id":2, "name":"张三", "

Delphi 2009中的匿名方法(reference to)

之前我们可以定义方法类型, 然后通过方法类型的变量来使用方法, 譬如:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); end; var Form1: TForm1; implementation

Delphi 2009中的TLinkLabel实例

本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) LinkLabel1: TLinkLabel; procedure FormCreate(Sender: TObject); procedure LinkLabel1LinkCl

c++-C#中的string或者char类型数据如何转化为C++中的char类型数据

问题描述 C#中的string或者char类型数据如何转化为C++中的char类型数据 C++代码:bool hasfire(char s[100]) 因为使用C++做DLL文件,调用hasfire()这个函数时,发现C#中的char类型和C++中的不大一样,不知道怎么处理才能把C#中的char转化成C++中的char类型.

Delphi 2009的反射单元(ObjAuto)

ObjAuto 单元应该算是对 TypInfo 单元的功能扩展吧? 它提供了 5 个方法: GetMethods.GetMethodInfo.CreateMethodPointer.ReleaseMethodPointer.ObjectInvoke 通过 GetMethods.GetMethodInfo 可以获取类公用成员的详细信息. 通过 TypInfo 只能获取 published 区中成员的信息(例子); 通过 ObjAuto 也能获取 public 区的成员信息. 本例效果图: 本例有两

Delphi 2009泛型容器单元(Generics.Collections)[3]: TStack&amp;lt;T&amp;gt;

TQueue 和 TStack, 一个是队列列表, 一个是堆栈列表; 一个是先进先出, 一个是先进后出. TStack 主要有三个方法.一个属性: Push(压栈).Pop(出栈).Peek(查看下一个要出栈的元素); Count(元素总数). 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdC

Delphi 2009泛型容器单元(Generics.Collections)[2]: TQueue&amp;lt;T&amp;gt;

TQueue 和 TStack, 一个是队列列表, 一个是堆栈列表; 一个是先进先出, 一个是先进后出. TQueue 主要有三个方法.一个属性: Enqueue(入列).Dequeue(出列).Peek(查看下一个要出列的元素); Count(元素总数). 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialog

string与char*的转换(转载)

//string --> const char  string str2ch: str2ch.c_str();    //=============================   //string --> char * //先转为 const char , 然后 转char *    char TargetFile[strlen(TorrentFileNameDown.c_str())];     strcpy(TargetFile,TorrentFileNameDown.c_str()