全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3996
推到 Plurk!
推到 Facebook!

const args: array of const 這個要怎麼用呢

答題得分者是:like
pricejit
一般會員


發表:4
回覆:1
積分:1
註冊:2006-07-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-07-22 11:10:38 IP:220.229.xxx.xxx 訂閱

function TForm1.makestr(const args: array of const): string;
const
boolchars:array[boolean]of char=('F','T');
var i:integer;
begin
result:='';
for i:=0 to high(args) do
with args[i] do
case vtype of //是tvarrec的vtype 是存放陣列中的每一個元素的資料型別
vtinteger:result:=result inttostr(vinteger);
end;

end;

procedure TForm1.Button7Click(Sender: TObject);
var str:string;
test:array[1..5] of integer;

i:integer;

begin
for i:=1 to 5 do
begin
test[i]:=i 1;

end;
str:=makestr(test[2]); //這一行一直編不了

end;

syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-07-22 15:27:41 IP:61.64.xxx.xxx 未訂閱
請不要把馬嘴硬裝在牛頭上

你自己都宣告 const args: array of const <----這是 Array

test[2] <---- 這不是 Array ,是 Array 中的一個元素

當然編不過

請不要把馬嘴硬裝在牛頭上



===================引 用 文 章===================

function TForm1.makestr(const args: array of const): string;
const
boolchars:array[boolean]of char=('F','T');
var i:integer;
begin
result:='';
for i:=0 to high(args) do
with args[i] do
case vtype of //是tvarrec的vtype 是存放陣列中的每一個元素的資料型別
vtinteger:result:=result inttostr(vinteger);
end;

end;

procedure TForm1.Button7Click(Sender: TObject);
var str:string;
test:array[1..5] of integer;

i:integer;

begin
for i:=1 to 5 do
begin
test[i]:=i 1;

end;
str:=makestr(test[2]); //這一行一直編不了

end;

pricejit
一般會員


發表:4
回覆:1
積分:1
註冊:2006-07-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-07-25 20:42:09 IP:220.229.xxx.xxx 訂閱

str:=makestr(test);

可是如果我改成這樣,會出現不相容的型態的錯誤訊息呢

like
一般會員


發表:30
回覆:35
積分:18
註冊:2005-03-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-07-31 09:14:46 IP:61.242.xxx.xxx 未訂閱

要这样传递参数:

makestr([test[1],test[2]...)
===================引 用 文 章===================

function TForm1.makestr(const args: array of const): string;
const
boolchars:array[boolean]of char=('F','T');
var i:integer;
begin
result:='';
for i:=0 to high(args) do
with args[i] do
case vtype of //是tvarrec的vtype 是存放陣列中的每一個元素的資料型別
vtinteger:result:=result inttostr(vinteger);
end;

end;

procedure TForm1.Button7Click(Sender: TObject);
var str:string;
test:array[1..5] of integer;

i:integer;

begin
for i:=1 to 5 do
begin
test[i]:=i 1;

end;
str:=makestr(test[2]); //這一行一直編不了

end;

like
一般會員


發表:30
回覆:35
積分:18
註冊:2005-03-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2006-07-31 09:20:55 IP:61.242.xxx.xxx 未訂閱

少了个右括号:

makestr([test[1]...]);
===================引 用 文 章===================

要这样传递参数:

makestr([test[1],test[2]...)
===================引 用 文 章===================

function TForm1.makestr(const args: array of const): string;
const
boolchars:array[boolean]of char=('F','T');
var i:integer;
begin
result:='';
for i:=0 to high(args) do
with args[i] do
case vtype of //是tvarrec的vtype 是存放陣列中的每一個元素的資料型別
vtinteger:result:=result inttostr(vinteger);
end;

end;

procedure TForm1.Button7Click(Sender: TObject);
var str:string;
test:array[1..5] of integer;

i:integer;

begin
for i:=1 to 5 do
begin
test[i]:=i 1;

end;
str:=makestr(test[2]); //這一行一直編不了

end;

系統時間:2024-04-24 17:37:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!