Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

問一個vb的問題…

0 views
Skip to first unread message

虎尾流氓…

unread,
Jul 2, 2000, 3:00:00 AM7/2/00
to
我是初學者…我問的應該蠻簡單的…

請問…以下程式…
Dim Girlfriend(5) As String
Dim UB,LB,U2B,L2B
UB = UBound (Girlfriend)
LB = LBound (Girlfriend)
Dim Boyfriend(5,3) As String
U2B = UBound (Girlfriend, 2)
L2B = LBound (Girlfriend, 2)

為什麼 UB=5 , LB=0 , U2B=3 , L2B=0 呢??
--
[1;32m※ Origin: [33m向 日 葵 [37m<bbs.im.cyut.edu.tw> [m
[1;31m◆ From: [36m140.120.224.23 [m

風刃

unread,
Jul 3, 2000, 3:00:00 AM7/3/00
to
※ 引述《SlowSo...@bbs.im.cyut.edu.tw (虎尾流氓…)》之銘言:

> 我是初學者…我問的應該蠻簡單的…
> 請問…以下程式…
> Dim Girlfriend(5) As String
> Dim UB,LB,U2B,L2B
> UB = UBound (Girlfriend)
> LB = LBound (Girlfriend)
> Dim Boyfriend(5,3) As String
> U2B = UBound (Girlfriend, 2) ==>應該是 Boyfriend吧
> L2B = LBound (Girlfriend, 2) ==>應該也是吧 不然陣列維數會超過

> 為什麼 UB=5 , LB=0 , U2B=3 , L2B=0 呢??

答案沒錯喔
girlfriend陣列的上限為 5 ==> UB
下限為 0 ==> LB 陣列預設值
UBound(Boyfriend,2)為找出陣列維數為二的上限 3
LBound... 下限 預設值為 0
--
[1;33m※ Origin: [36m奇摩 大摩域 [37m<telnet://bbs.kimo.com.tw> [m
[1;35m◆ From: [1;32m210.243.78.56 [m

虎尾流氓…

unread,
Jul 3, 2000, 3:00:00 AM7/3/00
to
※ 引述《WINDKN...@bbs.kimo.com.tw (風刃 )》之銘言:

> ※ 引述《SlowSo...@bbs.im.cyut.edu.tw (虎尾流氓…)》之銘言:
> >
> > Dim Girlfriend(5) As String
> > Dim UB,LB,U2B,L2B
> > UB = UBound (Girlfriend)
> > LB = LBound (Girlfriend)
> > Dim Boyfriend(5,3) As String
> > U2B = UBound (Boyfriend , 2)
> > L2B = LBound (Boyfriend , 2)

> > 為什麼 UB=5 , LB=0 , U2B=3 , L2B=0 呢??
> 答案沒錯喔
> girlfriend陣列的上限為 5 ==> UB
> 下限為 0 ==> LB 陣列預設值
> UBound(Boyfriend,2)為找出陣列維數為二的上限 3
> LBound... 下限 預設值為 0


嗯…我不太懂上限的意思…U2B=3…是因為boyfriend是5*3…所以如果取正方
型是3*3…因此U2B=3…是這樣嗎??

虎尾流氓…

unread,
Jul 3, 2000, 3:00:00 AM7/3/00
to

WINDKNIEF:
因為寄到你的信箱好像都沒成功…所以來板上問你…

Dim Upper
Dim MyArray(1 To 10, 5 To 15, 10 To 20) ' 宣告陣列變數。
Dim AnyArray(10)
Upper = UBound(MyArray, 1) ' 傳回 10。
Upper = UBound(MyArray, 3) ' 傳回 20。
Upper = UBound(AnyArray) ' 傳回 10。


我想問的是…如果我的觀念沒錯…但看你的例子…我又不懂了…
Upper = UBound(MyArray, 3) 為什麼會傳回20…??
你宣告的陣列不是10*10*10嗎??是不是應該傳回10呢??

璉璉

unread,
Jul 3, 2000, 3:00:00 AM7/3/00
to
==> SlowSo...@bbs.im.cyut.edu.tw (虎尾流氓…) 在 oop 版提到:
: WINDKNIEF:
: 因為寄到你的信箱好像都沒成功…所以來板上問你…

設變數以 l1 -> LBound(MyArray,1) 餘類推

: Dim Upper


: Dim MyArray(1 To 10, 5 To 15, 10 To 20) ' 宣告陣列變數。

l1 u1 l2 u2 l3 u3

: Dim AnyArray(10)
若未指定下標, 預設為 0 => AnyArray(0 To 10)
l1 u1

: Upper = UBound(MyArray, 1) ' 傳回 10。
=>u1=10
: Upper = UBound(MyArray, 3) ' 傳回 20。
=>u3=20
: Upper = UBound(AnyArray) ' 傳回 10。
預設第一維邊界 => UBound(AnyArray,1)
=>u1=10

: 我想問的是…如果我的觀念沒錯…但看你的例子…我又不懂了…


: Upper = UBound(MyArray, 3) 為什麼會傳回20…??
: 你宣告的陣列不是10*10*10嗎??是不是應該傳回10呢??

不是傳回個數, 是傳上下邊界! Bound => 邊界
LBound => Lower Bound
UBound => Upper Bound

直接從英文原意翻會比看中譯本清楚!
--
[1m______________________________________________________本版因有你們而壯大
[32;1m T.L. Cheng 子璉
[31;1m_______________________________________________________________________.
[32;1m請參觀成大資工BBS BASIC 版, 並請支援成立連線轉信 BASIC版及 News Group [m
[33;1m徐昇網&高度平衡網&交集分析 http://feitsui.hyd.ncku.edu.tw/TLCheng/Thiessen/ [m
[36;1m點對點中文短訊&多檔傳遞&語音 http://feitsui.hyd.ncku.edu.tw/TLCheng/Hermes/ [m
--
[m [1m [33mo [31mR [35mi [36mg [37mi [34mN [31m: [m [5m [1m [36m成 [37m大 [32m資 [33m工 [36mB [31mB [37mS [35m站 [m [1m [37m(140.116.247.7) [m
[31m [1m@ [m [37mvlsi1.csie.ncku.edu.tw [35m [1mFrOm [37m: [m 140.116.77.68

0 new messages