2016年2月15日 星期一

Delphi - 陣列

Delphi陣列


Delphi陣列分為靜態陣列及動態陣列2種形式


一、靜態陣列


1、標準陣列


說明:


var
 te1:array[0..2] of string;  ( 設定te1[0~2]有3個陣列空間 )


舉例 :


var
 te1:array[0..2] of string;
begin
 te1[0]:='0';
 te1[1]:='1';
 te1[2]:='2';
 showmessage('te1[0] = '+te1[0]+' , te1[1] = '+te1[1]+' , te1[2] = '+te1[2]);
end;




2、直接在定義區直接給予值


說明:


 te1:array[0..2] of string = ('0','1','2');  
(陣列0對應字串0,陣列1對應字串1,陣列2對應字串2)


注 : 發現要在全域變數才可以使用,本人使用區域變數會顯錯誤


舉例 :


var
 Form1: TForm1;
 te1:array[0..2] of string = ('0','1','2');
implementation


{$R *.dfm}


procedure TForm1.FormCreate(Sender: TObject);


begin
// te1[0]:='0';
 //te1[1]:='1';
 //te1[2]:='2';
 showmessage('te1[0] = '+te1[0]+' , te1[1] = '+te1[1]+' , te1[2] = '+te1[2]);
end;


3、多維陣列


說明:


我們以二維陣列為例


te1:array[0..2,0..1] of string;
(設定陣列內有 [ 0 ~ 2,0 ~ 1 ] 共有3*2個陣列空間)


舉例:


procedure TForm1.FormCreate(Sender: TObject);
var
 te1:array[0..2,0..1] of string;
begin
 te1[2,1]:='0';


 showmessage('te1[2,1] = '+te1[2,1]);
end;


二、動態陣列


說明:


首先先設定所需之變數型態
var
 te1:array of string;
(我在這設定為字串型態)


再來在begin內設定所需之陣列長度
begin
  SetLength(te1,2);
( 我在這設定長度為2[0~1] )


舉例:


procedure TForm1.FormCreate(Sender: TObject);
var
 te1:array of string;
begin


  SetLength(te1,2);


  te1[1]:='0';


 showmessage('te1[1] = '+te1[1]);
end;


沒有留言:

張貼留言