作者LPH66 (p2/LPH66歡迎光臨)
看板Visual_Basic
標題Re: [請益] 副程式的問題
時間Mon May 9 08:43:51 2005
※ 引述《eagerbee (資訊不對稱)》之銘言:
: 小弟用的是win98,程式是使用qbasic7英文版
: 因為遇到了程式不給寫(只到191行而已...orz)
: 而副程式從來沒用過,所以想請問一下疑惑m(_ _)m
: 使用call來叫sub
: 我的問題是在主程式中的變數要在sub中來執行要怎宣告丫?
: 在sub中所建立的變數的值要怎麼傳回主程式(主程式沒有宣告的變數)?
: 書上是寫
: call sub(a,b,x,z)
: 然後
: sub(c,d,x,z)<---------這個意思是說在sub所宣告的變數嗎?
: c,d初值會等於a,b
: 那終值在主程式可用嗎?
: 哦.....一頭霧水.....
: PS.全域怎宣告呢?我看不太懂書的解釋.....
: 感謝看完~
有傳回值的副程式要宣告成FUNCTION SUB是沒有回傳值的
傳回型態請把型態字元附在副程式名後面
要回傳值時請將副程式名指定一個值即可
ex:
FUNCTION square# (x AS DOUBLE)
square = x * x
END FUNCTION
這樣是一個做平方的副程式
當你在主程式裡寫
b# = square(a#)
時 a#的值會傳給square副程式 此時它成為裡面的x
求出平方後把它指定給square 即把結果回傳
最後b#就收到回傳回來的值
另外 要切換於各個副程式之間做編輯 請按F2 再選副程式
因為在你打上FUNCTION那一行之後(SUB也會) 它會新開一個頁面
不過主程式沒有丟掉 可以用F2切換
還有 在打好副程式存檔後 主程式開頭會出現DECLARE敘述
那個不要理它 也不要刪(雖然刪了它在存檔時會自己再跑出來@@)
全域變數的宣告 直接
DIM SHARED 變數 AS 型態
這樣就可以了
這樣的話 這個變數在哪個副程式都看得到 也都叫一樣的名字
(一般情形是每個副程式只看得到自己用的變數)
--
我手上的QBasic應該是滿舊的版本 所以有問題再說吧
(怕QBasic又改了什麼東西)
--
QBasic是個年代滿久遠的東西啊( ′-`)y-~
--
"LPH" is for "Let Program Heal us"....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.62.144
推 fumizuki:好久遠的年代了,我不敢回答... 61.222.155.162 05/09
推 fumizuki:怕說錯:P 61.222.155.162 05/09
推 eagerbee:QB..誰叫我只會這東東....唉...只好硬給他用了ꐠ 203.67.104.175 05/09
→ eagerbee:感謝您的解釋~~ 203.67.104.175 05/09
推 eagerbee:那個只到191行是我弄錯了....可以一直寫下去... 203.67.54.142 05/11
→ eagerbee:唉...只能怪自己笨.... 203.67.54.142 05/11