【教学课件ppt】程序设计_第1页
【教学课件ppt】程序设计_第2页
【教学课件ppt】程序设计_第3页
【教学课件ppt】程序设计_第4页
【教学课件ppt】程序设计_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

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

文档简介

Visual Basic程序设计第 4 章 VB高级语言技巧安徽 . 蚌埠广播电视大学14.1 多功能计算器任务4.1.1 任务描述在第三章简单计算器的基础,增加以下功能:1. 将计算结果转换为十六进制。2. 就数字键设置为命令按钮组,使 “ 0” “ 9”数字按键的 Index属性分别为 0、 1、 2、 3、 4、 5、 6、 7、 8、 9。3.禁止键盘在文本框中输入数据。4.使计算器总是悬浮在其它窗体上。界面如下页所示。234.1.2 界面设计1. 添加 “ 十六进制 ” 和 “ 数字大写 ” 两个文本框,分别命名为 txtHex和 txtBig。2.删除原来的 “ 0” “ 9” 数字按钮控件,并重新放置一个命令按钮控件,将其 Caption属性设置为 “ 0”。3.复制该数字命令按钮。4.在数字区框架控件上,粘贴该数字命令按钮,系统询问是否创建一个控件数组,回答 “ 是 ” 。将它的Caption属性改为 “ 1” , Index属性值设置为 1。按照上述方法粘贴数字按钮控件 “ 2” “ 9” 。5、此时得到一 个按钮控件数组 “ 0” “ 9” ,它们的Index书香依次为 “ 0” “ 9” 。6、将 TxtBig的 ToolTipText属性设置为 “ 大写数字 ” 。44.1.3 代码设计1.用 API函数实现 “ 总在前面 ” 效果( 1)程序代码在代码编辑器的 “ 通用 ” 部分声明 SetWindowPos函数及相关常数:Private Declare Function SetWindowPos Lib “user32“ _(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _ByVal x As Long, ByVal y As Long, ByVal cx As Long, _ByVal cy As Long, ByVal wFlags As Long) As LongPrivate Const HWND_TOPMOST = -1Private Const SWP_NOMOVE = &H2Private Const SWP_NOSIZE = &H1然后在 Form的 Load事件中加入以下代码:SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE5( 1) API函数调用的一般方法要在 VB中使用 API函数,首先要在工程的标准模块( Module) 或窗体的代码的 “ 通用 ” 部分中声明它,然后可以按照调用 VB其它函数一样来使用它。获得函数声明的一般方法:在安装 VB系统后,通常会在 VB程序组中看到“ API文本浏览器 ” 的应用程序。步骤如下:沿 开始 -程序 -Microsoft Visual Studio 6.0-Microfoft Viaual Stodio 6.0 Tools-API Text Wiewer找到 API浏览器。67第 1步:启动 “ API文本浏览器 ”8第 2步:选择 “ 文件 -加载文本文件 ” 菜单项9加载 WinAPI.txt文件。10第 3步:选择 API类型:声明11第 4步:选择可用项 SetWindowPos, 将声明范围设置为 “ 私有 ” 。12按 添加按钮。13第 5步:就选定项下的 VB代码复制14第 5步:将复制的 VB代码粘贴到窗体代码编辑器中的 “ 通用 -声明 ” 部分。15习题 P115 一、单项选择题2. 能够实现 “窗体总在最前端 ”界面效果的 API函数是( )。A. SetWindowPosB. SetWindowAPIC. SetWindowShapeD. DeclareAPI答案: A162. 数字区命令按钮的 Click事件Private Sub Command1_Click(Index As Integer)使用 Str函数将 Index转换为字符串,然后使用Trim函数去掉前后空格If txtLabel.Text = “ ThentxtFirst.Text = txtFirst.Text + Trim(Str(Index)ElsetxtSecond.Text = txtSecond.Text + Trim(Str(Index)End IfEnd Sub 173. 禁止用户在文本框中输入数字Private Sub txtResult_KeyDown(KeyCode As Integer, Shift As Integer)KeyCode = 0 禁止所有的键盘输入(除BackSpace退格键外)End SubPrivate Sub txtResult_KeyPress(KeyAscii As Integer)KeyAscii = 0 禁止 BackSpace退格键End Sub18习题 P116 二、填空题1. 通常可将文本框控件的 属性设置为 True, 以禁止键盘输入。答案: Locked194. 修改 “计算结果 ”按钮的 Click事件代码“计算结果 ”命令按钮的 Click事件Private Sub Command17_Click()定义一个 Double类型的变量Dim MyResult As Double以 txtLable.Text的值为多重分支条件Select Case txtLabel.TextCase “+“ 当 txtLabel.Text的值为 “+“时MyResult = Val(txtFirst.Text) + Val(txtSecond.Text)Case “-“ 当 txtLabel.Text的值为 “-“时MyResult = Val(txtFirst.Text) - Val(txtSecond.Text)Case “ 当 txtLabel.Text的值为 “时MyResult = Val(txtFirst.Text) * Val(txtSecond.Text)Case “ 当 txtLabel.Text的值为 “时MyResult = Val(txtFirst.Text) / Val(txtSecond.Text)End Select204. 修改 “计算结果 ”按钮的 Click事件代码txtResult.Text = MyResult 显示计算结果将计算结果转换为十六进制数字txtHex.Text = Hex(MyResult)将计算结果转换为大写数字,(采用函数功能完成)txtBig.Text = ChangeMe(MyResult)End Sub215. 编写 ChangeMe函数代码Private Function ChangeMe(First As Double) As String声明变量Dim strFirst As StringDim strBig(9) As String 声明一个字符串数组Dim strTemp As StringDim i, j As Integer设置数组变量的值strBig(0) = “零 “: strBig(1) = “壹 “: strBig(2) = “贰 “: _strBig(3) = “叁 “: strBig(4) = “肆 “: strBig(5) = “伍 “: _strBig(6) = “陆 “: strBig(7) = “柒 “: strBig(8) = “捌 “: strBig(9) = “玖 “225. 编写 ChangeMe函数代码将 Double型的参数 First转换为字符串型strFirst = Trim(Str(First)strTemp = “开始数字转换For i = 1 To Len(strFirst)取出第 i位的字符数字,并将它转换为数值型j = Val(Mid(strFirst, i, 1)通过数组完成大写转换strTemp = strTemp + strBig(j)Next i将转换结果返回ChangeMe = strTempEnd Function ( 演示)23习题 P116 三、问答题5. 请简述多功能计算器与第 3章计算器在功能上的区别。答:区别有以下几点:1)能将计算结果转换为十六进制。2) 将数字键设置为命令按钮组,使 “ 0” “ 9” 数字按键的 Index属性分别为 0、 1、 2、 3、 4、 5、 6、 7、 8、 9。用按键的 Index来识别输入的数字。3)禁止键盘在文本框中输入数据。4)使计算器总是悬浮在其它窗体上。 244.2 数组的使用4.2.1 数组1. 数组的概念VB把一组 具有同一名字、不同下标的变量称为数组,它实际上是一组具有相同类型的变量的集合。根据下标的个数可分为一维数组、二维数组、多维数组。例如:设置数组变量的值strBig(0) = “零 “: strBig(1) = “壹 “: strBig(2) = “贰 “: _strBig(3) = “叁 “: strBig(4) = “肆 “: strBig(5) = “伍 “: _strBig(6) = “陆 “: strBig(7) = “柒 “: strBig(8) = “捌 “: strBig(9) = “玖 “ 252. 声明静态数组数组分为静态数组和动态数组。定义静态数组的方法与变量的声明方法基本相同。有两种声明方法:( 1)方法 1Dim 数组名(上界) As 数据类型这种定义方法,默认情况下数组的下界从 0开始,因此数组元素的个数等于上界 +1。数组的全部元素都初始化为 0(数值型)或空字符串(字符串型)例如定义一维数组:Dim A( 5) As Integer数组 A包括 6个数组元素: A( 0)、 A( 1)、 、 A( 5)。 26( 2)方法 2Dim 数组名(下界 To 上界)采用这种方法可以根据需要设置下标的起始和结束值,即上界和下界。例如Dim A( 1 To 5) As Integer该数组包括 5个元素: A( 1)、 A( 2)、 、 A( 5)。也可定义二维数组。例如:Dim A( 1 To 5, 1 To 5) As Integer该数组包括 A( 1,1),A(1,2), 、 A(1,5), ,A(5,1),A(5,2), , A(5,5)又如 : Dim A(5,5) As Integer该数组包括 36个元素 :A(0,0),A(0,1),A(0,2),A(0,5), ,A(5,0),A(5,1),A(5,2), , A(5,5) 273. 动态数组如果事先不能确定数组元素的个数 ,可以采用动态数组声明技术 ,主要方法是 :( 1)首先声明一个静态数组,只定义其数组名,不指定数组的大小。例如Dim A As Integ

温馨提示

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

评论

0/150

提交评论