[問題] 關於陣列問題(Delphi)
各位板上的前輩,
小弟是初學Delphi的新手,以前只碰過一些VBA(VB6),
現在對Delphi的陣列運用上遇到了不小的問題...
1.想要在程式中宣告多維(二維以上)陣列常數,
但是大小不固定,以二維為例,A[0..3][]
A[0]:長度為3的一維陣列[0..2]
A[1]:長度為2的一維陣列[0..1]
A[2]:長度為10的一維陣列[0..9]
A[3]:長度為1的陣列or單值
(上述的資料型態都是string)
有可能宣告得出這樣子的常數嗎?
2.動態陣列即使指定了正確的維度大小,也不能直接賦值?
Const A:array[0..5] of array[0..3] of string=(....);
var B:array of array of string;
程式碼中寫
setlength(B,6,4);
B:=A; <--這一步會出錯,原因是incompatible 'array' and 'dynamic array'
一定要跑回圈一個一個元素把值塞進去才行。
請問沒有特別的函式或是副程式去做陣列的複製嗎?
我找了一些Delphi的書和網路資料,對陣列的敘述都只有輕輕帶過而已,
希望板上熟Delphi的前輩可以幫我指點一下,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.124.31.243