问题来源: 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.

posted on 2008-05-11 12:31  万一  阅读(6180)  评论(14编辑  收藏  举报