Trending News
VB2005....有關console.read的問題
請問一下
console.read和console.readline、console.readkey().key有什麼不同?
我不同意你的看法
第一、我所遇到的問題,是在使用console.read指令時,在給予不同條件或不同位置下,console.read竟然出現有時雷同console.readline、有時雷同console.readkey().key的輸出作用,所以才需要專家給予說明。
第二、有關"阿薩斯"的回覆,我很不贊同,從我學習寫VB到現在,所用的console.readkey().key完全不像你所舉例說明的,就我所知,console.readkey().key是在使用者鍵入任何一鍵後,輸出該鍵鍵值的的一種指令,如:輸入1就會跑出49、輸入2就會跑出50......,當然,輸入英文字也是一樣的道理,絕對沒遇過像你所說的A會取得A、B會取得B。
如果我有什麼說不對的地方還盼望各位指正,但是也請各位不要一知半截就來PO知識!
ps.有關我補充的部分,輸入1和輸入2的鍵值我不太保證正確,但主要是為了說明console.readkey().key的鍵值輸出,一定不會是等同於使用者輸入的該數字(或文字)。
範例1.:
dim k as integer
k=console.readkey().key
console.write("!@#$%^&")
console.readkey()
就上述範例而言
1.若將k=console.readkey().key改為console.read,其餘不變,則兩者輸 出結果一樣。WHY?
2.若將最後一步console.readkey()改為console.read,其餘不變,則不影響console.readkey().key輸出結果。WHY?
1 Answer
- 迪亞布羅Lv 41 decade agoFavorite Answer
console.read 讀取一個輸入字元
console.readline 讀取一行輸入
console.readkey() 可決定輸入的字元是否顯示出來,預設顯示。
console.readkey(true) 輸入的字元不會顯示在螢幕上
console.readkey().key 取得按下的按鍵,標準顯示如下:
例如:按下數字鍵盤的
1會取得NunPad1
2會取得NunPad2
.....依此類推
按下英文案鍵
A會取得A
B會取得B
.....以此類推
按下功能鍵
Tab會取得Tab
簡單說就是會取得鍵盤上所對應的按鍵。
2008-04-06 15:23:19 補充:
console.readkey().key 本就是取得按鍵值
我按A 會顯示 A,你按A 會顯示 65 是因為我們取得的資料型態不同
因為你是用數值型態去接,所以回傳ASCII碼
我是用ConsoleKey類別去承接,所以回傳對應鍵
你不能認同是因為我們用法不同而已,但是結果不是一樣嗎
console.readkey().key 一樣都是取得鍵盤上所對應的按鍵。
2008-04-06 15:43:21 補充:
再來你的問題只問差別在那裡,我只是照你問的回答,結果你後面補充的跟你問的不一樣,差別在那就我回答那樣,你補充的問題是差在回傳型態不同。
console.read 一樣取一個字元,回傳ASCII碼
console.readline 取一行 ,回傳字串型態
console.readkey() 可設定顯示或不顯示 通常用於密碼 ,回傳ASCII碼
2008-04-06 15:53:02 補充:
還有就你補充最後那個範例
console.read 跟 console.readkey().key 都是回傳ASCII碼
差別就是就是console.readkey().key 可以設定你按的鍵不會顯示出來
例如:設定console.readkey(True).key 你按A你可以看到A出現在螢幕上嗎。如果人家回答的不是你要的,請先檢討是否問對問題。
2008-04-06 16:10:57 補充:
請各位以後把問題描述清楚,不要一行就把題目丟上來知識家。><'''
Source(s): 個人