VB2005....有關console.read的問題

請問一下

console.read和console.readline、console.readkey().key有什麼不同?

Update:

我不同意你的看法

Update 2:

第一、我所遇到的問題,是在使用console.read指令時,在給予不同條件或不同位置下,console.read竟然出現有時雷同console.readline、有時雷同console.readkey().key的輸出作用,所以才需要專家給予說明。

Update 3:

第二、有關"阿薩斯"的回覆,我很不贊同,從我學習寫VB到現在,所用的console.readkey().key完全不像你所舉例說明的,就我所知,console.readkey().key是在使用者鍵入任何一鍵後,輸出該鍵鍵值的的一種指令,如:輸入1就會跑出49、輸入2就會跑出50......,當然,輸入英文字也是一樣的道理,絕對沒遇過像你所說的A會取得A、B會取得B。

Update 4:

如果我有什麼說不對的地方還盼望各位指正,但是也請各位不要一知半截就來PO知識!

Update 5:

ps.有關我補充的部分,輸入1和輸入2的鍵值我不太保證正確,但主要是為了說明console.readkey().key的鍵值輸出,一定不會是等同於使用者輸入的該數字(或文字)。

Update 6:

範例1.:

Update 7:

dim k as integer

k=console.readkey().key

console.write("!@#$%^&")

console.readkey()

Update 8:

就上述範例而言

1.若將k=console.readkey().key改為console.read,其餘不變,則兩者輸 出結果一樣。WHY?

2.若將最後一步console.readkey()改為console.read,其餘不變,則不影響console.readkey().key輸出結果。WHY?

1 Answer

Rating
  • 1 decade ago
    Favorite 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): 個人
Still have questions? Get your answers by asking now.