delphi二維陣列如何定義,delphi二維陣列定義 賦值

2022-02-14 20:09:43 字數 3696 閱讀 7606

1樓:匿名使用者

在 delphi (object pascal 語言)中,使用 array 關鍵字進行陣列定義。

如果需要定義二維陣列可以採取以下定義形式:

一、靜態陣列定義

靜態陣列定義,通常用於陣列元素的數目確定的情況。定義形式如下:

示例:type

//定義二維陣列型別

tmultiarr = array[1..3,1..3] of string;

varmultiarr: tmultiarr;

//定義 行12*列12 的 integer 陣列

intarr: array[1..12] of array[1..12] of integer;

//定義 行5*列5 的 string 陣列

strarr: array[1..5,1..5] of string;

二、動態陣列定義

動態陣列常用於當陣列的元素數目不確定的時候,其定義形式如下:

samarr: array of array of integer; //定義二維陣列,陣列元素不確定

type tmessagegrid = array of array of string; //定義二維陣列型別,陣列元素不確定

var msgs: tmessagegrid; //宣告乙個二維陣列型別變數

二維動態陣列的元素數目,可以通過 setlenth 來動態指定,示例**如下:

procedure tform1.button3click(sender: tobject);

type tmultiarr = array of array of string;

vara: tmultiarr;

i, j: integer;

s: string;

begin

setlength(a, 10);

for i := low(a) to high(a) do

begin

setlength(a[i], i);

for j := low(a[i]) to high(a[i]) do

a[i, j] := inttostr(i) + ',' + inttostr(j) + ' ';

end;

for i := low(a) to high(a) do

begin

s := '';

for j := low(a[i]) to high(a[i]) do

s := s + ' ' + a[i, j];

memo1.lines.add(s);

end;

end;

**執行截圖:

2樓:匿名使用者

a: array [0..1] of array [0..9] of integer;

或 a: array of array of integer;

3樓:匿名使用者

兩種形式,任選其一,例如:

amatrix : array[1..10] of array[1..50] of real;

bmatrix : array[1..10, 1..50] of real;

delphi二維陣列定義 賦值

4樓:

不用ado連線的話,把資料匯出為cvs格式,delphi可以批量讀入

5樓:

資料在excel**裡時,可以把xls檔案當鑄乙個資料庫,sheet當成乙個資料庫表,使用類似連線access的方法連線到xls檔案,然後使用ado+sql語句可以進行處理,連線字串一般為:

const

connstr = 'provider=microsoft.jet.oledb.

+ 'persist security info=false';

%s就是你的excel檔案,使用excel的sheet做為表名時,要用中括號引起來,例如:

select * from [sheet1]

6樓:匿名使用者

vardt: array[0..4] of array[0..399] of integer;

r,c: integer; // r 行,c 列...for i :

= 0 to 4 do beginfor j := 0 to 399 do begindt[i, j] := 100;

end;

end;...

delphi 如何定義乙個n行2列的陣列 ?

7樓:己聞楣

貌似不應該定義n行2列的二維陣列,而是應該先定義乙個結構,再定義元素為此結構的一維陣列,示例如下:

tregisterdata = packed recordaddr : pointer;

value : integer;

end;

armyregisters : array[ 1..n ] of tregisterdata;

8樓:匿名使用者

mya : array[0..n,0..1] of integer;

9樓:

type

tszrec = packed recordabox: dword;

addr: dword;

end;

szrecs: array of tszrec;

delphi二維陣列初始化並輸出的問題

10樓:匿名使用者

指標的型別與陣列的型別不一致,陣列是array [0..2] of arraytype型別,而指標是指向arraytype的,也就是指標只是指向陣列的元素的,而不是指向陣列,導致函式呼叫傳遞引數不正確。既然函式fun是用傳值方式,就沒有必要轉換成指標,再由指標又轉換成變數(陣列),這多餘了。

procedure tform1.btn1click(sender: tobject);

vararraytype1: array [0..2] of arraytype;

//array_pointer: parray;

j: integer;

begin

for i := 0 to high(arraytype1) do

for j := 0 to high(arraytype) do

arraytype1[i, j] := i * j;

//array_pointer := @arraytype1;

fun(arraytype1);

end;

如果要用傳址方式,array [0..2] of arraytype必須在函式fun之前定義成型別,再改形參和實參。

「c++」中二維陣列的指標如何定義?

11樓:手機使用者

// int a[2][2] = ;

// **a 就是 a[0][0] 第一行第一列。

// *(*a + 1) 就是 a[0][1] 第一行第二列。

// **(a + 1) 就是 a[1][0] 第二行第一列。

// *(*(a + 1) + 1) 就是 a[1][1] 第二行第二列。

c 二維陣列排序問題,C 二維陣列sort函式排序問題

include 寫的比較簡單,原理你應該都知道了,後面的,就是 開始做的那個沒刪 void main for i 0 i 12 i 冒泡 for j 0 j 12 j if a j 4 j 4 a j 1 4 j 1 4 看起來有點複雜,其實就是 12個數分成3行4列,對應的行數就是j 4,列數j ...

二維陣列與矩陣的區別?二維陣列和矩陣的區別

二維陣列是程式語言中的叫法,矩陣是數學教材上的教法。它們之間沒多大區別。如果把有些規定說明一致的話,應該是一樣的。其實是一樣的。int a int b 3 3 a b 那麼陣列名就是首個元素位址。a 1就是b 1 0 或者b 1 的位址。二維陣列和矩陣的區別 二維陣列是矩陣的一種實現方式,就是在程式...

關於c語言二維陣列的問題,C語言中二維陣列的定義問題

a是乙個一維陣列,陣列裡的值是指標,指向的還是一維陣列。即等價於,int x 2 2,0 int y 2 4,8 int a 2 x,y 我想你應該知道答案了。c語言中二維陣列的定義問題 正確寫法如下 char fd jgf1 maxitemlen 1 說明 把null去掉 1.二維陣列的第乙個維度...