VB-Net自学经典教程(完整版)_第1页
VB-Net自学经典教程(完整版)_第2页
VB-Net自学经典教程(完整版)_第3页
VB-Net自学经典教程(完整版)_第4页
VB-Net自学经典教程(完整版)_第5页
已阅读5页,还剩608页未读 继续免费阅读

下载本文档

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

文档简介

第一章VB NET基础第二章简单的VB NET程序设计第三章VB NET语言基础第四章基本的控制结构第五章数组第六章过程第七章用户界面设计第八章面向对象程序设计基础第九章文件第十章图形应用程序开发第十一章数据库应用程序开发 目录 第一章VB NET基础 1 1VB NET概述1 2VB NET集成开发环境1 3使用帮助系统 本章目录 1 1VB NET概述 1 1 1VisualBasic的发展20世纪60年出现Basic语言 20世纪80年代 TrueBasic QuickBasic和TurboBasic等 1991年Microsoft公司推出VisualBasic1 0 以可视化工具为界面设计 结构化Basic语言为基础 以事件驱动为运行机制 从1991年的VB1 0至1998年的VB6 0的多次版本升级 功能更强大 完善 应用面更广 2002年正式发布VisualBasic NET 本章目录 1 1 2Microsoft NET概述 什么是 NET NET代表了一个集合 一个环境 一个编程的基本结构 作为一个平台来支持下一代的Internet NET也是一个用户环境 是一组基本的用户服务 可以作用于客户端 服务器或任何地方 对初学VB的人来说 可以这样认为 NET就是VisualStudio NET 本章目录 VisualStudio NET 本章目录 1 1 3VB NET特点 1引例例1 1简单的动画演示 一行文字 欢迎使用VB NET 在具有背景图案的窗体中上 下移动 移动方法有两种 单击手动按钮 移动5个像素单位 单击自动按钮 按定时器触发频率连续移动 当内容超出窗体范围时 进行反弹 本章目录 引例 根据要求 用工具箱上的Label Button Timer等控件 在窗体上建立控件对象 进行有关的属性设置 本章目录 引例 编写事件过程 本章目录 提供了易学易用的应用程序集成开发环境具有面向对象的可视化设计工具事件驱动的编程机制支持结构化程序设计 具有面向对象程序设计语言的所有特征具有丰富的数据类型 功能强大的类库强大的数据库功能网络功能完备的帮助功能 VB NET功能特点 本章目录 1 2VB NET的集成开发环境 1 2 1进入VB NET 启动VisualStudio NET 起始页 选择 新建项目 打开项目 按钮 VisualBasic项目 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 键网络资源通过 本章目录 本章小节 VisualStudio NET一个支持下一代Internet的平台VB NET的三种工作模式设计模式 运行模式 中断模式组成 本章目录 解决方案 项目 组件和代码模块 项目 组件和代码模块 思考题 1 什么是 NET框架 2 简述VB NET的特点3 VB NET有多种类型的窗口 若想在设计时看到代码窗口 怎样操作 4 如何使各窗口显示或不显示 5 如果窗口布局搞乱了 如何恢复默认布局 6 解决方案与项目的区别 本章目录 第二章简单的VB NET程序设计 2 1VB NET对象的概念2 2建立简单的应用程序2 3窗体和基本控件2 4综合应用 本章目录 2 1VisualBasic对象的概念 2 1 1对象和类1 对象对象就是日常生活中的某个实在的物体例如 一个人 一辆汽车 一台电脑 对象都具有各自的特征 属性 行为 方法 人有身高 体重 听力等特征 也具有起立 行走 说话 踢足球等行为 在VB NET中 将反映对象的属性和行为封装在一起 是面向对象编程的基本元素 本章目录 2 类的概念 类同种对象的集合与抽象 是创建对象实例的模板 包含所创建对象的属性描述和行为特征的定义 例如 人类是具体人的抽象 每个人有不同的身高 体重等属性值和不同的行为 VB NET工具箱中的可视图标是VB NET系统设计好的标准控件类 通过将控件类实例化 得到真正的控件对象 在窗体上画一个控件 就将类转换为对象 创建了一个控件对象 简称控件 本章目录 例如 工具箱内的TextBox是类 它确定了TextBox的属性 方法和事件 窗体上显示的是两个Text对象 本章目录 属性 事件和方法构成对象的三要素1 属性存放对象的数据 决定对象外观及功能 例如 控件名称 文本 大小等属性 对象属性的设置方法 设计阶段利用属性窗口直接设置属性值程序运行时通过语句对象名 属性名 属性值例如 Button1 Text 确定 注意 若属性只能在设计阶段设置 在程序运行阶段不可改变 称为只读属性 2 1 2对象的属性 事件和方法 本章目录 事件发生在对象上的事情同一事件 对不同的对象 会引发不同的反应 事件 本章目录 教师 铃声 讲课EndSub 学生 铃声 听讲接受知识EndSub VB NET为对象预先定义了一系列的事件 例如 单击Click 获取焦点GotFocus 按下键盘KeyPress等 其他人员 铃声 可不于响应EndSub 事件过程应用程序处理事件的步骤它针对某一对象并与该对象的一个事件相联系应用程序设计的主要工作就是为对象编写事件过程的代码 事件过程的形式如下 Sub对象名 事件 对象引用 事件信息 Handles事件处理程序 事件过程代码EndSub对象引用 指向引发事件的对象事件信息 与事件相关的信息 事件过程 本章目录 例2 1在命令按钮的Click事件过程 改变按钮的字体颜色 代码说明注意 在代码窗 自动产生事件过程的模板 不要修改模板的内容 只需键入过程的代码 一个动作可能同时发生多个事件 例如单击鼠标同时发生了 Click MouseDown MouseUp事件编程时 只要对需要的事件过程编码 无编码的事件为空事件 系统就不处理该事件过程 本章目录 事件驱动程序设计方式 程序执行的先后次序与程序设计者无关 取决于用户的操作 VB NET程序的执行步骤 启动应用程序 装载和显示窗体 窗体 或窗体上的控件 等待事件的发生 事件发生时 执行对应的事件过程 重复执行步骤 和 事件驱动程序设计 本章目录 方法 面向对象的程序设计语言 为程序设计人员提供了一种特殊的过程和函数 称为方法 方法是面向对象的 调用时一定要指明对象 对象方法的调用格式为 对象 方法 参数名表 若省略对象 表示当前对象 一般指窗体 例如 Textbox1 Focus此语句使Textbox1控件获得焦点 光标在本文框内闪烁 本章目录 2 2建立简单的应用程序 例2 2编写一个人民币与美圆兑换的程序 建立一个应用程序分为以下几步进行 1 建立用户界面的对象 2 对象属性的设置 3 对象事件过程及编程 4 保存和运行程序 本章目录 代码说明 对象事件过程及编程 代码窗口的对象列表框可显示窗体所有对象过程列表框列出所选中对象的所有事件例如 在按钮Button2的Click事件加入代码 SubButton2 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton2 ClickTextBox1 Text Val TextBox3 Text Val TextBox2 Text EndSubVal 函数将数字字符转换成数值型 本章目录 保存程序和文件组成 程序存盘后将建立一个文件夹 包含如下内容 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 NewPoint 88 48 Button1 Size NewSize 80 32 也可用Left Top定位 用Width和Height来表示控件的宽度和高度 本章目录 等效的语句设置 Button1 Left 88Button1 Top 48Button1 Width 80Button1 Height 32 4 Font属性值是Font类的对象 一般通过Font属性对话框设置 若在程序代码中需要改变文本的外观 则应通过New创建Font对象来改变字体 例如 Label1 Font NewSystem Drawing Font Arial 10 本章目录 5 ForeColor BackColor颜色属性ForeColor控件正文前景色BackColor背景色 6 Cursor指示鼠标光标图像设置值是一个Cursors枚举类型的枚举值 若要用户定义自己的指针图标 可通过如下语句实现 对象名 Cursor NewSystem 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和LoadLoad事件窗体装入内存时触发 应用程序启动时自动执行该事件 常用来在启动时对属性和变量初始化 例2 3编写三个事件过程 要求如下 启动窗体 在标题栏显示 装入窗体 并将tongji bmp作为背景图平铺窗体 窗体边框为Fixed3D 单击窗体 标题栏显示对应的文字 装入tongji 2 bmp图片大小为264 256 要求图片正好充满窗体 双击窗体 标题栏显示对应的文字 窗体无最大化和最小化按钮 清除装入的图片 代码说明 本章目录 窗体 方法 使用方法的语法形式 对象 方法 参数列表 窗体方法主要有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 把光标移到指定的文本框中 其形式如下 对象 FocusFocus还可以用于如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来指定 前面几个由逗号分隔 这时不能给变量赋初值 例如 Dimm n jAsInteger x yAsSingle kk为Object类型 本章目录 变量声明 2 隐式声明默认状态下 系统要求对使用的变量都显式声明 当使用没有声明的变量时 该变量名下有绿色曲线 表示语法错 若对变量不声明而直接使用 称为隐式声明 则需要在模块中所有程序代码的最前面加语句 OptionExplicitOff对初学者 最好变量加以显式声明 这样有助于程序的查错 本章目录 3 1 4常量 常量是在程序运行中不变的量 VB NET中有三种常量 直接常量其常数值直接反映了其类型符号常量用户声明 便于程序阅读或修改Const符号常量名 As类型 表达式系统常量系统提供许多内部常量和枚举例如 vbCrLf回车 换行组合符枚举如控件的颜色 边框线型等 本章目录 3 2运算符和表达式 和其他语言一样 VB NET中也具有丰富的运算符 通过运算符和操作数组合成表达式 实现程序编制中所需的大量操作 运算符是表示实现某种运算的符号 VB NET中的运算符可分算术运算符 字符串运算符 关系运算符和逻辑运算符四类 本章目录 3 2 1算术运算符 例 5 10mod10 9 3 2 2结果 10 注意 对算术运算符两边的操作数应是数值型 若是数字字符或逻辑型 则自动转换成数值类型后再运算 例如 30 True结果是31 逻辑量True转为数值 1 False转为数值0False 10 4 结果是14 本章目录 字符串运算符 两旁的操作数可任意 转换成字符型后再连接 两旁的操作数应均为字符型 若为数值型则进行算术加运算 若一个为数字字符 另一个为数值 则自动将数字字符转换为数值后进行算术加 若一个为非数字字符型 另一个为数值型 则出错 例如 操作结果操作结果 ab 123 ab123 ab 12出错 12 456 12456 12 456468 12 True 12True 12 True11注意 在变量后使用运算符 时 变量与 间应加一个空格 本章目录 关系运算符 关系运算符是双目运算符 作用是对两个操作数进行大小比较 若关系成立 则返回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分 如果其表达式写为 Age285And Mark1 100OrMark2 100OrMark3 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类 使用前在模块的开头用语句ImportsSystem Math导入 本章目录 数学函数 Rnd函数返回0和1 包括0但不包括1 之间的双精度随机数 每次运行时 要产生不同序列的随机数 先执行Randomize语句 产生a b的之间的随机整数 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 6Shell函数 Shell函数可调用各种应用程序 格式如下 Shell 命令字符串 窗口类型 命令字符串为要执行的应用程序名 包括路径 必须是可执行文件 com exe bat 窗口类型表示执行应用程序的窗口状态 0 4 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名称空间数学函数使用ImportsSystem MathShell函数调用各种应用程序 本章目录 思考题 VB NET提供了哪些数值类型 声明类型时 其类型关键字分别是什么 其类型符又是什么 2 说明OptionExplici的作用 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 1TextBox1 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 vbCrLfTextBox1 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 1If条件语句 1 If Then语句 单分支结构 IfThen语句块 可以是一句或多句语句 EndIf或IfThen表达式 关系表达式 逻辑表达式 算术表达式 表达式值按非零为True 零为False进行判断 该语句的作用是当表达式的值为True 执行Then后面的语句块 否则不做任何操作 本章目录 IF演示 单分支结构 例 已知两个数x和y 比较它们的大小 使得x大于y Ifx yThent xx yy tEndIf或Ifx yThent x x y y t简单If形式无EndIf时 只能是一句语句或语句间用冒号分隔 而且必须在一行上书写 本章目录 双分支结构 2 If Then Else语句If表达式Then语句块1Else语句块2EndIf或If表达式Then语句1Else语句2当表达式的值为True时 执行Then后面的语句块1 否则执行Else后面的语句块2 本章目录 双分支结构例 计算分段函数 单分支y cos x x 3 3 x结构实现Ifx0Theny sin x sqr x x 1 Ifx0Then双分支y sin x sqr x x 1 Else结构实现y cos x x 3 3 xEndIf 本章目录 多分支结构 3 If Then ElseIf语句If表达式1Then语句块1ElseIf表达式2Then语句块2 Else语句块n 1 EndIf 作用 根据不同的表达式值确定执行哪个语句块 本章目录 例4 5已知变量ch中存放了一个字符 判断该字符是字母字符 数字字符还是其他字符 IfUCase ch A AndUCase ch 0 Andch 9 Then 数字字符MsgBox ch 是数字字符 Else 除上述字符以外的字符MsgBox ch 是其他字符 EndIf 不管有几个分支 依次判断 当某条件满足 执行相应的语句 其余分支不再执行 若条件都不满足 且有Else子句 则执行该语句块 否则什么也不执行 ElseIf不能写成ElseIf 多分支结构例 本章目录 If语句的嵌套是指If或Else后面的语句块中又包含If语If表达式1ThenIf表达式2Then EndIf EndIf Ifx yThent x x y y tIfy zThent y y z z tIfx yThent x x y y tEndIfEndIf If语句的嵌套 例已知x y z三个数 使得x y z用一个IF语句和一个嵌套的IF语句实现 本章目录 4 2 2SelectCase语句 SelectCase变量或表达式Case表达式列表1语句块1Case表达式列表2语句块2 CaseElse语句块n 1 EndSelect 表达式列表与变量或表达式的类型必须相同 是下面4种形式之一 表达式例 A 一组用逗号分隔的枚举值2 4 6 8表达式1To表达式260To100Is关系运算符表达式Is 60 本章目录 SelectCase语句例 将例4 5改用SelectCase语句实现 SelectCasechCase a To z A To Z MsgBox ch 是字母字符 Case 0 To 9 MsgBox ch 是数字字符 CaseElseMsgBox ch 是其他字符 EndSelect多分支结构 用SelectCase语句比If Then ElseIf语句直观 程序可读性强 但不是所有的多分支结构均可用SelectCase语句代替If Then ElseIf语句 本章目录 SelectCase语句例 例4 7已知坐标点 x y 判断其落在哪个象限 代码一Ifx 0Andy 0ThenMsgBox 在第一象限 ElseIfx0ThenMsgBox 在第二象限 ElseIfx0Andy 0ThenMsgBox 在第四象限 EndIf 代码二SelectCasex yCasex 0Andy 0MsgBox 在第一象限 Casex0MsgBox 在第二象限 Casex0Andy 0MsgBox 在第四象限 EndSelect 代码二错误 1 SelectCase后不能出现多个变量 2 Case后不能出现变量及有关运算符 本章目录 4 2 3条件函数 1 IIf函数IIf 表达式 表达式为真时的值 表达式为假时的值 IIf函数是If Then Else结构的简洁表示例如 将x y中大的数 放入Tmax变量中 Tmax IIf x y x y 该语句与如下语句等价 Ifx yThenTmax xElseTmax 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 1For循环语句 For循环语句用于控制循环次数预知的循环结构 For循环变量 初值To终值 Step步长 语句块 ExitFor 语句块Next循环变量循环变量必须为数值型 循环次数 例4 9计算1 100的奇数和 本章目录 For循环语句 循环流程 1 循环变量被赋初值 它仅被赋值一次 2 判断循环变量是否在终值内 如果是 执行循环体 如果否 结束循环 执行Next的下一语句 3 循环变量加步长 转 2 继续循环 例4 10将可打印的ASCII码制成表格输出 本章目录 4 3 2Do Loop循环语句 Do循环用于控制循环次数未知的循环结构 形式1 Do While Until 语句块 ExitDo语句块 Loop形式1为先判断后执行 有可能一次也不执行 形式2为先执行后判断 至少执行一次 形式2 Do语句块 ExitDo语句块 Loop While Until 本章目录 Do Loop流程 本章目录 循环例题 例4 11我国有13亿人口 按人口年增长0 8 计算 多少年后我国人口超过26亿 解此问题两种方法 可根据公式 直接利用标准函数对数可求得 但求得的年数不为整数 也可利用循环求得 本章目录 代码说明 循环例题 例4 12用辗转相除法求两自然数的最大公约数 求最大公约数的算法思想 1 对于两数m n 使得m n 2 m除以n得余数r 例m 14 n 6的最大公约数Ifm0 m nn rr mmodnLoopMsgBox 最大公约数 n 辗转相减法m m nm nn n mn mm n为公约数m nDoWhilemnmnIfm nThen146m m n86Else26n n m24EndIf22Loop 3 若r 0 则n为最大公约数 结束 否则执行 4 4 m n n r 再重复执行 2 本章目录 代码说明 4 3 3循环的嵌套 在一个循环体内又包含了一个完整的循环结构称为循环的嵌套 循环嵌套对For循环语句和Do Loop语句均适用 例4 13打印九九乘法表 思考 打印上三角或下三角程序如何改动 本章目录 代码说明 4 4其他辅助控制语句 4 4 1GoTo语句无条件地转移到标号或行号指定的那行语句 GoTo 标号 行号 注意 标号是字符序列 首字符必须为字母 标号后应有冒号 行号是一个数字序列 例4 14判断输入的数是否为素数素数就是除1和本身以外 不能被其他任何整数整除的数 根据此定义 判别某数m是否为素数最简单的方法就是依次用i 2 m 1去除 只要有一个数能整除m m就不是素数 否则m是素数 要求一定范围内的素数 只要将m作为外循环体变量 本章目录 代码说明 4 4 2退出和结束语句 1 Exit语句VB中有多种形式的Exit语句 用于退出某种控制结构的执行 Exit的形式如下 ExitFor ExitDo ExitSub ExitFunction2 End语句独立的End语句用于结束一个程序的运行 它可以放在任何事件过程中 本章目录 4 5综合应用 1 自测四则运算例4 15由计算机自动产生四则运算题 并能判断答案的正确性 设计思路 1 通过随机函数Rnd产生试题的操作数和运算符 运算符 可对应编号1 4 产生表达式通过Form Load事件过程 2 需要有一个全局变量保存四则运算题的正确答案 用户答案可通过文本框输入 3 本题主要将随机函数 If语句 Select语句综合在一起使用 本章目录 代码说明 综合应用 级数求和 例4 16求自然对数e的近似值 其误差小于0 00001 近似公式 分析 本例涉及到程序设计中两个重要运算 累加和连乘i 累加是在原有和的基础上再加一个数 连乘则是在原有积的基础上再乘以一个数 该题先求i 再将1 i 进行累加 循环次数预先未知 可先设置一个循环次数很大的值 然后在循环体内判断是否到达精度 当然也可用DoWhile来实现 本章目录 代码说明 综合应用 试凑法 例4 17假定小鸡每只5角 公鸡每只2元 母鸡每只3元 现在有100元钱要求买100只鸡 编程求解购鸡方案 分析 1 设母鸡 公鸡 小鸡各为x y z 列出方程为 x y y 1003x 2y 0 5z 100三个未知数 两个方程 此题求若干个整数解 2 计算机求解此类问题 采用试凑法 也称为穷举法 来实现 即将可能出现的各种情况一一罗列测试 判断是否满足条件 采用循环结构来实现 本章目录 综合应用 递推法 递推 迭代 法基本思想是把一个复杂的计算过程转化为简单过程的多次重复 每次都从旧值的基础上递推出新值 并由新值代替旧值 例4 18小猴有桃若干 第一天吃掉一半多一个 第二天吃剩下桃子的一半多一个 以后每天都吃尚存桃子的一半多一个 到第7天只剩一个 问小猴原有桃多少 分析 用后一天的数推出前一天的桃子数 设第n天的桃子为xn 是前一天的桃子的二分之一减去1 迭代法类似的应用求高次方程的近似根 本章目录 4 6程序调试 随着程序的复杂性提高 程序中的错误也伴随而来 对初学者 看到出现错误不要害怕 关键是如何改正错误 失败是成功之母 上机的目的 不光是为了验证你编写的程序的正确性 还要通过上机调试 学会查找和纠正错误的方法和能力 VB NET为调试程序提供了一组交互的 有效的调试工具 在此逐一介绍 本章目录 4 6 1错误类型 语法错误 运行时错误和逻辑错误三类 语法错误 本章目录 运行错误 指令代码执行了一非法操作引起的 例如 类型不匹配 试图打开一个不存在的文件等 程序会自动中断 并给出有关的错误信息 本章目录 逻辑错误 程序运行后 得不到所期望的结果 这说明程序存在逻辑错误 例如 运算符使用不正确 语句的次序不对 循环语句的起始 终值不正确等 通常 逻辑错误不会产生错误提示信息 故错误较难排除 需要程序员仔细地阅读分析程序 并具有调试程序的经验 本章目录 4 6 2调试和排错 VB NET的三种模式 1 设计模式 设计 可以进行程序的界面设计 属性设置 代码编写等 2 运行模式 运行 执行启动命令进入运行模式 在此阶段

温馨提示

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

评论

0/150

提交评论