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

請問有關於二維陣列的問題

缺席
zeal
一般會員


發表:8
回覆:7
積分:3
註冊:2007-08-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-09-27 15:49:21 IP:59.116.xxx.xxx 訂閱
各位大大們您好

我想請問一下利用二維陣列表示座標法

我原本在BCB裡表示座標是用以下方法,分開表示X、Y值
Panel1->Width=StrToInt( B ) ; B=隨意的X值
Panel1->Top=StrToInt( A ) ; A=隨意的Y值

想請問一下大大
那如果想以一行程式,用二維的[X,Y]表示,要如何寫呢?
例如:
原本---> 分別給X 值3 ,給Y 值4,於是我知道座標是3,4
現在希望可以直接給座標[3,4],不知道這樣是否適用二維陣列~
如果適合的話,應該要怎麼給值呢?

可以請大大教一下嗎? 感激 >///////<

------------------------------

虛心請教~
一個剛學二維程式的人~
編輯記錄
zeal 重新編輯於 2007-09-27 16:51:45, 註解 無‧
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-09-27 16:35:03 IP:61.220.xxx.xxx 訂閱
用 Point
[code cpp]
var
left_top : TPoint ;
[/code]
PS: 其實不很懂你的二維表示寫成程式是怎樣
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-09-27 17:40:53 IP:140.118.xxx.xxx 未訂閱
Panel1->Width=StrToInt( B )  panel的寬度
Panel1->Top=StrToInt( A ) panel跟parent上面邊界的距離

用這個表示成座標好像怪怪的


anyway....

你可以用版主所說的方式,或是自行使用二維陣列
ex.
A[ 3 ][ 4 ] = 1,表示(3,4)有值,沒有的就設成0...所以你要宣告的 n x n 的陣列

如果是我,我會用struct node....定義x及y坐標...

zeal
一般會員


發表:8
回覆:7
積分:3
註冊:2007-08-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-09-28 17:12:55 IP:210.70.xxx.xxx 訂閱

===================引 用 GGL 文 章===================
Panel1->Width=StrToInt( B ) panel的寬度
Panel1->Top=StrToInt( A ) panel跟parent上面邊界的距離

用這個表示成座標好像怪怪的

==================================================

@@" 對呀~ 我寫錯了~~
更正一下~~
左上角座標
Panel1->Left=StrToInt( B ) panel跟parent左面邊界的距離
Panel1->Top=StrToInt( A ) panel跟parent上面邊界的距離
如果是座標是標Panel的右下角的話,就再搭配她的長與寬,即可得到右下角座標

我想請問的是,我可以給座標的時候,可以給他A[4][3]
然後便使Panel坐落在(4,3)嗎?

編輯記錄
zeal 重新編輯於 2007-09-28 17:21:18, 註解 修正右下角座標、左上角座標‧
zeal
一般會員


發表:8
回覆:7
積分:3
註冊:2007-08-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-09-29 00:37:32 IP:59.116.xxx.xxx 訂閱
首先感謝各位大大的回答  ^____^

我有試了試,發現陣列不能直接給它當作標~~應該啦~~
好像是我觀念有錯~~ 呵呵~~

後來我還是徒法煉鋼的用分別給值的方式來解決座標的問題,謝謝
syntax
尊榮會員


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-09-29 06:37:11 IP:61.64.xxx.xxx 訂閱
那個根本不是陣列,牛頭怎去對馬嘴

請用 SetBounds(int ALeft, int ATop, int AWidth, int AHeight) 或 Rect(ALeft, ATop, ARight, ABottom: Integer): TRect;

或 UpdateBoundsRect(const R: TRect); Update;

===================引 用 zeal 文 章===================
首先感謝各位大大的回答 ^____^

我有試了試,發現陣列不能直接給它當作標~~應該啦~~
好像是我觀念有錯~~ 呵呵~~

後來我還是徒法煉鋼的用分別給值的方式來解決座標的問題,謝謝
系統時間:2024-04-28 5:08:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!