已阅读5页,还剩608页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章 VB.NET基础 第二章 简单的VB.NET程序设计 第三章 VB.NET语言基础 第四章 基本的控制结构 第五章 数 组 第六章 过 程 第七章 用户界面设计 第八章 面向对象程序设计基础 第九章 文 件 第十章 图形应用程序开发 第十一章 数据库应用程序开发,目 录,第一章 VB.NET基础,1.1 VB.NET概述 1.2 VB.NET集成开发环境 1.3 使用帮助系统,本章目录,1.1 VB.NET概述,1.1.1 Visual Basic的发展 20世纪60年出现Basic语言; 20世纪80年代,True Basic、Quick Basic和Turbo Basic等; 1991年Microsoft公司推出Visual Basic1.0,以可视化工具为界面设计、结构化Basic语言为基础,以事件驱动为运行机制。从1991年的VB1.0至1998年的V B6.0的多次版本升级,功能更强大、完善,应用面更广; 2002年正式发布Visual Basic.NET。,本章目录,1.1.2 Microsoft.NET概述,什么是.NET? . NET代表了一个集合、一个环境、一个编程的基本结构,作为一个平台来支持下一代的Internet。 .NET也是一个用户环境,是一组基本的用户服务,可以作用于客户端、服务器或任何地方 。 对初学VB的人来说,可以这样认为,.NET就是Visual Studio.NET。,本章目录,Visual Studio.NET,本章目录,1.1.3 VB.NET特点,1 引例 例1.1简单的动画演示。 一行文字“欢迎使用VB.NET”在具有背景图案的窗体中上、下移动。 移动方法有两种:单击手动按钮,移动5个像素单位 ;单击自动按钮,按定时器触发频率连续移动;当内容超出窗体范围时,进行反弹。,本章目录,引例,根据要求,用工具箱上的Label、Button、Timer等控件,在窗体上建立控件对象,进行有关的属性设置。,本章目录,引例:编写事件过程,本章目录,提供了易学易用的应用程序集成开发环境 具有面向对象的可视化设计工具 事件驱动的编程机制 支持结构化程序设计,具有面向对象程序设计语言的所有特征 具有丰富的数据类型、功能强大的类库 强大的数据库功能 网络功能 完备的帮助功能,VB.NET功能特点,本章目录,1.2 VB.NET的集成开发环境,1.2.1进入VB.NET,启动Visual Studio.NET “起始页”选择“新建项目/打开项目”按钮,Visual Basic项目,Windows应用程序,本章目录,VB.NET集成开发环境,本章目录,1.2.2主窗口,三种工作模式 设计模式 界面的设计和代码的编制 运行模式 运行应用程序 中断模式 暂时中断程序运行,调试程序 2. 菜单栏 包括11个下拉菜单 3. 工具栏,本章目录,1.2.3 窗体设计/代码设计窗口,1.窗体设计器窗口 建立VB.NET应用程序的界面(一个应用程序可以有多个窗体,通过“项目|添加Windows窗体”命令增加新窗体)。 2.代码设计窗口 专门用来进行代码设计,包括各种事件过程、过程和类等源程序代码的编写和修改。 打开代码设计窗口的方法:双击窗体、控件或单击代码窗口上方的选项卡组对应项。,本章目录,1.2.4 属性窗口,窗体和控件称为对象,每个对象用一组属性来描述其外部特征,如颜色、大小等。 属性窗口用于显示和设置所选定的对象的属性。 属性窗口由四部分组成: 对象和名称空间列表框 属性显示排列方式 属性列表框 属性含义说明,本章目录,1.2.5 解决方案资源管理器窗口,项目 一个独立的编程单位(包含窗体文件及其他一些相关文件),若干项目组成一个解决方案 解决方案可以含有以下类型的文件: 解决方案文件(.sln) 可包括用不同语言开发的项目 项目文件(.vbproj) 由引用的组件和代码模块组成 代码模块文件(.vb) 包括窗体文件、类模块或其他代码文件,本章目录,1.3 使用帮助系统,动态帮助 属性窗口“动态帮助”标签卡内 索引 使用上下文相关的帮助 按“F1”键 网络资源 通过,本章目录,本章小节,Visual Studio.NET 一个支持下一代Internet的平台 VB.NET的三种工作模式 设计模式、运行模式、中断模式 组成,本章目录,解决方案,项目,组件和代码模块,项目,组件和代码模块,思考题,1. 什么是.NET框架? 2. 简述VB.NET的特点 3. VB.NET有多种类型的窗口,若想在设计时看到代码窗口,怎样操作? 4. 如何使各窗口显示或不显示? 5. 如果窗口布局搞乱了,如何恢复默认布局? 6. 解决方案与项目的区别?,本章目录,第二章 简单的VB.NET程序设计,2.1 VB.NET对象的概念 2.2 建立简单的应用程序 2.3 窗体和基本控件 2.4 综合应用,本章目录,2.1 Visual Basic对象的概念,2.1.1 对象和类 1.对象 对象就是日常生活中的某个实在的物体 例如,一个人、一辆汽车、一台电脑。 对象都具有各自的特征(属性)、行为(方法) 。 人有身高、体重、听力等特征;也具有起立、行走、说话、踢足球等行为。 在VB.NET中,将反映对象的属性和行为封装在一起,是面向对象编程的基本元素。,本章目录,2.类的概念,类 同种对象的集合与抽象,是创建对象实例的模板,包含所创建对象的属性描述和行为特征的定义。 例如,人类是具体人的抽象。每个人有不同的身高、体重等属性值和不同的行为。 VB.NET工具箱中的可视图标是VB.NET系统设计好的标准控件类。通过将控件类实例化,得到真正的控件对象。在窗体上画一个控件,就将类转换为对象,创建了一个控件对象(简称控件)。,本章目录,例如:工具箱内的TextBox是类(它确定了TextBox的属性、方法和事件) 窗体上显示的是两个Text对象,本章目录,属性、事件和方法构成对象的三要素 1. 属性 存放对象的数据(决定对象外观及功能) 例如,控件名称、文本、大小等属性。 对象属性的设置方法: 设计阶段 利用属性窗口直接设置属性值 程序运行时 通过语句对象名.属性名=属性值 例如:Button1.Text = “确定“ 注意:若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。,2.1.2 对象的属性、事件和方法,本章目录,事件 发生在对象上的事情 同一事件,对不同的对象,会引发不同的反应:,事件,本章目录,教师_铃声() 讲课 End Sub,学生_铃声() 听讲 接受知识 End Sub,VB.NET为对象预先定义了一系列的事件。例如,单击Click、获取焦点GotFocus 、按下键盘KeyPress 等,其他人员_铃声() 可不于响应 End Sub,事件过程 应用程序处理事件的步骤 它针对某一对象并与该对象的一个事件相联系 应用程序设计的主要工作就是为对象编写事件过程的代码。事件过程的形式如下: Sub 对象名_事件(对象引用,事件信息)Handles 事件处理程序 事件过程代码 End Sub 对象引用:指向引发事件的对象 事件信息:与事件相关的信息,事件过程,本章目录,例2.1 在命令按钮的Click事件过程,改变按钮的字体颜色. 代码说明 注意:在代码窗,自动产生事件过程的模板,不要修改模板的内容,只需键入过程的代码。 一个动作可能同时发生多个事件。例如单击鼠标同时发生了: Click、MouseDown、MouseUp事件 编程时,只要对需要的事件过程编码,无编码的事件为空事件,系统就不处理该事件过程。,本章目录,事件驱动程序设计方式: 程序执行的先后次序与程序设计者无关,取决于用户的操作。 VB.NET程序的执行步骤: 启动应用程序,装载和显示窗体; 窗体(或窗体上的控件)等待事件的发生; 事件发生时,执行对应的事件过程; 重复执行步骤和。,事件驱动程序设计,本章目录,方法,面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数,称为方法。 方法是面向对象的,调用时一定要指明对象。对象方法的调用格式为: 对象.方法 参数名表 若省略对象,表示当前对象,一般指窗体。 例如:Textbox1.Focus 此语句使Textbox1控件获得焦点,光标在本文框内闪烁。,本章目录,2.2 建立简单的应用程序,例2.2 编写一个人民币与美圆兑换的程序。 建立一个应用程序分为以下几步进行: (1) 建立用户界面的对象 (2) 对象属性的设置 (3) 对象事件过程及编程 (4) 保存和运行程序,本章目录,代码说明,对象事件过程及编程,代码窗口的对象列表框可显示窗体所有对象 过程列表框列出所选中对象的所有事件 例如,在按钮Button2的Click事件加入代码: Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click TextBox1.Text = Val(TextBox3.Text) * Val(TextBox2.Text) End Sub Val( )函数 将数字字符转换成数值型,本章目录,保存程序和文件组成,程序存盘后将建立一个文件夹,包含如下内容: (1)xxx.sln 项目关联、配置等的信息 (2) xxx.suo 开发环境选项的信息 (3) xxx.vbproj 项目文件 (4)Form1.vb 窗体文件 (5)AssemblyInfo.vb 项目集合信息(系统自动建立) (6) xxx.exe 可执行文件(在Bin文件夹) (7)Bin文件夹 可执行文件的默认路径, 可用Application.StartupPath()获得该路径。 (8)Debug 文件夹 存放程序调试产生的信息,本章目录,2.3 窗体和基本控件,2.3.1 通用属性 属性设置两种方式: 通过属性窗口设置 在代码设计窗口通过代码来设置 在VB.NET中,属性的类型有: 基本数据类型 枚举类型 结构类型 用代码设置时,需要用不同方式表示不同的类型,本章目录,2.3.1 通用属性,(1) Name 所有对象都具有的属性,表示所创建的对象名称。在程序中通过对象名称来引用对象,不会显示在窗体上。 (2) Text 用于在窗体上显示对象的文本 TextBox控件的Text还可以获取输入信息,本章目录,(3) 控件布局属性 控件布局由Location、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,(4) Font 属性值是Font类的对象,一般通过Font属性对话框设置,若在程序代码中需要改变文本的外观,则应通过New创建 Font 对象来改变字体。 例如:,Label1.Font = New System.Drawing.Font(“Arial“, 10),本章目录,(5) ForeColor、BackColor 颜色属性 ForeColor 控件正文前景色 BackColor 背景色 (6) Cursor 指示鼠标光标图像 设置值是一个Cursors枚举类型的枚举值。若要用户定义自己的指针图标,可通过如下语句实现: 对象名.Cursor = New System.Windows.Forms.Cursor(“图标文件名“),本章目录,(7) Dock 控件放置靠窗体边框的位置,属性值是DockStyle枚举类型,有六个枚举值 (8) Enabled、Visible 控件的有效、可见性,本章目录,(9) TabIndex 按Tab键时,焦点在各个控件移动的顺序,2.3.2 窗体,窗体是一块画布,是所有控件的容器,可以根据需要利用工具箱上的控件在窗体上画界面。 1. 主要属性,本章目录,窗体-属性,(1) MaxButton、MinButton 设置为True,窗体上有最大(小)化按钮;为False时无最大(小)化按钮 (2) Icon、ControlBox 窗体图标、控制菜单 ControlBox 属性为True,窗体上有控制菜单框;为False时无控制菜单(系统将MaxButton和MinButton自动设置为False) (3) BackgroundImage 窗体背景图案 (4) FormBorderStyle 窗体的边框类型,本章目录,窗体-事件,最常用的事件有Click、DblClick和Load Load事件 窗体装入内存时触发(应用程序启动时自动执行该事件),常用来在启动时对属性和变量初始化。 例2.3 编写三个事件过程,要求如下: 启动窗体,在标题栏显示“装入窗体”,并将tongji.bmp作为背景图平铺窗体、窗体边框为Fixed3D; 单击窗体,标题栏显示对应的文字、装入tongji-2.bmp图片大小为264256,要求图片正好充满窗体。 双击窗体,标题栏显示对应的文字、窗体无最大化和最小化按钮,清除装入的图片。,代码说明,本章目录,窗体-方法,使用方法的语法形式: 对象.方法参数列表 窗体方法主要有 ShowDialog 、Show、Hide等,主要用于多窗体的显示和隐藏等 例如:Me.Hide,本章目录,2.3.3 标签-属性,标签用来显示文本信息(不能输入) 除Name、Font、Size、Location、Enable等属性外,其它主要属性: (1)Text、TextAlign:设置显示的文本、文本的对齐方式,TextAlign 属性是枚举类型,提供标签控件上文本的9种对齐方式,本章目录,(2) BackColor 背景色(默认与窗体背景相同)。若要以透明方式显示,需要设置Color枚举类型的Transparent。 (3) BorderStyle 标签控件边框样式 None 控件周围没有边框(默认值) FixedSingle 控件带有单边框 Fixed3D 控件带有立体边框 (4) AutoSize 控件是否能自动调整大小 当值为False,保持控件原设计时的大小,正文若太长则显示其中的一部分。,本章目录,(5) Image、ImageAlign 设置控件的背景图案和图案对齐方式 ImageAlign属性与TextAlign类似 通过代码设置图案: 标签名.Image = Image.FromFile(“图片名“) 例2.4 在4个标签中存放4个方向的“手指”图片,当单击某方向时,利用“Dock”属性定位第5个标签、并显示相关信息。,代码说明,本章目录,2.3.4 文本框,文本框是一个文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容。 (1) Text 显示或输入的正文内容 (2) Maxlength 设置文本框可输入的文字最大长度。默认值为0,表示可以输入任意长字符串。 注意:在VB.NET中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1。,本章目录,(3) MultiLine 多行属性 设置为True时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,按Enter键可插入一空行。 (4) ScrollBars 滚动条属性 None 无滚动条 Horizontal 水平滚动条 Vertical 垂直滚动条 Both 同时加水平和垂直滚动条 当MultiLine为True时,ScrollBars才有效,本章目录,(5) PassWordChar 设置显示文本的替代符。例如,当设置为“*”,则在文本框输入的内容均以“*”显示,而存储的值是用户输入的原文。一般用于设置口令的输入。 当MultiLine为True时,该属性不起作用,密码不允许多行。 (6) ReadOnly 指定文本控件是否可被编辑,默认值为False(可编辑),当设置为True时,文本控件相当于标签控件的作用。,本章目录,(7)文本内容进行选择操作 SelectionStart 选定的正文开始位置 SelectionLength 选定的正文长度 SelectedText 选定的正文内容 设置SelectionStart和SelectionLength属性后, SelectedText 会自动存放设定的正文 例2.5 利用属性实现对文本信息的剪切、拷贝、粘贴等功能。,本章目录,代码说明,文本框-事件,(1) TextChanged事件 当Text属性值发生改变时引发该事件 例 在文本框每输入一个字符就引发一次事件 (2) KeyPress事件 按下并且释放键盘上的一个键时,引发焦点所在控件的KeyPress事件,所按键的值存放在参数e.KeyChar中 例 对回车的判断 Asc(e.KeyChar)=13,本章目录,(3) LostFocus事件 对象失去焦点时发生LostFocus事件 该事件主要是用来对数据进行验证和确认,常用于检查Text属性的内容。 (4) GotFocus事件 GotFocus事件与LostFocus事件相反,当一个对象获得焦点时发生,本章目录,文本框-方法,文本框最有用的方法是Focus,把光标移到指定的文本框中。其形式如下: 对象. Focus Focus还可以用于如CheckBox、Button、ListBox、ComboBox等控件。 例2.6 对输入的数据进行合法性检验,过滤不合法的数据。,本章目录,代码说明,2.3.5 命令按钮,用于程序运行时执行相应的事件 1. 属性 (1) Text 命令按钮上显示的文字 (2) FlatStyle 按钮的外观 该属性有4个枚举值: Flat 以平面显示按钮 Popup 鼠标在按钮上以Flat形式显示,否则以Standand显示 Standand 以三维效果显示(默认) System 由操作系统决定外观形式,本章目录,命令按钮,(3) Image、BackGroundImage 当FlatStyle属性值设置为非System的值时,则可以使用Image、BackGroundImage属性为按钮设置图形或背景图,显示不同的图形文件(.bmp和.ico)。通常情况使用Image属性。 (4) TextAlign、ImageAlign 设置文本、图形在按钮上的对齐方式 2. 事件 命令按钮一般接收Click事件,本章目录,2.4 综合应用,例2.7建立一个类似记事本的应用程序,提供: (1) 剪切、复制和粘贴的编辑操作 (2) 字体大小的格式设置 分析: (1) 建立一个文本框输入文本,文本框应该有滚动条,为了便于调试,程序运行时文本框有初始值。 (2) 利用文本框的SelectedText属性实现“剪切、复制和粘贴”的编辑操作; (3) “格式”设置利用Font对象实现。,代码说明,本章目录,本章小节,类是同种对象的集合与抽象,包含所创建对象的属性描述和行为特征的定义,是创建对象实例的模板。 对象三要素:属性、事件、方法 属性的类型:基本数据类型、枚举类型、结构类型 窗体 是所有控件的容器 基本控件 标签、文本框、命令按钮,本章目录,思考题,1. 什么是类?什么是对象?什么是事件过程? 2. 属性和方法的区别是什么? 3. 如何建立一个完整的应用程序? 4. 如何在文本框内显示多行文本? 5. 如何使对象获得焦点? 6.如何在命令按钮上设置图形?,本章目录,第三章 VB.NET语言基础,3.1 变量、常量与数据类型 3.2 运算符和表达式 3.3 常用函数 3.4 程序结构和编码规则 3.5 综合应用,本章目录,3.1 变量、常量和数据类型,3.1.1变量概述 变量 在程序运行中其存储的值可以改变 命名规则: 必须以字母或汉字开头,由字母、汉字、数字或下划线组成,长度小于等于255个字符 不能使用VB.NET中的关键字 VB.NET不区分变量名的大小写,一般变量名首字母用大写,其余用小写字母表示;常量全部用大写字母表示,本章目录,3.1.1变量概述,值类型和引用类型的变量 值类型变量 直接存放数据。每个值类型变量有它自己的数据拷贝,因此对一个值类型变量的操作不能影响其他的变量。 引用类型变量 并不真的包含数据,存放的是指向其他数据的内存地址的指针,也就是把数据值所在的地址作为引用变量的值。该种变量对象的引用简称为赋值或存储。字符串、数组和类是引用类型的变量。,本章目录,变量概述,x是值类型变量,存放的值为1234; s是引用类型变量,指向“VB.NET“的一个引用,本章目录,3.1.2 数据类型,本章目录,3.1.3变量声明,1. 用Dim语句显式声明变量 Dim 变量名 As 类型=初始值 As部分缺省,创建的变量为Object类型 初始值子句,表示给声明的变量赋值 一条Dim语句可同时定义多个变量。多个相同类型变量,可用一个As来指定(前面几个由逗号分隔),这时不能给变量赋初值。 例如:Dim m,n,j As Integer,x,y As Single,k k为Object类型,本章目录,变量声明,2. 隐式声明 默认状态下,系统要求对使用的变量都显式声明,当使用没有声明的变量时,该变量名下有绿色曲线(表示语法错)。若对变量不声明而直接使用,称为隐式声明。则需要在模块中所有程序代码的最前面加语句: Option Explicit Off 对初学者,最好变量加以显式声明,这样有助于程序的查错。,本章目录,3.1.4 常量,常量是在程序运行中不变的量,VB.NET中有三种常量: 直接常量 其常数值直接反映了其类型 符号常量 用户声明,便于程序阅读或修改 Const 符号常量名 As 类型 = 表达式 系统常量 系统提供许多内部常量和枚举 例如:vbCrLf 回车/换行组合符 枚举 如控件的颜色、边框线型等,本章目录,3.2 运算符和表达式,和其他语言一样,VB.NET中也具有丰富的运算符,通过运算符和操作数组合成表达式,实现程序编制中所需的大量操作。 运算符是表示实现某种运算的符号。VB.NET中的运算符可分算术运算符、字符串运算符、关系运算符和逻辑运算符四类。,本章目录,3.2.1 算术运算符,例:5+10 mod 10 9 / 3+2 2 结果:10,注意:对算术运算符两边的操作数应是数值型,若是数字字符或逻辑型,则自动转换成数值类型后再运算。 例如: 30-True 结果是31,逻辑量True转为数值-1,False转为数值0 False + 10 + “4“ 结果是14,本章目录,字符串运算符,& 两旁的操作数可任意,转换成字符型后再连接 + 两旁的操作数应均为字符型;若为数值型则进行算术加运算;若一个为数字字符,另一个为数值,则自动将数字字符转换为数值后进行算术加;若一个为非数字字符型,另一个为数值型,则出错。例如: 操作 结果 操作 结果 “ab“ & 123 “ab123 “ “ab“ + 12 出错 “12“ & 456 “ 12456 “ “12“ + 456 468 “12“ & True “12True“ “12“ + True 11 注意: 在变量后使用运算符时,变量与间应加一个空格,本章目录,关系运算符,关系运算符是双目运算符,作用是对两个操作数进行大小比较,若关系成立,则返回True,否则返回False。操作数可以是数值型、字符型。,本章目录,逻辑运算符,逻辑运算符除Not是单目运算符外,其余都是双目运算符,作用是将操作数进行逻辑运算,结果是逻辑值True或False。,本章目录,3.2.2表达式,1.组成 变量、常量、函数、运算符和圆括号 2.书写规则 运算符不能相邻 例a+ -b是错误的 乘号不能省略 例x 乘以y 应写成:x*y 括号必须成对出现(均使用圆括号) 表达式从左到右在同一基准上书写,无高低、大小 3. 不同数据类型的转换 运算结果的数据类型向精度高的数据类型靠 Integer=字符运算符关系运算符逻辑运算,本章目录,表达式书写举例,a*b*c*d/e/f/g 或 a*b*c*d/(e*f*g),选拔优秀生的条件为:年龄(Age)小于19岁,三门课总分(Total)高于285分,其中有一门为100分,如果其表达式写为:Age285 And ( Mark1=100 Or Mark2=100 Or Mark3=100 ) 如果取消括号有何问题?请读者考虑。,sin(45*3.14/180)+(exp(10)+log(10)/sqr(x+y+1),本章目录,3.3 常用函数,3.3.1 名称空间和类 VB.NET通过名称空间把类库划分为不同的组,将功能相近的类划到相同的名称空间。有了名称空间,可以方便地组织应用程序要使用的各个类。 (1) VB.NET函数库的名称空间和模块 Conversion 转换函数 DateAndTime 日期和时间函数 Strings 字符串函数 VbMath 随机函数,本章目录,3.3.1 名称空间和类,(2) 基础类库中的名称空间和类,本章目录,名称空间的使用,引用名称空间的方法: 项目引用 新建一个项目时,VB.NET根据所建项目类型,自动导入部分名称空间的引用 直接引用 给出名称空间的全名,就可访问其中的任一个类及其各项内容 例 使用Math类开方函数sqrt: Label1.Text = system.Math.sqrt(100) Imports语句导入 在代码中就可直接使用名称空间的类或成员。导入语句的格式: Imports 名称空间,本章目录,3.3.2数学函数,.NET中的数学函数包含在Math类。使用前在模块的开头用语句 Imports System.Math导入,本章目录,数学函数,Rnd函数返回0和1(包括0但不包括1)之间的双精度随机数. 每次运行时,要产生不同序列的随机数,先执行Randomize 语句。产生ab的之间的随机整数:Int(Rnd *(b-a)+a),本章目录,3.3.3 转换函数,本章目录,转换函数说明,(1) Chr和Asc函数互为反函数。 (2) Str函数将非负数值转换成字符类型后,会在转换后的字符串左边增加一空格。 (3) Val将数字字符串转换为数值类型,当字符串中出现数值类型规定的字符外的字符,则停止转换,函数返回的是停止转换前的结果。例如表达式: Val(“-123.45ty3“)结果为-123.45。 (4) CDdate函数将以日期型表达式转换成日期类型。例如表达式:CDate(“2005/5/12“)结果为日期类型 VB.NET中还有其他类型转换函数,例如,CInt、CBool、CSng、CStr等,详细例子查阅帮助功能。,本章目录,3.3.4 字符串函数,字符串编码 VB.NET中字符串长度是以字(习惯称字符)为单位,每个西文字符和每个汉字都作为一个字,占两个字节。这是因为VB.NET采用Unicode(国际标准化组织ISO字符标准)来存储和操作字符串。 VB.NET中字符串处理有两种方式:保留和更新了VB6.0版本提供的函数;另一种是用System.String类的成员(函数),本章目录,字符串函数,本章目录,字符串函数,本章目录,3.3.5 日期函数,例 计算从当前日期到2007年6月30日有多少天?表达式为: DateDiff(“d“, Now, #6/30/2007#),本章目录,3.3.6 Shell函数,Shell函数可调用各种应用程序。格式如下: Shell(命令字符串,窗口类型) 命令字符串为要执行的应用程序名(包括路径),必须是可执行文件(.com、.exe、.bat)。 窗口类型表示执行应用程序的窗口状态,04,6的整型数值,1表示正常窗口状态。 函数调用成功返回一个任务标识ID,不成功,则返回0。,提示:如果不知道应用程序的路径名,可用Start命令启动程序 例 i = Shell(start & “calc.exe“),本章目录,3.4 程序结构和编码规则,本章目录,程序结构和编码规则,编码规则 (1) VB.NET代码不区分字母的大小写 关键字,首字母自动转换成大写,其余字母转换成小写。 对于用户自定义的变量、过程名,以第一次定义的为准,以后输入的自动向首次定义的形式转换。 (2) 语句书写自由 一行上可书写多句语句(用冒号分隔),一行最多255个字符。 单行语句可分若干行书写,在本行后加入续行符(空格和下划线)。,本章目录,3.5 综合应用,例3.3 模仿字处理软件中字符串替换功能和字幕滚动。 设计思路:利用Shell函数调用winword.exe执行Word程序观察其替换对话框。 本例字符串替换功能实现方法: 利用查找(InStr)、取子串(Left、Mid)等函数实现 利用替换(Replace)函数实现 标题显示:Form1.Caption=Space(n) & “显示文字“ 要产生滚动效果,可用时钟(Timer1)控件和Space函数,改变空格数达到自右向左滚动字幕效果。,本章目录,本章小节,变量:在程序运行中其存储的值可以改变 值类型变量、引用类型变量 变量声明 Dim 变量名 As 类型=初始值 运算符 算术运算符、字符串运算符、关系运算符和逻辑运算符 名称空间导入 Imports 名称空间 数学函数使用 Imports System.Math Shell函数 调用各种应用程序,本章目录,思考题,VB.NET提供了哪些数值类型?声明类型时,其类型关键字分别是什么?其类型符又是什么? 2. 说明Option Explici的作用。 3. 什么是值类型变量?什么是引用类型变量? 4. 怎样声明一个符号常量?符号常量与变量的区别? 5. 解释整除与除法运算的区别? 6.将数字字符串转换成数值,可以用哪些函数、方法?,本章目录,第四章 基本的控制结构,4.1 顺序结构 4.2 选择结构 4.3 循环结构 4.4 其它辅助控制语句 4.5 综合应用 4.6 程序调试,本章目录,4.1 顺序结构,VB.NET也具有结构化程序设计的三种结构,即顺序结构、选择结构、循环结构,它是程序设计的基础。 顺序结构就是各语句按出现的先后次序执行。一般的程序设计语言中,顺序结构的语句主要是赋值语句、输入/输出语句等。在VB.NET中也有赋值语句;而输入/输出可以通过文本框控件、标签控件、InputBox函数、MsgBox函数和过程等来实现。,本章目录,4.1.1 赋值语句,形式: 变量名表达式 计算右边表达式的值,然后赋给左边的变量。 给变量赋值和设定属性是VB.NET编程中常见的两个任务。例如: sngRate!=0.1 sngRate为单精度变量,赋值0.1 TextBox1.Text “ 清除文本框的内容 TextBox1.Text “欢迎使用VB.Net “ 文本框显示字符串,本章目录,复合赋值语句,复合赋值运算符,其作用简化程序代码,提高程序编编译的效果。语句形式: 变量名 复合赋值运算符 表达式 计算右边表达式的值,然后与左边的变量进行相应的运算,最后赋值给变量。 复合赋值运算符:+=、- =、*=、=、/=、=、&= 例如:a *= b+4 等价于 a = a*(b+4),本章目录,常用复合赋值语句,累加 sum +=x 等价于 sum = sum+x 计数 n += 1 等价于 n = n+1 显示多行信息 利用 &= 来实现 例如: TextBox1.Text = “ VB.NET “ & vbCrLf TextBox1.Text &= “程序设计教程“,本章目录,赋值语句注意点,赋值语句不允许写成 表达式变量,虽然赋值号与关系运算符等于号都用=表示,VB.NET系统会根据所处的位置自动判断符号的意义。 赋值号左边的变量只能是变量,不能是常量、常数符号、表达式。下面均为错误的赋值语句: Now()=x+y 左边是表达式(函数) 5=sqrt(s)+x+y 左边是常量,本章目录,InputBox函数 打开一个对话框,等待用户输入,返回字符串类型的输入值。 形式:InputBox(提示,标题,默认值,x坐标位置,y坐标位置) 提示项不能省略。若要多行提示,可在每行行末加回车换行VBCrLf。 例4.1利用InputBox输入基本工资和营业额,按营业额的5%提成,计算实发工资并显示。,4.1.2 数据输出和输入,本章目录,代码说明,打开一个信息框,等待用户选择一个按按钮。 MsgBox函数返回所选按钮的值,MsgBox过程不返回值 MsgBox函数形式: 变量% = MsgBox(提示,按钮,标题) MsgBox过程形式: MsgBox 提示,按钮,标题 按钮项是一整型表达式,决定信息框按钮的数目和类型及出现在信息框上的图标形式。,MsgBox函数和MsgBox过程,本章目录,MsgBox按钮设置,本章目录,MsgBox所选按钮返回值,例4.2 编一账号和密码输入的检验程序,当输入不正确,如账号为非数字字符,密码不正确等,显示有关信息,再输入。,本章目录,代码说明,Write、WriteLine方法,在调试窗口输出信息。Write输出时不换行、WriteLine输出时换行。输出方法: Debug. WriteLine(表达式) Debug. Write (表达式) 例 将例4.1输出改为如下语句: Debug.WriteLine(“本月营业额为:“ & x & “ 基本工资为:“ & jbgz) Debug.Write(“本月实发工资为:“ & sfgz) 选择“视图|其它窗口|输出”显示输出窗口,本章目录,日期输出控制,常用日期和时间格式符,本章目录,4.2 选择结构,计算机要处理的问题往往是复杂多变的,仅采用顺序结构是不够的。必须利用选择结构等来解决实际应用中的各种问题。VB.NET中提供了多种形式的条件语句来实现选择结构,有If条件语句和Select情况语句等。它们都是对条件进行判断,根据判断结果,选择执行不同的分支。,本章目录,4.2.1 If条件语句,1. IfThen语句(单分支结构) If Then 语句块(可以是一句或多句语句) End If 或 If Then 表达式:关系表达式、逻辑表达式,算术表达式。表达式值按非零为True,零为False进行判断。 该语句的作用是当表达式的值为True,执行Then后面的语句块,否则不做任何操作。,本章目录,IF演示,单分支结构,例:已知两个数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时,只能是一句语句或语句间用冒号分隔,而且必须在一行上书写。,本章目录,双分支结构,2. IfThenElse语句 If 表达式 Then 语句块1 Else 语句块2 End If 或 If 表达式 Then 语句1 Else 语句2 当表达式的值为True时,执行Then后面的语句块1,否则执行Else后面的语句块2,本章目录,双分支结构例,计算分段函数,单分支 y=cos(x)x3+3*x 结构实现 If x0 Then y=sin(x)+sqr (x*x+1),If x0 Then 双分支 y=sin(x)+sqr (x*x+1) Else 结构实现 y=cos(x)x3+3*x End If,本章目录,多分支结构,3. IfThenElseIf 语句 If 表达式1 Then 语句块1 ElseIf 表达式2 Then 语句块2 Else 语句块 n+1 End If,作用:根据不同的表达式值确定执行哪个语句块,本章目录,例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,多分支结构例,本章目录,If语句的嵌套是指If或Else后面的语句块中又包含If语 If 表达式1 Then If 表达式2 Then End If End If,If xy Then t=x: x=y: y=t If yz Then t=y: y=z: z=t If xy Then t=x: x=y: y=t End If End If,If语句的嵌套,例 已知x,y,z三个数,使得xyz 用一个IF语句和一个嵌套的IF语句实现,本章目录,4.2.2 Select Case语句,Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 Case Else 语句块n+1 End Select,表达式列表与变量或表达式的类型必须相同,是下面4种形式之一 : 表达式 例: “A“ 一组用逗号分隔的枚举值 2,4,6,8 表达式1 To 表达式2 60 To 100 Is 关系运算符表达式 Is 60,本章目录,Select Case语句例,将例4.5 改用 Select Case 语句实现: Select Case ch Case “a“ To “z“,“A“ To “Z“ MsgBox( ch + “是字母字符“) Case “0“ To “9“ MsgBox (ch +“是数字字符“) Case Else MsgBox( ch + “是其他字符“) End Select 多分支结构,用Select Case语句比IfThenElseIf语句直观,程序可读性强。但不是所有的多分支结构均可用Select Case语句代替IfThenElseIf语句。,本章目录,Select Case语句例,例4.7 已知坐标点(x,y),判断其落在哪个象限。,代码一 If x 0 And y 0 Then MsgBox(“在第一象限“) ElseIf x 0 Then MsgBox(“在第二象限“) ElseIf x 0 And y 0 Then MsgBox(“在第四象限“) End If,代码二 Select Case x,y Case x 0 And y 0 MsgBox(“在第一象限”) Case x 0 MsgBox(“在第二象限”) Case x 0 And y 0 MsgBox(“在第四象限”) End Select,代码二错误: 1. Select Case 后不能出现多个变量; 2. Case后不能出现变量及有关运算符。,本章目录,4.2.3 条件函数,(1) IIf函数 IIf(表达式,表达式为真时的值,表达式为假时的值) IIf函数是If Then Else 结构的简洁表示 例如,将x,y中大的数,放入Tmax变量中: Tmax = IIf(x y,x,y) 该语句与如下语句等价 : If x y Then Tmax = x Else Tmax = y,本章目录,4.2.3 条件函数,(2) Choose函数 Choose(整数表达式,选项列表) 根据表达式的值i,返回选项列表中第i个选项。如果整数表达式的值越出选项范围时,返回Null。 例 根据Nop的值,得到+、-、中的某运算符: Op= Choose(Nop,“+“,“-“,“,“) 例4.8 根据当前日期,显示今日是星期几。 t = Choose(Weekday(Now), “星期日”, “星期一”, “星期二”, “星期三”, “星期四”, “星期五”, “星期六”) MsgBox(“今天是:“ & Now & t),本章目录,4.3 循环结构,计算机最擅长的功能之一就是按规定的条件,重复执行某些操作。例如,按照人口某增长率,对人口增长统计;根据各课程的学分、绩点和学生的成绩,统计每个学生的平均绩点等。这类问题都可通过循环结构来方便地实现。VB.NET中提供了两种类型的循环语句:一种是计数循环语句;另一种是条件型循环语句。,本章目录,4.3.1 For循环语句,For循环语句用于控制循环次数预知的循环结构。 For 循环变量 初值 To 终值 Step 步长 语句块 Exit For 语句块 Next 循环变量 循环变量必须为数值型。 循环次数,例4.9 计算1100的奇数和,本章目录,For循环语句,循环流程: (1) 循环变量被赋初值,它仅被赋值一次。 (2) 判断循环变量是否在终值内,如果是,执行循环体;如果否,结束循环,执行Next的下一语句。 (3) 循环变量加步长,转(2),继续循环,例4.10 将可打印的ASCII码制成表格输出,本章目录,4.3.2 DoLoop循环语句,Do循环用于控制循环次数未知的循环结构。 形式1: Do While|Until 语句块 Exit Do 语句块 Loop 形式1为先判断后执行,有可能一次也不执行; 形式2为先执行后判断,至少执行一次。,形式2: Do 语句块 Exit Do 语句块 Loop While|Until ,本章目录,DoLoop流程,本章目录,循环例题,例4.11 我国有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿。 解此问题两种方法,可根据公式:,直接利用标准函数对数可求得,但求得的年数不为整数;也可利用循环求得 。,本章目录,代码说明,循环例题,例4.12用辗转相除法求两自然数的最大公约数。 求最大公约数的算法思想: (1)对于两数m,n,使得mn (2) m除以n得余数r,例 m=14 ,n=6 的最大公约数 If m 0) m=n n=r r=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《电池配件冲压工艺及模具设计》教学大纲
- 玉溪师范学院《人文地理学》2021-2022学年第一学期期末试卷
- 光纤、光缆、绝缘制品的账务处理实例-记账实操
- 2024年茶叶项目评价分析报告
- 2023年有机肥料及微生物肥料项目成效分析报告
- 2024届河北省邢台一中、邢台二中第二学期高三调研测试数学试题试卷
- 草捆离田运输合同书
- 采藕承包合同范本
- 不再续签消防维保合同意见
- 标准离婚协议书范本打印
- 大学英语四级阅读理解精读100篇
- 北京市海淀区2022-2023学年五年级上学期期末测试语文试卷
- 三全育人工作实施方案
- 中医护理技术之耳针法课件
- 四年级体质健康数据
- 检验菠菜中的铁元素-教学设计
- 触电和触电急救
- 医德医风考核评价表
- 函数与导数高考试题分析及备考策略课件高三数学一轮复习
- 动物呼吸系统病理-肺气肿(动物病理学课件)
- 华为ESG -2022年可持续发展报告
评论
0/150
提交评论