Deprecated: __autoload() is deprecated, use spl_autoload_register() instead in /www/wwwroot/www.angcn.net/source/class/class_core.php on line 27
[教程]Visual Basic .net起步教程(一)——Hello World - 张韶涵中文网--论坛 - Powered by Discuz!

张韶涵中文网--论坛

标题: [教程]Visual Basic .net起步教程(一)——Hello World [打印本页]

作者: x.n.a    时间: 2008-7-12 17:43
标题: [教程]Visual Basic .net起步教程(一)——Hello World
当当当~~~本人要开始教大家基本的vb.net编程咯~~~

我用的编程软件是Microsoft Visual Studio .net 2008专业版,下面所有的程序经测试,都可以在Visual Studio .net 2005及之后版本中正常编译运行。

学一切编程语言都是从Hello World开始的。下面,先来看一段代码:

  1. '-------------------------------------
  2. ' Hello World
  3. '-------------------------------------
  4. ' Hello World.vb
  5. ' 张韶涵中文网 - 教程
  6. ' (c) 2008 xcVista
  7. '-------------------------------------

  8. Imports System
  9. Imports System.Console

  10. Public Module Module1
  11.   Public Sub Main()
  12.     WriteLine("Hello, World! Hello, Angela!!!")
  13.     ReadLine()
  14.   End Sub
  15. End Module
复制代码
下面,我开始解释这段代码:

  1. '-------------------------------------
  2. ' Hello World
  3. '-------------------------------------
  4. ' Hello World.vb
  5. ' 张韶涵中文网 - 教程
  6. ' (c) 2008 xcVista
  7. '-------------------------------------
复制代码
这几句内容完全不会编译——这些都是注释语句。我想大家在阅读古文时都会去看注释吧,这些语句也是如此。他们只是对“文章”——代码起解释作用,在编译时,系统不会理会。也就是说,如果你把你写的文章放在代码里,只要加上了注释,就不会有任何作用;不然就会影响编译。
注释语句有两种格式:以单引号起首

  1. '注释……………………
复制代码
和以REM和一个空格起首

  1. REM 注释……………………
复制代码
前者适合在任何地方——单独占据一行,也可以缀在行末。后者只能独占一行,注意咯~~
实际上程序注释不用像古文一样面面俱到,只需要在合适的地方点到为止就可以了。:)

  1. Imports System
  2. Imports System.Console
复制代码
这两句引入命名空间和类(对这两者我会稍后解释。)前者引入了一个叫做System的命名空间。后者引入了一个在System命名空间中的叫做Console的类。引入是为了让程序更简练。如果少了这两句,这个程序会变成什么样子呢?大家请看:

  1. '-------------------------------------
  2. ' Hello World
  3. '-------------------------------------
  4. ' Hello World - no imports.vb
  5. ' 张韶涵中文网 - 教程
  6. ' (c) 2008 xcVista
  7. '-------------------------------------

  8. Public Module Module1
  9.   Public Sub Main()
  10.     System.Console.WriteLine("Hello, World! Hello, Angela!!!")
  11.     System.Console.ReadLine()
  12.   End Sub
  13. End Module
复制代码
这个程序比较小,所以看不出简练到什么地步。但是当大家写到复杂的程序时,就会有感觉了。

经验之谈:
有一次在写一个网络程序时,我没引入System.IO、System.Net和System.Net.Sockets三个命名空间,搞得程序代码比原来多了好多——TcpClient都得扩展成System.Net.Sockets.TcpClient,真得好累!!!

  1. Public Module Module1
  2.   '......
  3. End Module
复制代码
这两行代码声明了在它们之间的代码构成一个叫做Module1的模块。VB.net不允许“全局函数”(应该是——这个是C++的说法,我不懂C++)因此,不像C++允许独立函数,VB.net只能在某个类或者结构中放置函数。模块也是类,不过比较特殊(所有函数、字段都是“静态的”)罢了(详细定义我会在之后的教程中讲解)。
  1. Public Sub Main()
  2.   '......
  3. End Sub
复制代码
这个代码声明了一个叫做Main的过程。过程是一种特殊的函数——它不返回值。它的名字也有特殊意义——“静态的”Main过程可以作为程序的主过程。
  1. WriteLine("Hello, World! Hello, Angela!!!")
  2. ReadLine()
复制代码
剩下的两行代码组成了程序主体——连续调用两个API函数(系统预先定义好的函数叫做API函数)——System.Console.WriteLine(String)和System.Console.ReadLine。因为前面我们引入了System.Console,所以这里代码简化了。
第一行向DOS窗口写入一行字“Hello, World! Hello, Angela!!!”(引号里面的)对于VB来说,双引号里面的文字就是一个字符串——一段话。在字符串里,单引号、REM都不作为注释起首,而作为文字内容。字符串也不一定需要有意义,如一个数据库连接字符串或一段Base64代码。
第二行用于在显示结束后暂停程序,以便阅读程序输出。

最终效果:

  1. E:\apps\vbManual\Hello World\bin>Hello World.exe
  2. Hello, World! Hello, Angela!!!

  3. E:\apps\vbManual\Hello World\bin>
复制代码
啦啦啦啦~~~~做练习啦~~~~
下列代码:

  1. Public Sub New()
  2.   WriteLine("I am a fan of Angela. I support www.angcn.com.")
  3. End Sub
复制代码
应该放在什么位置?

  1. '-------------------------------------
  2. ' EX1
  3. '-------------------------------------
  4. ' EX1.vb
  5. ' 张韶涵中文网 - 教程
  6. ' (c) 2008 xcVista
  7. '-------------------------------------

  8. Imports System
  9. Imports System.Console

  10. ' A 位置

  11. Public Module Module1
  12.   ' B 位置
  13. End Module
复制代码

[ 本帖最后由 xcvista 于 2008-7-14 12:49 PM 编辑 ]
作者: x.n.a    时间: 2008-7-13 10:39
拜托大家看帖子要回帖!!!
我把一本书一章一章打上来是很累的!!!
拜托大家让我的劳动有点回报!!!
作者: 双面小女生    时间: 2008-7-14 11:57
貌似很难啊
作者: x.n.a    时间: 2008-7-14 12:23
不会阿
多练练
作者: 直角圆形    时间: 2008-7-14 12:45
就当此楼不存在
:叉叉

[ 本帖最后由 直角圆形 于 2008-7-16 01:05 PM 编辑 ]
作者: x.n.a    时间: 2008-7-14 12:50
第二章:常量&变量
大家尽情期待~~~

[ 本帖最后由 xcvista 于 2008-7-14 09:57 PM 编辑 ]




欢迎光临 张韶涵中文网--论坛 (http://www.angcn.net/) Powered by Discuz! X3.3