作者MOONRAKER (㊣OGC-1701E马鹿5号)
看板Visual_Basic
标题Re: [建议] 新手学Visual Basic
时间Sat Oct 11 00:56:44 2008
※ 引述《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!
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ https://www.youtube.com/user/JamesBondXD▄▄
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.115.204.180
1F:推 nomorewords:谢谢你的解释,让我终於了解了这些大概在写什麽!!! 10/13 20:40
2F:→ nomorewords:那我可以请你推荐一些有关这一方面的书给我吗? 10/13 20:43
3F:→ MOONRAKER:你要问别人啊~ 我学VB难得看书的 都是by nature (?) 10/14 00:41
※ 编辑: MOONRAKER 来自: 59.120.168.228 (01/06 16:01)