看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《nomorewords (Anego)》之銘言: : 因為我會搞不清楚,到底那些指令什麼時候要用哪一個 : 什麼時候要用另外一個; : 像"{0}"、console.write、console.writeline、console.read、console.readline...等 : 這些我不知道他的意思,我就搞不懂為什麼這個時候要用這個 看得出來你實在是很辛苦,這些都搞不清楚也沒有同學好問實在是 太難過了。既然你具體舉出了以上的問題,我就簡單解釋一下,你 加減看,當然以你的教材為準: console.write: 在console(命令列視窗)印出文字,印完不換行。 console.writeline: 在console印出文字,印完會換行。 console.read: 從console讀取一個字元。 用法:X=console.read() console.readline: 從console讀取整行,換行前所有的內容都會成為輸入。 用法:X=console.readline() (後面這兩項我很少用,因為我寫VB程式很少碰console的東東,所以未必 正確。如果說錯請大家指正。) {0}: 這是console.write/writeline 的格式字串。除了直接write 變數出來 以外,大部分時候總是會要附帶印出一些文字,使輸出比較容易了解。 例如我現在有個程式要計算 A*B,我已經知道A=3, B=8,於是我寫 C=A*B console.writeline(C) 這樣執行之後就會印出個24,但是除非你本人在旁邊,否則別人很難知 道這程式是幹嘛的,你自己幾個月後可能也不記得。比較好的方法是印 出"3*8=24"這樣就一目了然了。 我想到的第一個方法是用console.write 來一直輸出,因為不換行,每 次輸出的東西會在同一行上。於是我寫 Console.Write(A) Console.Write(" * ") Console.Write(B) Console.Write(" = ") Console.WriteLine(C) 這樣的輸出就是3 * 8 = 24,可是實在很麻煩,簡單的一條就要寫到五行, 那如果我要印的是"(X+1)*(X^2+X+1)" 這樣要幾行? 另外一個方法是用 & 接起來: Console.WriteLine(A & " * " & B & " = " & C) 這種方法的缺點是程式很難看。在IDE裡面是有彩色所以看得很清楚,在這 裡沒標顏色,上面那行到底是什麼鬼,一眼也看不出來。 所以最後就有格式字串的設計。一樣要印出 3*8=24,我可以寫: console.writeline(string.format("{0} * {1} = {2}", A, B, C)) 這條執行的時候,VB會去找主字串後面剩下的參數。主字串後的第一個參 數,對應到 {0},第二個對應到 {1},以此類推,在這裡就是 {0} 對應到 A {1} 對應到 B {2} 對應到 C VB就自動把A, B, C插到{0}, {1}, {2}的位置上,所以最後會得到跟上面 一樣的輸出。 這也可以用於字串;你可以試試看這樣 dim name as string, kanji as string console.write("請給我一個名字! ") name=console.readline() console.write("再請您給我一個國字! ") kanji=console.readline() console.writeline("謝謝!聽說{0}快要{1}了。", name, kanji) 這種用法的另一個好處是很容易設定數字格式,不過那等你用到再說了。 你可以把你的程式貼上來,說清楚問題所在,比較容易幫你。 不然搞不清楚狀況,大家要幫也無從幫起…   -- BATCH 03 : 買張床 - 切達大俠 - 伐木人之歌 - http://tinyurl.com/3zpyx5 [B4準備中]: 謳歌金錢(7/02) - 單車超人(7/23) - http://tinyurl.com/66v6vq [ 番外篇 ]: 包租婆也有過當羅莉的時候(7/17) - http://tinyurl.com/6j4ale ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ 蒙帝派松正體中文計畫 Spam-a-lot and enjoy the pythonesque delight! ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ http://www.youtube.com/user/JamesBondXD▄▄ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.204.180
nomorewords:謝謝你的解釋,讓我終於了解了這些大概在寫什麼!!! 10/13 20:40
nomorewords:那我可以請你推薦一些有關這一方面的書給我嗎? 10/13 20:43
MOONRAKER:你要問別人啊~ 我學VB難得看書的 都是by nature (?) 10/14 00:41
※ 編輯: MOONRAKER 來自: 59.120.168.228 (01/06 16:01)