VBNET 程序设计教程_第1页
VBNET 程序设计教程_第2页
VBNET 程序设计教程_第3页
VBNET 程序设计教程_第4页
VBNET 程序设计教程_第5页
已阅读5页,还剩290页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Visual Basic.NET程序设计教程华中农业大学理学院计算机系 黄钰2教师:黄钰办公地点:逸夫楼A409Email:yhuangMobile: 137202372013学习目的初步掌握windows应用编程的基本思想和方法。根据专业背景知识自行开发相关的应用程序。4对于生科专业:生物信息学(Bioinformatics)综合计算机科学、信息技术和数学的理论和方法来研究生物信息的交叉学科。包括生物学数据的研究、存档、显示、处理和模拟,基因遗传和物理图谱的处理,核苷酸和氨基酸序列分析,新基因的发现和蛋白质结构的预测等。5对于地信专业:1.空间数据获取,管理与处理VB界面2.本专业课程大部分

2、与计算机相关VB程序设计是基础6对于园艺专业:遗传育种学:育种目标的制定、种质资源、植物的繁殖方式、引种、选择育种。计算机在遗传育种研究中有着广泛的应用。7对于食工专业:食品研究中的计算机数据处理计算机在工程设计中的应用流体输送系统的设计,蒸发系统的设计计算等8第一章 VB.NET概述第二章 面向对象的可视化编程基础第三章 VB.NET语言基础第四章 基本的控制结构第五章 数 组第六章 过 程第七章 常用控件和界面设计第十章 VB.NET数据库程序设计目 录9第一章 VB.NET基础 1.1 VB.NET概述1.2 VB.NET集成开发环境1.3 实现问题的求解过程 本章目录101.1 VB.

3、NET概述1.初期的程序设计 高运行效率、少占用内存为目标2.结构化程序设计程序的可读性、可维护性为目标3.面向对象的程序设计 降低程序的复杂性、提高软件的开发效率和改善工作界面为目标2002年正式发布Visual Basic.NET。 本章目录111.1.2 Microsoft.NET概述 什么是.NET?. NET代表了一个集合、一个环境、一个编程的基本结构,作为一个平台来支持下一代的Internet。.NET也是一个用户环境,是一组基本的用户服务,可以作用于客户端、服务器或任何地方 。对初学VB的人来说,可以这样认为,.NET就是Visual Studio.NET。 本章目录121.1.

4、3 VB.NET特点1 引例例1.1简单的动画演示。一行文字“欢迎使用VB.NET”在具有背景图案的窗体中上、下移动。移动方法有两种:单击手动按钮,移动5个像素单位 ;单击自动按钮,按定时器触发频率连续移动;当内容超出窗体范围时,进行反弹。例1.2蝴蝶飞本章目录13 提供了易学易用的应用程序集成开发环境 具有面向对象的可视化设计工具 事件驱动的编程机制 支持结构化程序设计,具有面向对象程序设计语言的所有特征 具有丰富的数据类型、功能强大的类库 强大的数据库功能 网络功能 完备的帮助功能VB.NET功能特点本章目录141.2 VB.NET的集成开发环境 1.2.1进入VB.NET 启动Visua

5、l Studio.NET“起始页”选择“新建项目/打开项目”按钮 Visual Basic项目 Windows应用程序 本章目录15VB.NET集成开发环境 本章目录161.2.2主窗口 三种工作模式 设计模式 界面的设计和代码的编制 运行模式 运行应用程序 中断模式 暂时中断程序运行,调试程序 2. 菜单栏 包括11个下拉菜单 3. 工具栏 示例1.3本章目录171.2.3 窗体设计/代码设计窗口 1.窗体设计器窗口 建立VB.NET应用程序的界面(一个应用程序可以有多个窗体,通过“项目|添加Windows窗体”命令增加新窗体)。 2.代码设计窗口 专门用来进行代码设计,包括各种事件过程、过

6、程和类等源程序代码的编写和修改。打开代码设计窗口的方法(多种):双击窗体、控件或单击代码窗口上方的选项卡组对应项。 本章目录181.2.4 属性窗口 窗体和控件称为对象,每个对象用一组属性来描述其外部特征,如颜色、大小等。属性窗口用于显示和设置所选定的对象的属性。属性窗口由四部分组成: 对象和名称空间列表框 属性显示排列方式 属性列表框 属性含义说明本章目录191.2.5 解决方案资源管理器窗口 项目 一个独立的编程单位(包含窗体文件及其他一些相关文件),若干项目组成一个解决方案解决方案可以含有以下类型的文件:解决方案文件(.sln) 可包括用不同语言开发的项目项目文件(.vbproj) 由引

7、用的组件和代码模块组成代码模块文件(.vb) 包括窗体文件、类模块或其他代码文件本章目录20本章小节Visual Studio.NET一个支持下一代Internet的平台VB.NET的三种工作模式设计模式、运行模式、中断模式组成本章目录解决方案项目组件和代码模块项目组件和代码模块21第二章 面向对象的可视化编程基础 2.1 VB.NET对象的概念2.2 建立简单的应用程序2.3 窗体和基本控件 2.4 综合应用 本章目录222.1 Visual Basic对象的概念2.1.1 对象和类1.对象对象就是日常生活中的某个实在的物体例如,一个人、一辆汽车、一台电脑。对象都具有各自的特征(属性)、行为

8、(方法) 。人有身高、体重、听力等特征;也具有起立、行走、说话、踢足球等行为。在VB.NET中,将反映对象的属性和行为封装在一起,是面向对象编程的基本元素。本章目录232.类的概念类 同种对象的集合与抽象,是创建对象实例的模板,包含所创建对象的属性描述和行为特征的定义。例如,人类是具体人的抽象。每个人有不同的身高、体重等属性值和不同的行为。VB.NET工具箱中的可视图标是VB.NET系统设计好的标准控件类。通过将控件类实例化,得到真正的控件对象。在窗体上画一个控件,就将类转换为对象,创建了一个控件对象(简称控件)。本章目录24例如:工具箱内的TextBox是类(它确定了TextBox的属性、方

9、法和事件)窗体上显示的是两个TextBox对象TextBox对象TextBox类本章目录25属性、事件和方法构成对象的三要素1. 属性 存放对象的数据(决定对象外观及功能)例如,控件名称、文本、大小等属性。对象属性的设置方法: 设计阶段 利用属性窗口直接设置属性值 程序运行时 通过语句对象名.属性名=属性值 例如:Button1.Text = 确定 注意:若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。 2.1.2 对象的属性、事件和方法 本章目录262.1.3 对象的建立和命名(1)对象的建立 方法一: 单击工具箱上的控件,在窗体上按住左键拖拉到所需要的大小后释放。 方法二:

10、 双击工具箱上的控件,则立即在窗体出现一个默认大小的对象框。(2)编辑对象 先选中对象(单击对象), 放大、缩小 删除对象 27(3)对象的命名 每一个对象都有自己的名字。每个窗体、控件对象在建立时VB系统给出了一个默认名。用户可通过属性窗口设置(名称)来给对象命名。 命名的原则: 必须以字母或汉字开头、随后可以是字母、汉字、数字、下划线连接而成。28事件 发生在对象上的事情同一事件,对不同的对象,会引发不同的反应:事件本章目录教师_铃声() 讲课End Sub学生_铃声()听讲接受知识End SubVB.NET为对象预先定义了一系列的事件。例如,单击Click、获取焦点GotFocus 、按

11、下键盘KeyPress 等 其他人员_铃声()可不于响应End Sub29事件过程 应用程序处理事件的步骤它针对某一对象并与该对象的一个事件相联系应用程序设计的主要工作就是为对象编写事件过程的代码。事件过程的形式如下:Sub 对象名_事件(对象引用,事件信息)Handles 事件处理程序 事件过程代码End Sub对象引用:指向引发事件的对象事件信息:与事件相关的信息事件过程本章目录30例2.0 在命令按钮的Click事件过程,改变按钮的字体颜色. 代码说明 注意:在代码窗,自动产生事件过程的模板,不要修改模板的内容,只需键入过程的代码。一个动作可能同时发生多个事件。例如单击鼠标同时发生了:C

12、lick、MouseDown、MouseUp事件编程时,只要对需要的事件过程编码,无编码的事件为空事件,系统就不处理该事件过程。本章目录31事件驱动程序设计方式: 程序执行的先后次序与程序设计者无关,取决于用户的操作。VB.NET程序的执行步骤: 启动应用程序,装载和显示窗体; 窗体(或窗体上的控件)等待事件的发生; 事件发生时,执行对应的事件过程; 重复执行步骤和。事件驱动程序设计本章目录32方法面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数,称为方法。方法是面向对象的,调用时一定要指明对象。对象方法的调用格式为: 对象.方法 参数名表若省略对象,表示当前对象,一般指窗体。

13、例如:Textbox1.Focus此语句使Textbox1控件获得焦点,光标在本文框内闪烁。 本章目录332.2 建立简单的应用程序 例2.1 编写一个人民币与美圆兑换的程序。建立一个应用程序分为以下几步进行:(1) 建立用户界面的对象(2) 对象属性的设置(3) 对象事件过程及编程(4) 保存和运行程序本章目录代码说明34对象事件过程及编程 代码窗口的对象列表框可显示窗体所有对象 过程列表框列出所选中对象的所有事件例如,在按钮Button2的Click事件加入代码:Sub Button2_Click(ByVal sender As System.Object, _ByVal e As Sys

14、tem.EventArgs) Handles Button2.ClickTextBox1.Text = Val(TextBox3.Text) * Val(TextBox2.Text)End SubVal( )函数 将数字字符转换成数值型 本章目录35保存程序和文件组成 程序存盘后将建立一个文件夹,包含如下内容: (1)xxx.sln 项目关联、配置等的信息 (2) xxx.suo 开发环境选项的信息(3) xxx.vbproj 项目文件(4)Form1.vb 窗体文件(5)AssemblyInfo.vb 项目集合信息(系统自动建立)(6) xxx.exe 可执行文件(在Bin文件夹)(7)Bi

15、n文件夹 可执行文件的默认路径, 可用Application.StartupPath()获得该路径。(8)Debug 文件夹 存放程序调试产生的信息 本章目录36372.3 窗体和基本控件 2.3.1 通用属性 属性设置两种方式: 通过属性窗口设置 在代码设计窗口通过代码来设置 用代码设置时,需要用不同方式表示不同的类型本章目录382.3.1 通用属性(1) Name 所有对象都具有的属性,表示所创建的对象名称。在程序中通过对象名称来引用对象,不会显示在窗体上。(2) Text 用于在窗体上显示对象的文本TextBox控件的Text还可以获取输入信息本章目录39(3) 控件布局属性控件布局由L

16、ocation、Size来实现,它们各有一对整数来表示,整数单位为像素。Location 控件左上角位置, Size 控件大小例如,命令按钮控件布局Button1.Location = New Point(88, 48)Button1.Size = New Size(80, 32)也可用Left、Top定位;用Width和Height来表示控件的宽度和高度。本章目录等效的语句设置: Button1.Left = 88 Button1.Top = 48 Button1.Width = 80 Button1.Height = 32 40(4) Font 属性值是Font类的对象,一般通过Font属

17、性对话框设置若在程序代码中需要改变文本的外观,则应通过New创建 Font 对象来改变字体。例如:Label1.Font = New System.Drawing.Font(Arial, 10)本章目录41(5) ForeColor、BackColor 颜色属性 ForeColor 控件正文前景色 BackColor 背景色例调色板本章目录42(6) Dock 控件放置靠窗体边框的位置,属性值是DockStyle枚举类型,有六个枚举值(7) Enabled、Visible 控件的有效、可见性本章目录(8) TabIndex 按Tab键时,焦点在各个控件移动的顺序EnabledVisibleTr

18、ue允许用户操作程序运行时控件可见 False禁止用户操作运行时控件不可见432.3.2 窗体 窗体是一块画布,是所有控件的容器,可以根据需要利用工具箱上的控件在窗体上画界面。1. 主要属性本章目录44窗体-属性(1) MaximizeBox、MinimizeBox 设置为True,窗体上有最大(小)化按钮;为False时无最大(小)化按钮(2) Icon、ControlBox 窗体图标、控制菜单ControlBox 属性为True,窗体上有控制菜单框;为False时无控制菜单(系统将MaxButton和MinButton自动设置为False)(3) BackgroundImage 窗体背景图

19、案(4) FormBorderStyle 窗体的边框类型本章目录45窗体-事件 最常用的事件有Click、DoubleClick和LoadLoad事件 窗体装入内存时触发(应用程序启动时自动执行该事件),常用来在启动时对属性和变量初始化。例2.2 编写三个事件过程,要求如下:启动窗体,在标题栏显示“装入窗体”,并将tongji.bmp作为背景图平铺窗体、窗体边框为Fixed3D;单击窗体,标题栏显示对应的文字、装入tongji-2.bmp图片大小为264256,要求图片正好充满窗体。双击窗体,标题栏显示对应的文字、窗体无最大化和最小化按钮,清除装入的图片。代码说明本章目录462.3.3 标签-

20、属性标签用来显示文本信息(不能输入) 除Name、Font、Size、Location、Enable等属性外,其它主要属性: (1)Text、TextAlign:设置显示的文本、文本的对齐方式TextAlign 属性是枚举类型(从1开始),提供标签控件上文本的9种对齐方式本章目录47(2) BackColor 背景色(默认与窗体背景相同)。若要以透明方式显示,需要设置Color枚举类型的Transparent。(3) BorderStyle 标签控件边框样式 None 控件周围没有边框(默认值) FixedSingle 控件带有单边框 Fixed3D 控件带有立体边框(4) AutoSize

21、控件是否能自动调整大小当值为False,保持控件原设计时的大小,正文若太长则显示其中的一部分。本章目录48(5) Image、ImageAlign 设置控件的背景图案和图案对齐方式ImageAlign属性与TextAlign类似通过代码设置图案:标签名.Image = Image.FromFile(图片名)例2.3 在4个标签中存放4个方向的“手指”图片,当单击某方向时,利用“Dock”属性定位第5个标签、并显示相关信息。 代码说明本章目录492.3.4 文本框 文本框是一个文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容。(1) Text 显示或输入的正文内容(2) Maxlengt

22、h 设置文本框可输入的文字最大长度。默认值为32767,表示可以输入任意长字符串。注意:在VB.NET中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1。 本章目录50(3) MultiLine 多行属性设置为True时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,按Enter键可插入一空行。(4) ScrollBars 滚动条属性 None 无滚动条 Horizontal 水平滚动条 Vertical 垂直滚动条 Both 同时加水平和垂直滚动条当MultiLine为True时,ScrollBars才有效本章目录51(5) PassWordChar 设

23、置显示文本的替代符。例如,当设置为“*”,则在文本框输入的内容均以“*”显示,而存储的值是用户输入的原文。一般用于设置口令的输入。(6) ReadOnly 指定文本控件是否可被编辑,默认值为False(可编辑),当设置为True时,文本控件相当于标签控件的作用。 本章目录52(7)文本内容进行选择操作SelectionStart 选定的正文开始位置SelectionLength 选定的正文长度SelectedText 选定的正文内容例2.4 利用属性实现对文本信息的拷贝本章目录代码说明53文本框-事件(1) TextChanged事件当Text属性值发生改变时引发该事件例 在文本框每输入一个字

24、符就引发一次事件(2) KeyPress事件按下并且释放键盘上的一个键时,引发焦点所在控件的KeyPress事件,所按键的值存放在参数e.KeyChar中例 对回车的判断 Asc(e.KeyChar)=13本章目录54(3) LostFocus事件对象失去焦点时发生LostFocus事件该事件主要是用来对数据进行验证和确认,常用于检查Text属性的内容。(4) GotFocus事件GotFocus事件与LostFocus事件相反,当一个对象获得焦点时发生本章目录55文本框-方法文本框最有用的方法是Focus,把光标移到指定的文本框中。其形式如下: 对象. Focus例2.5 对输入的数据进行合

25、法性检验,过滤不合法的数据。本章目录代码说明562.3.5 命令按钮 用于程序运行时执行相应的事件1. 属性(1) Text 命令按钮上显示的文字(2) FlatStyle 按钮的外观该属性有4个枚举值: Flat 以平面显示按钮 Popup 鼠标在按钮上以Flat形式显示,否则以Standand显示 Standand 以三维效果显示(默认) System 由操作系统决定外观形式本章目录57命令按钮 (3) BackGroundImage(4) TextAlign、ImageAlign设置文本、图形在按钮上的对齐方式2. 事件 命令按钮一般接收Click事件 本章目录58InputBox函数

26、打开一个对话框,等待用户输入,返回字符串类型的输入值。形式:InputBox(提示,标题,默认值,x坐标位置,y坐标位置)提示项不能省略。例2.6利用InputBox输入基本工资和营业额,按营业额的5%提成,计算实发工资并显示。 数据输出和输入本章目录代码说明59MsgBox函数形式: 变量% = MsgBox(提示,按钮,标题)MsgBox过程形式: MsgBox 提示,按钮,标题 MsgBox函数和MsgBox过程 本章目录60MsgBox按钮设置 第3个按钮为默认512VB.NETDefaultButton3第2个按钮为默认 256VB.NETDefaultButton2第1个按钮为默认

27、 0VB.NETDefaultButton1默认按钮 信息图标 64VB.NETInformation警告信息图标 48VB.NETExclamation询问信息图标 32VB.NETQuestion关键信息图标 16VB.NETCritical图标类型 重试、取消按钮 5VB.NETRetryCancel是、否按钮 4VB.NETYesNo是、否、取消按钮 3VB.NETYesNoCancel终止、重试、忽略按钮 2VB.NETAboutRetryIgnore确定、取消按钮 1VB.NETOkCancel确定按钮 0VB.NETOkOnly按钮数目 描 述值内 部 常 数分组 本章目录61M

28、sgBox所选按钮返回值 例2.7 编一账号和密码输入的检验程序,当输入不正确,如账号为非数字字符,密码不正确等,显示有关信息,再输入。VBNo7否VBYes6是VBIgnore5忽略VBRetry4重试VBAbort3终止VBCancel2取消VBOk1确定内部常数返回值被单击的按钮NoYesIgnoreRetryAbortCancelOk枚举值 本章目录代码说明62本章小节类是同种对象的集合与抽象,包含所创建对象的属性描述和行为特征的定义,是创建对象实例的模板。对象三要素:属性、事件、方法属性的类型:窗体 是所有控件的容器基本控件 标签、文本框、命令按钮本章目录63第三章 VB.NET语言

29、基础 3.1 变量、常量与数据类型3.2 运算符和表达式3.3 常用函数3.4 程序结构和编码规则3.5 综合应用本章目录643.1 变量、常量和数据类型例如表达式: 3.14*2*r3.1.1变量概述 变量 在程序运行中其存储的值可以改变命名规则: 必须以字母或汉字开头,由字母、汉字、数字或下划线组成,长度小于等于255个字符 不能使用VB.NET中的关键字(P42) VB.NET不区分变量名的大小写;常量全部用大写字母表示本章目录653.1.2 数据类型 本章目录Boolean2True或FalseInteger%4Single!4Double#8Date8Char2String$4663

30、.1.3变量声明 1. 用Dim语句显式声明变量 Dim 变量名 As 类型=初始值As部分缺省,创建的变量为Object类型初始值子句,表示给声明的变量赋值一条Dim语句可同时定义多个变量,由逗号分隔,这时不能给变量赋初值。例如:Dim m,n,j As Integer,x,y As Single,k k为Object类型 本章目录673.1.4 常量 常量是在程序运行中不变的量,VB.NET中有三种常量:直接常量 其常数值直接反映了其类型 符号常量 用户声明,便于程序阅读或修改Const 符号常量名 As 类型 = 表达式系统常量 系统提供许多内部常量和枚举 例如:vbCrLf 回车/换行

31、组合符 枚举 如控件的颜色、边框线型等 本章目录683.2 运算符和表达式 运算符是表示实现某种运算的符号。VB.NET中的运算符可分算术运算符、字符串运算符、关系运算符和逻辑运算符四类。本章目录693.2.1 算术运算符(P55)例:5+10 mod 10 9 / 3+2 2 结果? 注意:对算术运算符两边的操作数应是数值型,若是数字字符或逻辑型,则自动转换成数值类型后再运算。例如:30-True结果是31,True自动转为数值-1,False转为数值0False + 10 + 4 结果是14本章目录70字符串运算符& 万能型+ 有条件(左右都是字符串) 1)数值型:则进行算术加运算; 2)

32、一个为数字字符,另一个为数值,自动将数字字符转换为数值后进行算术加; 3)一个为非数字字符,另一个为数值型,出错。 操作 结果 操作 结果ab & 123 ab123 ab + 12 出错12 & 456 12456 12 + 456 468 12 & True 12True12 + True 11注意: 在变量后使用运算符时,变量与间应加一个空格 本章目录71关系运算符关系运算符是双目运算符,作用是对两个操作数进行大小比较,若关系成立,则返回True,否则返回False。操作数可以是数值型、字符型。本章目录运算符例结果= ABCDE = ABR False ABCDE ABR False=

33、bc = abcde True233False= 23 = 3 True abc abcde True72“1”“2”“A”“B”“a” 字符串2; 3.如果 字符串1的第n位的ASCII码值 小于 字符串2的第n位的ASCII码值 则 输出结果:-1 表示字符串1 字符串2; 4.如果 每一位的ASCII码值都相等,而且长度相同, 则 输出结果:0 表示字符串1 = 字符串2; 5.如果 字符串1是字符串2的前m位,例如 abcd 与abcdef 比较, 则 字符串1字符串2.73逻辑运算符 逻辑运算符除Not是单目运算符外,其余都是双目运算符,作用是将操作数进行逻辑运算,结果是逻辑值Tru

34、e或False。 本章目录743.2.2表达式 1.组成 变量、常量、函数、运算符和圆括号2.书写规则 运算符不能相邻 例a+ /b是错误的,a+-b呢? 乘号不能省略 例x 乘以y 应写成:x*y 括号必须成对出现(均使用圆括号) 表达式从左到右书写3. 不同数据类型的转换 运算结果的数据类型向精度高的数据类型靠 IntegerLongSingle字符运算符关系运算符逻辑运算本章目录75表达式书写举例a*b*c*d/e/f/g 或 a*b*c*d/(e*f*g) 例逻辑表达式书写,选拔优秀生的条件为:年龄(Age)小于19岁,三门课总分(Total)高于285分,其中有一门为100分,如果其

35、表达式写为:Age285 And ( Mark1=100 Or Mark2=100 Or Mark3=100 )如果取消括号有何问题?sin(45*3.14/180)+(exp(10)+log(10)/sqrt(x+y+1)本章目录763.3 常用函数 (P465)3.3.1 名称空间和类VB.NET通过名称空间把类库划分为不同的组,将功能相近的类划到相同的名称空间。名称空间,可以方便地组织应用程序要使用的各个类。本章目录773.3.1 名称空间和类(2) 基础类库中的名称空间和类类别名称空间说 明 基本数据类型System 基本的和经常使用的数据类型、事件和事件处理程序、接口、属性和异常处理

36、等 编程基础System.Collections System.IO对象集合文件管理及其输入/输出 图形System.Drawing System.Windows.Forms GDI+ Windows的应用程序的丰富用户 数据库System.Data ADO.NET的各种对象 本章目录78名称空间的使用 引用名称空间的方法: 项目引用 新建一个项目时,VB.NET根据所建项目类型,自动导入部分名称空间的引用 直接引用 给出名称空间的全名,就可访问其中的任一个类及其各项内容 例 使用Math类开方函数sqrt: Label1.Text = system.Math.sqrt(100) Import

37、s语句导入 在代码中就可直接使用名称空间的类或成员。导入语句的格式: Imports 名称空间 本章目录793.3.2数学函数 .NET中的数学函数包含在Math类。使用前在模块的开头用语句 Imports System.Math导入-43Int(-3.5)Int(3.5) 取小于或等于N的最大整数Int(N)2.3Log(10)自然对数Log(N)-3 3Fix(-3.5)Fix(3.9)取整Fix(N)20.086Exp(3)exExp(N)1Cos(0)余弦函数Cos(N)3.5Abs(-3.5)取绝对值Abs(N)结果实例含义函数名本章目录80数学函数 0Tan(0)正切函数Tan(N

38、)3Sqrt(9)平方根Sqrt(N)-1 Sgn(-3.5)符号函数Sgn(N) 0Sin(0)正弦函数Sin(N)-4 4Round(-3.5)Round(3.5)四舍五入取整Round(N)0,1)之间的数Rnd产生随机数Rnd(N)结果实例含义函数名Rnd函数返回0和1(包括0但不包括1)之间的双精度随机数. 每次运行时,要产生不同序列的随机数,先执行Randomize 语句。产生ab的之间的随机整数:Int(Rnd *(b-a+1)+a)本章目录813.3.3 转换函数 ABCUcase$(abc)小写字母转为大写字母Ucase(C)144Oct$(100)十进制转换成八进制Oct$

39、 (N)123.45Str$(123.45)数值转换为字符串Str(N)123Val(123AB)数字字符串转换为数值Val(C) abcLcase$(ABC)大写字母转为小写字母Lcase$(C)64Hex(100)十进制转换成十六进制Hex(N)AChr$(65)ASCII码值转换成字符Chr(N)2003-11-13CDate(2003/11/13)转换成日期型CDate65Asc(A)字符转换成ASCII码值Asc(C)结果实例功能 函数名本章目录823.3.4 字符串函数 System.String类的成员(函数) 本章目录BCDMid(ABCDE,2,3)取字符子串Mid(C,N1

40、,N2)ABCDTrim(ABCD)去掉字符串两边空格Trim(C)A3AB3 Replace(ACDABCD,CD,3) 用C2替代C1Replace(C,C1,C2) Space(3) 产生N个空格的字符串 Space(N)4Len(AB教育)字符串长度Len(C)ABCLeft(ABCDE,3)取字符串左边n个字符Left(C,N)7InStr(2,EFABCDEFG,EF)从n开始,在C1中找C2InStr(N,C1,C2,M)结果实例说明 函数名83字符串函数 ABCD TRim(“ABCD)去掉字符串两边的空格TRim(C)DCBAStrReverse(ABCD)将字符串反序Str

41、Reverse(C)AAAString(3,ABC)重复首字符n次String(N,C)S(0)=123 S(1)=“abS=Split(123,ab,)将字符串分隔成字符数组。与Join作用相反Split(C,D)“Space(3)产生n个空格的字符串Space(N)ABCDRTrim(ABCD)去掉字符串右边空格RTrim(C)“BCDRight(ABCD,3)取字符串右边n个字符Right(C,N)结果实例说明 函数名本章目录注意:Left和Right函数必须加限定:Microsoft.Visualbasic否则认为是控件的相应属性843.3.5 日期函数 Second(#1:12:56

42、PM#)返回秒(059)Second(C|N)TimeOfDay返回系统时间TimeOfDay()Year(365)返回年代号(17532078)Year(C|N)Now返回系统日期和时间NowMonth(2003,05,01)返回月份代号(112)Month(C|N)Minute(#1:12:56PM#)返回分钟(059)Minute(C|N)Hour(#1:12:56PM#)返回小时(024)Hour(C|N)Day(2003,05,01)返回日期代号(131)Day(C|N)Date返回系统日期Date()实例说明 函数名本章目录853.3.6 Shell函数 Shell函数可调用各种应

43、用程序。格式如下:Shell(命令字符串,1)命令字符串为要执行的应用程序名(包括路径),必须是可执行文件(.exe、.bat)。第二参数为枚举中选择的值,该枚举与要在其中运行程序的窗口样式相对应。如果省略Style,则Shell使用 AppWinStyle.MinimizedFocus,这将使程序以最小化启动并具有焦点。函数调用成功返回一个任务标识ID,不成功,则返回0。 例 i = Shell(C:WINDOWSsystem32calc.exe,1) 本章目录863.4 程序结构和编码规则 本章目录87程序结构和编码规则 编码规则(1) VB.NET代码不区分字母的大小写关键字 首字母自动

44、转换成大写,其余字母转换成小写。(2) 语句书写自由一行上可书写多句语句(用冒号分隔),一行最多255个字符。单行语句可分若干行书写,在本行后加入续行符(空格和下划线)。本章目录883.5 综合应用例3.3 模仿字处理软件中字符串替换功能和字幕滚动。设计思路:利用Shell函数调用winword.exe执行Word程序观察其替换对话框。本例字符串替换功能实现方法:利用替换(Replace)函数实现标题显示:Form1.Caption=Space(n) & 显示文字 要产生滚动效果,可用时钟(Timer1)控件和Space函数,改变空格数达到自右向左滚动字幕效果。本章目录89本章小节变量:在程序

45、运行中其存储的值可以改变 值类型变量、引用类型变量 变量声明 Dim 变量名 As 类型=初始值运算符 算术运算符、字符串运算符、关系运算符和逻辑运算符名称空间导入 Imports 名称空间 数学函数使用 Imports System.MathShell函数 调用各种应用程序本章目录90第四章 基本的控制结构4.1 顺序结构4.2 选择结构4.3 循环结构4.4 其它辅助控制语句4.5 综合应用4.6 程序调试本章目录914.1 顺序结构 VB.NET也具有结构化程序设计的三种结构顺序结构选择结构循环结构它们是程序设计的基础。本章目录924.1.1 赋值语句 形式: 变量名表达式计算右边表达式

46、的值,然后赋给左边的变量。sngRate=0.1 sngRate为单精度变量,赋值0.1TextBox1.Text 清除文本框的内容TextBox1.Text 欢迎使用VB.Net 本章目录93复合赋值语句 复合赋值运算符,其作用简化程序代码。语句形式: 变量名 复合赋值运算符 表达式复合赋值运算符:+=、-=、*=、=、/=、=、&=例如:a *= b+4 等价于 a = a*(b+4)本章目录94常用复合赋值语句 累加 sum +=x 等价于 sum = sum+x计数 n += 1 等价于 n = n+1显示多行信息 利用 &= 来实现例如:TextBox1.Text = VB.NET

47、& vbCrLfTextBox1.Text &= 程序设计教程本章目录95赋值语句注意点 赋值语句不允许写成 表达式变量。 赋值号左边的变量只能是变量或对象.属性,不能是常量、常数符号、表达式。下面均为错误的赋值语句:Now()=x+y 左边是表达式(函数)5=sqrt(s)+x+y 左边是常量本章目录964.2 选择结构 VB.NET中提供了多种形式的条件语句来实现选择结构,有If条件语句和Select情况语句等。它们都是对条件进行判断,根据判断结果,选择执行不同的分支。 本章目录974.2.1 If条件语句 1. IfThen语句(单分支结构) If Then 语句块(可以是一句或多句语句

48、) End If或 If Then 表达式:关系表达式、逻辑表达式,算术表达式。该语句的作用是当表达式的值为True,执行Then后面的语句块,否则不做任何操作。本章目录IF演示98单分支结构 例:已知两个数x和y,比较它们的大小,使得x大于y。 If xy Then t=x x=y y=t End If 或 If xy Then t=x: x=y: y=t 简单If形式无End If时,只能是一句语句或语句间用冒号分隔,而且必须在一行上书写。 本章目录99双分支结构2. IfThenElse语句If 表达式 Then语句块1Else语句块2End If或 If 表达式 Then 语句1 El

49、se 语句2 当表达式的值为True时,执行Then后面的语句块1,否则执行Else后面的语句块2 本章目录100双分支结构例计算分段函数 单分支 if x = 0 then y=cos(x)x3+3*x 结构实现 If x0 Then y=sin(x)+sqrt (x*x+1) If x0 Then 双分支 y=sin(x)+sqr (x*x+1) Else结构实现 y=cos(x)x3+3*x End If本章目录101多分支结构 3. IfThenElseIf 语句 If 表达式1 Then 语句块1 ElseIf 表达式2 Then 语句块2 Else 语句块 n+1 End If作用

50、:根据不同的表达式值确定执行哪个语句块 本章目录102例4.5 已知变量ch中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符。 If UCase(ch) = A And UCase(ch) = 0 And ch = 9 Then 数字字符 MsgBox(ch + 是数字字符) Else 除上述字符以外的字符 MsgBox(ch + 是其他字符) End If不管有几个分支,依次判断,当某条件满足,执行相应的语句,其余分支不再执行;若条件都不满足,且有Else子句,则执行该语句块,否则什么也不执行。 ElseIf不能写成 Else If多分支结构例本章目录注意问题103If语句的嵌套

51、是指If或Else后面的语句块中又包含If语If 表达式1 Then If 表达式2 Then End If End IfIf xy Then t=x: x=y: y=t If yz Then t=y: y=z: z=t If xyz用一个IF语句和一个嵌套的IF语句实现本章目录1044.2.2 Select Case语句 Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 Case Else 语句块n+1End Select表达式列表与变量或表达式的类型必须相同,是下面4种形式之一 :表达式 例: A一组用逗号分隔的枚举值 2,4,6,8

52、 表达式1 To 表达式2 60 To 100Is 关系运算符表达式 Is 0 And y 0 Then MsgBox(在第一象限) ElseIf x 0 Then MsgBox(在第二象限)ElseIf x 0 And y 0 And y 0 And y 0 MsgBox(“在第一象限”) Case x 0 MsgBox(“在第二象限”) Case x 0 And y 0 And y y,x,y) 该语句与如下语句等价 :If x y Then Tmax = x Else Tmax = y 本章目录1084.2.3 条件函数 (2) Choose函数 Choose(整数表达式,选项列表)根据

53、表达式的值i,返回选项列表中第i个选项。如果整数表达式的值越出选项范围时,返回Null。例 根据Nop的值,得到+、-、中的某运算符:Op= Choose(Nop,+,-,) 本章目录Dim nop As Integer, op As CharRandomize()nop = Int(Rnd() * 4 + 1)op = Choose(nop, +, -, , )MsgBox(nop= & nop & op= & op)1094.3 循环结构(上机实验msgbox) 计算机最擅长的功能之一就是按规定的条件,重复执行某些操作。VB.NET中提供了两种类型的循环语句:For Next循环Do Lo

54、op循环 本章目录1104.3.1 For循环语句 For循环语句用于控制循环次数预知的循环结构。For 循环变量 初值 To 终值 Step 步长语句块Exit For语句块Next 循环变量循环变量必须为数值型。循环次数 0 初值终值 =1 时,可省略终值=0 死循环步长例4.9 计算1100的奇数和 本章目录Dim i%, sum%For i = 1 To 100 Step 2 sum = sum + iNext iMsgBox(sum)111For循环语句 例4.10 将可打印的ASCII码制成表格输出 本章目录例 判断输入的数是否为素数素数就是除1和本身以外,不能被其他任何整数整除的

55、数。根据此定义,判别某数m是否为素数最简单的方法就是依次用i=2m-1去除,只要有一个数能整除m,m就不是素数;否则m是素数。 112思 考 题打印以下图形 * * * * * * * * * * * * * * * * *1134.3.2 DoLoop循环语句 Do循环用于控制循环次数未知的循环结构。形式1: Do While|Until 语句块 Exit Do 语句块Loop形式1为先判断后执行,有可能一次也不执行;形式2为先执行后判断,至少执行一次。 例:列出输入数在1100间的所有倍数形式2:Do 语句块 Exit Do 语句块Loop While|Until 本章目录114循环例题例

56、4.11 我国有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿。解此问题两种方法,可根据公式:直接利用标准函数对数可求得,但求得的年数不为整数;也可利用循环求得 。本章目录115循环例题例4.12用辗转相除法求两自然数的最大公约数。求最大公约数的算法思想:(1)对于两数m,n,使得mn(2) m除以n得余数r例 m=14 ,n=6 的最大公约数If m n Then t = m: m = n: n = tr=m mod nDo While (r 0) m=n n=r r= m mod nLoopMsgBox “最大公约数=” & n(3)若r=0,则n为最大公约数,结束;否则

57、执行(4)(4)mn,nr,再重复执行(2)本章目录代码说明 流程图1164.3.3 循环的嵌套 在一个循环体内又包含了一个完整的循环结构称为循环的嵌套。循环嵌套对For循环语句和DoLoop语句均适用。例4.13 打印九九乘法表 思考:打印上三角或下三角程序如何改动?本章目录代码说明117循环的嵌套一个循环体内又包含了一个完整的循环结构称为循环的嵌套.对于循环的嵌套,要注意以下事项:内循环变量与外循环变量不能同名;外循环必须完全包含内循环,不能交叉;118 For i =1 To 10 For j=1 To 20 Next j Next i For i=1 To 10 For j=1 To

58、20 Next i Next j119 For i =1 To 10 For i=1 To 20 Next i Next i For i =1 To 10 Next i For i =1 To 10 Next i120循环的嵌套例:逻辑断案。例:谁做好事。1214.4 其他辅助控制语句 例4.14 判断输入的数是否为素数素数就是除1和本身以外,不能被其他任何整数整除的数。根据此定义,判别某数m是否为素数最简单的方法就是依次用i=2m-1去除,只要有一个数能整除m,m就不是素数;否则m是素数。 要求一定范围内的素数,只要将m作为外循环体变量。 本章目录122例:求100以内的所有素数。For m

59、=2 to 100 Next mFor i=2 to m-1 if m mod i=0 then Exit For End ifNext iif i=m then Label1.text &= mEnd if1234.4.2 退出和结束语句 1.Exit语句VB中有多种形式的Exit语句,用于退出某种控制结构的执行。Exit的形式如下: Exit For、Exit Do、 Exit Sub、Exit Function2.End语句独立的End语句用于结束一个程序的运行,它可以放在任何事件过程中。本章目录1244.5 综合应用 1. 自测四则运算 例4.15 由计算机自动产生四则运算题,并能判断

60、答案的正确性。设计思路:(1)通过随机函数Rnd产生试题的操作数和运算符,运算符+、-、可对应编号14。产生表达式通过Form_Load事件过程。(2)需要有一个全局变量保存四则运算题的正确答案,用户答案可通过文本框输入。(3)本题主要将随机函数、If语句、Select语句综合在一起使用。本章目录代码说明125综合应用-级数求和例4.16求自然对数e的近似值,其误差小于0.00001。近似公式 分析:本例涉及到程序设计中两个重要运算:累加 和连乘i!。累加是在原有和的基础上再加一个数;连乘则是在原有积的基础上再乘以一个数。该题先求i!,再将1/i!进行累加,循环次数预先未知,可先设置一个循环次

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论