




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章输入 输出操作管理 键盘响应与鼠标响应文件的数据管理文件系统控件 本章学习目标 熟练掌握键盘字符 功能键 控制键等各类按键的识别方法掌握MouseDown MouseUp和MouseMove三类鼠标响应事件的编程方法全面掌握顺序文件 随机文件的打开 读写和关闭操作掌握三种文件系统控件的使用 尤其是如何实现三种控件的功能同步 键盘响应示例 编写一个可判断功能键F2与Alt Shift Ctrl中的哪一个或哪两个进行组合控制的键盘响应示例程序 键盘响应示例实现方法 选择正确的响应事件如何区分用户按键 选择正确的响应事件 在VB6 0中 可以响应用户按键的事件有 KeyPress 若有键被按下 KeyDown 按下某个键 KeyUp 松开某个键 三种 但KeyPress事件只能区分普通的ASCII码字符 无法判断组合控制键 光标移动键等 因此本示例中必须使用KeyDown或KeyUp事件 如何区分用户按键 无论是KeyDown还是KeyUp事件 都有两个参数 KeyCodeAsInteger ShiftAsInteger 其中Keycode中存放所按键的键值 不区分大小写字符 但区分大小键盘 Shift参数用于表示事件发生时 Shift键 Alt键和Ctrl键的状态 键盘上各键的键值可通过VB对象浏览器了解例如 判断用户是否按下F2键 只需判断KeyCode vbKeyF2是否成立 VB中的三个测试常量 VbShiftMask VbCtrlMask及VbAltMask 其值分别表示1 2和4 常见的测试这三种控制键的方法 先设置以下三个表达式 shiftdown ShiftAndvbShiftMask 0altdown ShiftAndvbAltMask 0ctrldown ShiftAndvbCtrlMask 0如果shiftdownandaltdownandctrldown为真 则表示按下了Shift Ctrl Alt键 若shiftdown为真表示按下了Shift键 其余以此类推 键盘响应相关知识点 KeyPress KeyUp和KeyDown键盘响应事件三种事件的响应差异KeyPress事件的使用 KeyPress KeyUp和KeyDown 当用户按下并且释放一个ANSI键就会触发KeyPress事件 按下一个键便触发KeyDown事件 释放引发KeyUp事件 在引发键盘事件的同时 用户所按的键盘码作为实参传递给相应的事件过程 供程序判断识别用户的操作 三种事件的响应差异 KeyPress只响应按下标准ASCII字符表中对应的键时的事件 如回车键 Tab键 Backspace键等以及标准键盘中的字母 标点 数字键等 KeyDown和KeyUp事件能区分控制键 功能键 大小键盘区域内的字符等KeyPress无法处理的情况 但不区分大小写 KeyDown与KeyUp无本质差别 但若用户需进行单步跟踪调试时 可选择KeyUp KeyPress事件的使用 将文本框Text1中输入的文本转换为大写在文本框Text2中显示 PrivateSubText1 KeyPress KeyAsciiAsInteger Text2 Text2 UCase Chr KeyAscii EndSub将KeyAscii参数设置为0时 可取消击键事件 这样对象便接收不到字符 即可屏蔽键盘输入 思考题6 1 无论用户在文本框Text1中输入任何字符 程序均在Text1中显示大写字符A 当用户在Text1中按键时 直接显示所按键的大写 鼠标响应编程示例 一个可进行简单的随手涂鸦的画图程序 当用户在窗体上按下鼠标不放并移动时 便可进行随手涂鸦 此时鼠标指针为十字形 松开鼠标 鼠标指针恢复为箭头形状 随手涂鸦的画图程序实现分析 选择正确的响应事件 MouseDown MouseUp及MouseMove如何设置鼠标指针如何实现随手涂鸦 如何设置鼠标指针 通过MousePointer属性 大部分控件都具有该属性 在程序设计中 往往可通过不同的鼠标指针形状来表达正在执行不同的任务 如用沙漏状表示等待状态 十字形表示画图状态 箭头及问号状表示求助状态等等 对象名 MousePointer 设定值 如何实现随手涂鸦 可在MouseMove事件过程中 用画线的方法来实现该功能 用Line X Y 表示从当前位置画线到 X Y 坐标 鼠标响应相关知识点 MouseDown MouseUp和MouseMove事件的应用DragDrop和DragOver事件 MouseDown MouseUp和MouseMove的应用 事件过程的一般格式 以窗体对象为例 PrivateSubForm MouseDown ButtonAsInteger ShiftAsInteger XAsSingle YAsSingle PrivateSubForm MouseUp ButtonAsInteger ShiftAsInteger XAsSingle YAsSingle PrivateSubForm MouseMove ButtonAsInteger ShiftAsInteger XAsSingle YAsSingle 这三种事件过程所包含的参数完全相同 参数的具体含义参见教材 DragDrop和DragOver事件 DragOver事件在拖放操作正在进行时发生 DragDrop事件最常见的激活状态是在一个完整的拖放动作完成 如将一外控件拖到另一个对象上 并释放了鼠标 时 DragDrop事件过程用来控制在一个拖动操作完成时将会发生的情况 而DragOver事件过程则用来处理拖动正在进行时需执行的功能 DragDrop和DragOver事件过程 事件过程的一般格式 以窗体对象为例 SubForm DragDrop SourceAsControl XAsSingle YAsSingle SubForm DragOver SourceAsControl XAsSingle YAsSingle StateAsInteger 其中 Source 表示正在被拖放的控件对象 X Y 指当前鼠标指针在目标对象上的位置坐标 State 代表源控件被拖动的情况 如是正在向目标范围内拖动 值为0 还是向目标范围外拖动 值为1 或者是在目标范围内部移动 值为2 文件的数据管理 文件管理的基本概念文件的基本操作文件操作应用实例 文件管理的基本概念 文件的结构特点VB中文件的分类根据文件的存取方式和结构分根据文件的数据性质分根据文件中数据的编码方式分仅讨论顺序文件和随机文件的操作 文件的基本操作 最基本的三类文件操作 打开文件 读 写文件 关闭文件 相关的判断函数 定位函数等 顺序文件的基本操作 顺序文件的打开顺序文件的读操作顺序文件的写操作关闭文件 Close 关闭所有打开的文件Close 文件号 文件号 关闭指定的文件 顺序文件的打开 格式一 Open文件名forinputas 文件号功能 打开已有数据的文件准备读操作示例 Open d TEST1 dat ForInputAs 1 格式二 Open文件名foroutputas 文件号功能 打开文件准备写操作 会清除原数据 示例 Open d test2 dat ForOutputAs 2 格式三 Open文件名forappendas 文件号功能 打开一文件准备追加数据 原文件可有可无 顺序文件的读操作 格式一 Input 文件号 变量列表功能 从打开的文件中依次读取数据赋于各变量 将逗号和换行符作为数据分隔符 格式二 LineInput 文件号 变量名从文件中读取一行数据 直到遇到回车chr 13 或回车换行chr 13 chr 10 为止 格式三 s Input 字符个数 文件号 功能 从以Input或Binary方式打开的文件中读取指定个数的字符串 作为函数返回值 字符可包括标点符号 回车 空白等 示例 MyChar Input 1 1 从 1文件中读取一个字符赋给MyChar变量 顺序文件的写操作 格式一 Write 文件号 表达式表 功能 将各数据项写入文件中 自动以逗号作为数据分隔符 且对字符串数据加双引号 示例 Write 6 zhang wang li Write 6 78 99 67则文件中的数据存储形式为 zhang wang li 78 99 67 格式二 Print 文件号 表达式表 功能 按Print格式打印的各数据项写入文件中 不自动加任何分隔符示例 Print 1 zhang wang li Print 1 78 99 67则文件中的数据存储形式为 zhangwangli789967 随机文件的基本操作 随机文件的打开随机文件的读操作随机文件的写操作 随机文件的打开 格式 Open文件名forRandomas 文件号 len 记录长度 功能 打开一指定记录长度 0 32K 的随机文件以准备读 写操作 默认记录长度为128字节 随机文件的记录长度可通过Len函数获得 随机文件打开可同时进行读写操作 随机文件的读操作 格式 Get 文件号 记录号 记录变量功能 将指定的记录读到记录变量中 起始记录为 每读一条记录 记录指针自动指向下一条记录 记录号加1 记录号可缺省 表示读取当前记录 但其后的逗号不可省 随机文件的写操作 格式 Put 文件号 记录号 记录变量功能 将记录变量中的内容写到指定记录号的位置 原位置数据被盖 省略记录号时 指插入到当前记录之后 与文件操作相关的函数 FreeFile LOF 文件号 FileLen 文件名 EOF 文件号 获取文件当前读 写的位置 文件操作应用实例 实例6 1 实例6 1 顺序文件的基本操作 实现分析 文件读写操作的实现在读取文件时 可采用LineInput将读取的行信息连接起来暂时保存到某一内存变量以便统一显示在文本框中 LineInput filenum sbuffer buffer s Chr 13 Chr 10 实现分析 考虑程序的健壮性问题 2 避免用户未选取任何文件便进行文件读写操作 可在程序中采用类似于IfLen Cdl1 FileName 0 其中Cdl1为通用对话框名称 的语句来判断是否已选取了文件名 filesize FileLen FileName 获取指定文件名的文件长度Iffilesize MaxlenThen Maxlen为一自定义常量 65535 MsgBox 文件太大了 ExitSubEndIf 1 避免长度超过规定的文件的读写操作 文件操作应用实例 实例6 2 实例6 2 随机文件的基本操作 实例6 2 实现分析 界面设置文件记录类型的定义如何实现记录的添加显示学生信息时的一些细节问题 文件系统控件简介 驱动器列表框目录列表框文件列表框 驱动器列表框 驱动器列表框是供用户操作计算机中各驱动器的一个下拉式列表框 主要属性是Drive 该属性不能在设计状态时设置 只能在程序中被引用或设置 Drive属性的设置方法 对象名 Drive 驱动器名 例如 DriveList1 Drive e 目录列表框 目录列表框显示当前驱动器的目录结构及当前目录下的所有子目录 供用户选择其中的某个目录作为当前目录 在目录列表框中 鼠标双击某个目录便可显示该目录下的所有子目录 目录列表框最常用的属性是Path 该属性用于设置或返回当前目录的完整路径 只能在程序中使用 不能在设计阶段设置 目录列表框的最重要事件是Change事件 当用户改变了目录列表框的当前目录后便激发该事件 文件列表框 文件列表框的主要属性有 1 Pattern属性 设置显示文件的类型 如 bmp 可用分号分隔多种类型 2 FileName属性 用于返回某个选定的文件名 但不包括文件路径 3 Path属性 返回或设置文件列表框的当前路径 4 ListCo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2019年党建知识竞赛简答题题库及答案
- 2025年国内贸易买卖合同范本下载
- 2025合伙权益解决方案合同协议书
- 2025中国建设银行贷款合同范本
- 2025合法的服装分销合同协议
- 2025年农村果园承包合同范本
- 2025云端存储合同范本
- 企业安全培训巡查课件
- 2022年五险一金培训
- 超声监测眼晶状体变化-洞察及研究
- 《绿色建筑概论》整套教学课件
- 常用急救药品的剂量与用法课件
- 《高级计量经济学》-上课讲义课件
- 塔吊基础-专项施工方案
- 《工贸行业重大安全生产事故隐患判定标准》解读课件
- 《农产品质量安全》系列讲座(第一讲-农产品质量及安全)课件
- 第二届中国管理培训生项目现状与发展调研报告
- 托业考试Toeic考题
- GB∕T 10429-2021 单级向心涡轮液力变矩器 型式和基本参数
- 电信市场营销试题库
- 资产评估质量保证措施
评论
0/150
提交评论