




已阅读5页,还剩66页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 VisualBasic程序设计 VisualBasic的功能特点 1 可视化的开发环境 2 面向对象的程序设计 3 结构化的程序设计语言 4 事件驱动编程机制下面首先看一个用visualbasic 简称vb 编写的小程序 1 3VisualBasic6 0主界面 1 4VisualBasic的集成开发环境 工具箱提供一组工具 用于设计时在窗口中放置控件 对象 实现面向对象的可视化编程 1 4 1工具箱窗口 1 4 2窗体设计器窗口和工程资源管理窗口 1 4 3属性窗口和代码窗口 2 VisualBasic可视化编程初步 面向对象编程对象 控件 具有独立功能的 内部对外封闭的程序实体 是一种已封装好的具有某种功能的程序和数据程序模块 可对其属性 事件或方法进行设置或编程 对象的特征被称为属性 针对对象的控制过程和相关操作被称为事件和方法 这三者称为描述对象的三个基本特征 属性是指一个对象的某个方面的特征 通过数据来描述 改变对象的属性即改变对象的特征 1 在程序中设置对象属性的语句格式为 对象名 属性名 属性值如 command1 caption 当前时间 注 在VB中 很重要 它兼具着拼写检查功能 如果在输入 后VB没有出现相关提示 则表示前一词输入有误 需要更正 在代码输入时遇到标点时 一定要使用英文标点 2 1在属性窗口设置对象的属性 1 2 2 2在属性窗口设置对象的属性 2 2 事件就是在某个对象上发生的某种动作 事件分为两类 1 指用户做了某件事 即用户对某个对象进行了某种操作 如鼠标在某个按钮上单击 按钮对象就知道发生了click事件 2 系统激发的事件 如窗体生成时会产生form load事件 load 装载 即窗体及窗体上的控件装载到内存 准备运行 事件驱动 对一个事件做某种操作后 对象感知了某个事件 然后就会去找相应的程序 如果输入了相应程序 则执行此程序 如果没有任何对应程序 则什么都不做 单击 当前时间 按钮 按钮对象感知到此事件 执行此事件相应程序 显示系统当前时间 事件的特点 1 事件是能被某个对象识别的动作 2 不同对象能够识别的事件不尽相同 3 某个对象能识别的事件是预先定义好的 固定的 我们只能选择此对象可感知的事件编程 不能创建某个对象不能识别的事件 2 3VB中的事件 1 2 事件过程 某一事件对应的程序 事件过程的第一句为过程名称和开始 它是由对象名和事件名构成的 最后一句是EndSub 这两句都是由VB自动生成 指定对象行为的方法指定对象做某种动作 这种动作命令在VB中叫方法 窗体常用的方法有 Print cls move show hide等例如 以窗体为黑板 编写一个 黑板擦 程序 方法的书写格式 对象名 方法动作内容 2 3VB中的事件和方法 2 2 名称Name 对象名 每个对象都有Caption 标题 文本框 滚动条 列表框 组合框 时钟 图片框没有 位置LeftTop大小HeightWidth 2 4常用属性 方法和事件 1 2 字体FontName 字体名FontSize 字体大小FontBold 是否加粗FontItalic 是否倾斜颜色ForeColor 描述窗体上显示的图片和文字的前景色BackColor 描述窗体的背景色Visible 描述对象是否可见Enabled 描述对象是否可用 2 4常用属性 方法和事件 1 2 2 5窗体 Form 的属性 方法和事件 1 3 属性MinButton MaxButtion ControlBox方法Print 打印输出 格式较复杂 下页介绍 Cls 清除运行时在窗体上显示的文本和图形 窗体名 ClsMove 移动 窗体名 Move左边距离 上边距离 宽度 高度Show 显示 窗体名 ShowHide 隐藏 窗体名 Hide 窗体名或图片框名 Print Spc n Tab n 表达式列表 省略对象名直接调用Print方法则默认在窗体上输出表达式列表是一个或多个数值或字符类型的表达式组成的 这些多个表达式之间必须用空格 分号或逗号隔开 其中空格等价于分号紧缩格式输出 输出项之间以 或空格分隔标准格式输出 输出项之间以 分隔插入n个空格 Spc n 从第n列开始输出 Tab n 换行 最后一个输出项后没有 或 输出空行 窗体名或图片框名 Print 下次的练习 编写程序生成一个星号组成的空心三角形 Print方法 2 5窗体Form的属性 方法和事件 2 3 Print方法举例 2 5窗体Form的属性 方法和事件 2 3 在窗体form1的单击事件中写入如下代码 Privatesubform click print 123456789abcdefg 连续输出16个字符printTab 10 10列位置 从第10列开始打印输出 10列位置 printspc 10 10个空个位置 输出10个空格后 开始输出 10个空格位置 print 空一行print 分号 分号 分号 分号分隔表示依次连续输出print 逗号 逗号 逗号 逗号分隔则在下一个打印区 每14列为一个打印区 输出EndSub看一下执行结果 事件ClickDblClickLoad 通常用于对窗体及其上的控件 窗体级变量进行初始化 2 5窗体 Form 的属性 方法和事件 3 3 2 6命令按钮CommandButton的属性 方法和事件 属性Caption 设置按钮上显示文本事件Click 2 7文本框TextBox的属性 方法和事件 属性Text 描述输入或输出的文本MultiLine 是否允许输入多行ScorllBars 是否添加滚动条MaxLength 允许输入的最大字符数事件Change事件 文本内容变化时触发 2 8标签Label的属性 属性Caption 设置标签上显示文本Alignment 描述标签中文本的对齐方式 左 中 右 AutoSize 描述标签是否随内容多少自动调整大小 3 建立简单的VisualBasic应用程序 题目 要求两个数相加求和的程序 两个加数录入显示及两数和显示均用文本框实现 求和的触发事件由单击按钮来完成 3 1新建工程 3 2添加控件 3 3设置属性 3 4编写事件代码 双击 两数相加 按钮 或打开代码编辑窗口选中command1的click事件 即可打开单击按钮的事件过程编辑窗口 写入 Text3 Text Str Val Text1 Text Val Text2 Text Text1 Text Text2 Text分别为两个加数文本框的内容 3 5运行工程 运行结果 运行中如果发现错误或考虑不周到的问题 可以点击工具栏中的 中断 或 结束 按钮 暂停或停止程序的运行 这时就可以回到窗体设计器窗口和代码窗口 进行界面和程序的修改 边修改边运行 直到符合功能和界面方面的要求为止 3 6修改工程 3 7保存工程 分别保存 frm vbp两种文件 文件名任意 符合命名标准 注意一道题放到一个文件夹内 第二部分VB的数据类型 内部函数及运算符 主要介绍常量与变量的使用 数据的基本类型 运算符与表达式 函数的作用以及常用内部函数的使用 1 VB的数据类型 数据类型 指出变量能存储何种类型的数据 一 常用的基本数据类型 1 数值型Integer 整型 32768 32767 Long 长整型 2147483648 2147483647 Single 单精度型Double 双精度型2 日期型用 把表示日期和时间的值括起来如 11 18 2003 2003 11 18 11 18 200310 28 45pm 3 布尔 逻辑 型 Boolean 取值 True或False4 字符串型 String用 括起来的一串字符5 变体类型 VariantVariant类型的数据可以表示所有系统定义的数据注 变量的缺省类型为变体类型 存放整数 存放带有小数的数值 DimaAsVariant 变量a中可存放任何类型的数据a 3 5 存放一个实数a BASIC 存放一个字符串a 03 30 1998 存放一个日期型数据a 100 a a 10 这时a为90 为数值 而上一句时为字符变量 即变体变量的类型在变化 标识符的命名规则 必须字母开头 后跟字母 数字或下划线 不能是运算符号 问号等 students 错 21students不能与VB中关键字同名 如sub 该词是VB的关键字 不区分大小写变量 存储可能变化的数据常量 固定不变的数据 1 VB的数据类型 1 1变量 通常 在使用变量和常量前必须事先声明 定义 1 变量的命名遵循标识符命名的规则2 变量的定义Dim变量名 As类型 注 缺省为变体类型Dim变量名类型符后缀P228例如 下列两句定义语句效果相同DimaAsInteger bAsSingleDima b 3 变量的隐式定义 不定义 不声明就使用的变量为Variant类型初值默认为Empty 1 1变量 4 变量赋值 year 2003VB中允许使用冒号 将几条命令合并在一行中执行 例如 Dimyearasinteger year 2003 year year 1等价与 Dimyearasintegeryear 2003year year 1由于Dim语句中的 as数据类型 子语句是可选的 所以可以只声明变量 而不指定数据类型 VB将自动定义变体型变量 如 Dimday month 1 1变量 5 程序举例 PrivateSubForm Click Dim底AsIntegerDim高AsIntegerDim面积AsInteger底 20高 34面积 0 5 底 高Print 三角形的面积 面积EndSub作业 要求根据所输入的三角形的底和高 使用文本框 的值得出三角形的面积的程序 1 2变量的注意事项 一个变量被声明之后 在没有给此变量赋值之前 变量会有一个默认值 一个未赋值的数值型变量的默认值为0一个未赋值的字符串型变量的默认值为 空字符串 一个未赋值的布尔型变量的默认值为false一个未赋值的日期型变量的默认值为1899 12 300 00 00一个未赋值的变体型变量的默认值为空 1 3常量 常量用一个标识符来代表一个常数 好像是为常数取一个名字 它的值在运行过程中不能被改变 用户声明符号常量的语句格式是 必须要赋值 Const As 例 ConstPi 3 14159DimareaAsSinglePrivateSubCommand1 Click area Pi 5 5Text1 Text areaEndSubPrivateSubCommand2 Click area Pi 10 10Text1 Text areaEndSub 2 1数据类型程序举例 布尔型变量 1 PrivateSubCommand1 Click dimflagAsBooleanflag TrueIfflagThenLabel1 Caption 相信我 没错 ElseLabel1 Caption 哈哈 我骗你的 对不起了 EndIfEndSub 4 为if语句 其功能是通过判定标志变量flag的值 控制程序的流程 5 为标志变量为True时执行的操作 通过标签控件的Caption显示 6 为Else关键字 7 为标志变量为Flase时执行的操作 通过标签控件的Caption显示 2 2日期类型变量程序举例 1 PrivateSubCommand1 Click 2 DimToday anotherdayAsDate3 Today Date 4 anotherday 07 01 1997 MsgBox 香港已经回归 Today anotherday 天了 6 EndSub 5 通过计算式Today antherday获得的天数 并调用MsgBox函数 将计算结果显示在MsgBox对话框 消息弹出窗口 中 3 运算符和表达式 1 算术运算符 Mod 字符串连接运算符优先级例 2 3 85 2 2 55 2 2 取整运算 5mod2 1 取模运算 2 关系运算符 关系运算符 逻辑运算符平级间是按从左到右的顺序计算注意 号也可以是字符串连接符变量与连接运算符 间应加一个空格 因为符号 还是长整型的类型定义符 当变量与符号 接在一起时 VB先把它作为类型定义符处理 造成出错 除了 可以连接字符串 也可把两个字符串连接 例 Print 123 456 Print123 456 Print 123 456 print123 456Print123 456 print123 abc 3 1 1 与 区别 结果 123456123456123456579579出错 4 1常用内部函数 数学函数 数学函数主要用来完成数学运算 常用的有 1 Sin x 返回X的正弦值 X的单位为弧度 2 Cos x 返回X的余弦值 X的单位为弧度 3 Tan x 返回X的正切值 X的单位为弧度 4 Atan x 返回X的反正切值 返回值单位为弧度 5 Log x 返回X的自然对数 6 Exp x 返回以e为底的x的指数值 7 Sqrt x 返回参数X的平方根值 8 Abs x 返回X的绝对值 9 Rnd x 产生一个介于0 1之间的单精度随机数 10 Int x 去掉小数部分 返回整数 11 Fix x 该函数和Int x 类似 去掉小数部分 返回整数 int与fix在处理正数时结果一样 处理负数时不一样 int 3 7 4fix 3 7 3 4 2常用内部函数 字符串函数 1 Mid 字符串 起始位置 个数 取字符串由起始位置开始的指定个数的字符 mid abcdef 2 3 bcd 2 Len 字符串或字符变量 计算字符长度 若字符串为空时 返回Null len abcdef 6 3 Left 字符串 个数 取出字符串左边指定个数的字符 若个数大于或等于字符串长度 全取 left abcdef 3 abc 4 Right 字符串 个数 取出字符串右边指定个数的字符 若个数大于或等于字符串长度 全取 Right abcdef 3 def 4 3常用内部函数 转换函数一般用来实现不同类型数据之间的转换 VisualBasic提供的常用转换函数有 1 Str 数值表达式 把数值转换为字符串 2 Val 字符串 把字符串转换为数字数值 忽略字符串中的非数字字符 日期时间函数 1 Date 取当前系统日期 2 Time 取当前系统时间 3 Now 取当前系统日期与时间 1 赋值语句 格式 功能 将表达式的值赋给变量或属性 5 1程序中常用的基本语句 2 End语句 格式 End语句根据其所在的位置 有以下几种形式 End表示停止执行EndIf结束一个If语句 EndSelect结束一个SelectCase语句 EndSub结束一个Sub语句 功能 结束一个过程或块 3 输入数据的方法文本框通过Text属性可以获得用户在文本框中输入的内容 字符串 如要获得数值应通过Val函数转换Text属性InputBox函数 5 1程序中常用的基本语句 InputBox函数 P398 格式 变量名 inputbox 提示信息 标题信息 默认值 提供一个简单对话框供用户输入信息 当用户按回车或单击 确定 按钮后 将输入的内容作为字符串返回如要获得数值 最好通过Val函数转换函数值 InputBox函数举例 P407 DimxAsSinglex Val InputBox 请输入的你的成绩 0 100 显示成绩等级 5 1程序中常用的基本语句 4 输出数据的方法 Print方法窗体对象具有该方法可以输出各种类型的数据label标签通过Caption设置显示内容 字符串 如要输出非字符型数据 需通过Str函数进行转换用户无法通过键盘修改标签内容text文本框通过Text属性设置显示内容 字符串 如要输出非字符型数据 需通过Str函数进行转换既可通过代码设置文本框内容 用户也可通过键盘修改文本框内容MsgBox函数 MsgBox函数在对话框中显示信息 等待用户单击按钮MsgBox函数可以在用户单击按钮后获得一个整数格式1 MsgBox 提示信息 按钮形式 标题信息 2 整型变量 MsgBox 提示信息 按钮形式 标题信息 对话框按钮 由4个数值常量组成 格式为c1 c2 c3 c4 决定信息框中显示的按钮数目及形式 函数值 根据用户选择点击的按钮确定返回值一般使用时常省略掉按钮和标题信息 直接在提示中表达将要输出的内容 这时括号也可以省略 5 1程序中常用的基本语句 MsgBox函数举例Dimx yy val inputbox 请输入一个任意整数 x 2 ymsgbox 你输入的 x 是偶数 第三部分程序控制结构 主要介绍程序控制结构的3种基本类型 顺序结构 选择结构和循环结构 程序中常用的基本语句 流程图及编程方法 请用户输入一个未知数 然后乘以2 再加上5 再减去10 最后再除以6 输出最后的值 3 1顺序结构举例 1 PrivateSubCommand1 Click 2 DimiAsSingle3 i inputbox 请输入一个数i 4 i i 2 5 10 65 msgbox i 2 5 10 6最后运算得 i6 EndSub 3 2选择结构程序设计 If条件语句1 单分支条件结构If条件表达式then语句块Endif2 双分支结构If条件表达式then语句块Aelse语句块BEndif 程序运行时 VB测试条件表达式 如果表达式为True VB就执行语句块A中的语句 然后跳出控制结构 执行EndIf后面的语句 如果表达式为Flase 则执行语句块B中的语句 然后执行EndIf后面的语句 3 2 1 1单分支结构实例 If Then Endif实例 单分支结构 程序 按数值从小到大顺序显示输入的两个数 组成 1个标签控件 2个文本框控件 一个命令按钮控件 1 PrivateSubCommand1 click Dima bAsIntegerDimtAsIntegera val Text1 text b val Text2 text Ifa bThent aa bb tEndIfLabel1 Caption 从小到大 a bEndSub运行结果 程序运行时 在2个文本框输入2个数值 然后单击 排序 按钮 则程序将输入的2个数按从小到大的顺序排列 并显示在窗体的标签中 3 2 1 2双分支结构实例 If Then Else实例 双分支结构 程序1 判断数的奇偶性dimxasintegerx val inputbox 请输入一个整数 ifxmod2 0thenmsgbox 你输入的 x 是偶数 elsemsgbox 你输入的 x 是奇数 endif程序2 求分段函数值 典型的if then else结构 3 2 1 2双分支结构实例 PrivateSubForm Click DimxAsDouble yAsDoublex Val Text1 Text Ifx 0Theny Sqr 2 x 5 Elsey 3 x x xEndIfText2 Text yEndSub 多分支结构IfThen ElseIfThen ElseIfThen Else EndIf 3 2 1 3if条件语句 多分支结构 程序执行时 首先测试条件表达式1 如果它的值为False VB就测试条件表达式2 依此类推 直到找到一个为True的条件表达式 当程序找到一个为True的条件表达式时 则就会执行相应的语句块 然后跳出结构 执行EndIf后面的代码 作为一个选择 可以包含Else语句块 如果条件都不是True 则VB执行Else语句块 3 2 1 3if条件语句 多分支结构 多分支结构 3 2 1 3多分支结构实例 学生成绩等级 PrivateSubCommand1 Click DimxAsSingle DimyAsStringx Val InputBox 成绩为 Print 这个学生的成绩为 yEndSub Ifx 100Theny 超过100 重新输入 ElseIfx 90Theny 优秀 ElseIfx 80Theny 良 ElseIfx 70Theny 中 ElseIfx 60Theny 及格 ElseIfx 0Theny 不及格 Elsey 小于0 重新输入 EndIf 3 2 2SelectCase语句 SelectCase语句SelectCaseCase Case Case CaseElse EndSelect注 值的条件范围一般均为范围的表达式 可以用表达式to表达式 也可用is表达式 3 2 2SelectCase语句 多分支结构流程图 3 2 2SelectCase语句实例 PrivateSubCommand1 Click DimxAsSinglex Val InputBox 请输入的你的成绩 0 100 SelectCasexCase0To59 Print 你的成绩不及格 Case60To69 Print 你的成绩及格 Case70To79 Print 你的成绩为中 Case80To89 Print 你的成绩为良 Case90To100 Print 恭喜 你的成绩为优秀 CaseElse Print 输入有问题 EndSelectEndSub 3 2 2SelectCase语句实例 将上面的程序改为用is表达式PrivateSubCommand1 Click DimxAsSinglex Val InputBox 请输入的你的成绩 0 100 SelectCasexCaseis 59 Print 你的成绩不及格 Caseis 69 Print 你的成绩及格 Caseis 79 Print 你的成绩为中 Caseis 89 Print 你的成绩为良 Caseis 100 Print 恭喜 你的成绩为优秀 CaseElse Print 输入有问题 EndSelectEndSub 课堂练习题 若基本工资大于等于600 增加工资20 若小于600大于400 增加工资15 若小于400 增加工资10 根据输入的基本工资计算增加后的工资 下面已经给出基本语句 请填空并运行 调试正确后生成exe文件 分别命名为计算工资 dimsassingles inputbox 输入工资 s为单精度浮点数 scaseis 600 s S 0 2 scaseis 400 s caseelse s s 1 0 1 endselectprint 增加后工资为 s 3 3循环结构程序设计 问题 求1 100所有偶数的和 即2 4 8 100解决 利用循环结构实现 For Next型循环For Next型循环语句通过设置一个循环变量来控制循环的次数 其格式是 For To Step Next 3 3 1For Next型循环语句 求1 100所有偶数的和Dimsum iAsIntegersum 0Printsum i 0 i 100 真 sum sum i i i 2 假 Fori 0To100Step2sum sum iNexti 3 3 1For Next型循环语句 步长 为循环变量的步长 如果没有指定 则步长默认值1 在执行For循环时 将执行以下操作 1 设置循环变量等于初始值 2 当步长为正时 比较循环变量与终值 若小于 则执行循环体 若大于 则退出循环体 程序执行关键字Next后面的语句 求100 98 2 当步长为负时 比较循环变量与终值 若大于 则执行循环体 若小于 则退出循环体 3 执行循环体代码块 4 循环变量增加步长 5 重复步骤2 到步骤4 3 3 1For next实例 1 100所有偶数的和Dimsum iAsIntegersum 0Fori 0To100Step2sum sum iN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 敲电梯礼仪培训课件
- 认识时间课微课课件
- 慢性肾衰竭病人的护理试题及答案
- 果树技术员(高级)考试题库及答案
- 2025版土石方工程承包及配套设施完善合同下载
- 2025年度企业信息安全防护方案委托开发合同
- 2025版水泥产品安全认证采购合同书
- 2025年产业园区环保设施租赁及污染治理服务合同
- 2025年度智能化改造项目施工安装合同
- 2025年度城市改造土石方工程发包运输服务合同
- 2025年国企中层干部竞聘笔试题及答案
- 2025年人民检察院公开招聘用制书记员考试题及答案
- 数学小升初试卷真题打印版
- 医院学术委员会组织职责
- 国际经济法课件马工程版
- 重庆临时摊点管理办法
- 3.4中国的海洋资源课件-八年级地理上册商务星球版
- 相声的教学课件
- 【生物 四川卷】2025年四川省高考招生统一考试真题生物试卷(真题+答案)
- 2025年观看师德师风警示教育典型案例心得体会
- 全国工会系统经审业务技能大赛知识题(附答案)
评论
0/150
提交评论