问题来源:
http://www.cnblogs.com/del/archive/2008/05/11/1089344.html#1191871
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{把字符串给静态(字符)数组}
procedure TForm1.Button1Click(Sender: TObject);
const
str = '万一的 Delphi 博客';
var
StaticArr: array[0..255] of Char;
begin
{直接赋值即可}
StaticArr := str;
{显示}
ShowMessage(StaticArr); {万一的 Delphi 博客}
end;
{把字符串给动态(字符)数组}
procedure TForm1.Button2Click(Sender: TObject);
const
str = '万一的 Delphi 博客';
var
DynamicArr: array of Char;
i: Integer;
begin
{设置动态数组大小}
SetLength(DynamicArr, Length(str));
{把字符串赋给动态数组}
for i := 0 to Length(DynamicArr) - 1 do
DynamicArr[i] := str[i+1];
{显示动态数组中的字符}
ShowMessage(PChar(@DynamicArr[0])); {万一的 Delphi 博客}
end;
{数组元素可不一定都是字符}
procedure TForm1.Button3Click(Sender: TObject);
const
str = '万一的 Delphi 博客';
var
DynamicArr: array of string;
begin
SetLength(DynamicArr, 1);
DynamicArr[0] := str;
ShowMessage(DynamicArr[0]); {万一的 Delphi 博客}
end;
end.