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

請問有關於Property問題

答題得分者是:jow
cobraliu
中階會員


發表:15
回覆:75
積分:83
註冊:2007-11-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-03-10 00:58:59 IP:220.143.xxx.xxx 訂閱
自已再測試有關於Property 遇到,當我去讀Property時,嘗試著去Show我宣告的陣列的值
發覺當我是傳入1時,我的陣列會Show Button的Name
當我傳入是0時,是一段很長的大多為空的資料
傳入為2以後的皆是Null(這應該是正確,因為我根本沒有給陣列值)
請問各位大大,這是什麼原因呢???
[code delphi]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
aaa: TButton;
procedure aaaClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

TlinkedAccount = class(TObject)
private
test:array[0..10] of string;
function GetAccount(ccc:Integer):string;
procedure setaccount(aaa:integer;bbb:string);
public
property checking[index:integer]:string read getaccount write setaccount;
end;

var
Form1: TForm1;

implementation
{$R *.dfm}
function TlinkedAccount.GetAccount(ccc:Integer):string;
begin
//測試Test讀到的值
showmessage('GetAccount 1:' inttostr(ccc) '---' test[ccc]);
getaccount := test[ccc];
//測試Test讀到的值
showmessage('GetAccount 2:' inttostr(ccc) '---' test[ccc]);
end;

procedure TlinkedAccount.setaccount(aaa:integer;bbb:string);
begin
showmessage('setaccount 1:' inttostr(aaa) '---' bbb);
test[aaa] := bbb;
showmessage('setaccount 2:' inttostr(aaa) '---' bbb);
end;

procedure TForm1.aaaClick(Sender: TObject);
var
a:TlinkedAccount;
begin
showmessage(a.checking[1]);
a.setaccount(1,'kkk');
end;

end.

[/code]
------
初學、初學、學了很久...還是在初學階段..Orz
shinhrn
中階會員


發表:54
回覆:165
積分:83
註冊:2002-06-05

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-03-10 13:04:50 IP:210.242.xxx.xxx 訂閱
根本沒有給陣列值.
這就是重點.delphi設計初值不給.它會隨便給.
cobraliu
中階會員


發表:15
回覆:75
積分:83
註冊:2007-11-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-03-10 13:58:04 IP:59.127.xxx.xxx 訂閱
大大,其實我沒有給初始值,我知@@
只是我想知的是Delphi在給的方向,
因為測過,如果我去異動Button的名稱,事實上,在陣列中[1]的部份,
它會跟著我的Button名稱異動(因我是用Button去Run那個Property),
所以我想問的是它給的方向是如何或有什麼原理在裡面
因測過如果不是在Property那宣告的如在Button中寫一段如下
沒有給初始值,他的內容會是空白沒有值的
[code delphi]
var
test:array[0..1] of string;
begin
showmessage(test[0]);
showmessage(test[1]);
end;

[/code]

===================引 用 shinhrn 文 章===================
根本沒有給陣列值.
這就是重點.delphi設計初值不給.它會隨便給.
------
初學、初學、學了很久...還是在初學階段..Orz
shinhrn
中階會員


發表:54
回覆:165
積分:83
註冊:2002-06-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-03-11 11:40:33 IP:210.242.xxx.xxx 訂閱
我的印象是隨便給.沒有一定才對.
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-03-11 11:42:22 IP:210.66.xxx.xxx 訂閱
你可以參考這篇類似的問題...

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