您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 《VisualFoxPro9.0项目开发案例教程》第02章
第二章VisualFoxPro9.0应用技巧本章通过若干实例介绍软件开发中涉及到的一些常见技巧,主要包括数据输入、数据查询、数据输出、与Excel交互、使用图形、工具栏、进度条等内容。第二章2.1数据输入2.1.1中英文自动切换原理以文本框或组合框为父类新建一个子类,同时为这个新建的类添加一个属性,根据此属性的值分别调整imestatus()函数的值为0或1,以此来控制系统的输入法状态。第二章2.1数据输入2.1.2组合框的记忆选择原理对组合框的每一次选择都作以记载,把选择的值存储到公共变量中,并把此变量的值保存到内存变量文件里。这样,每次进入组合框时从内存变量文件中恢复保存的变量,就可以记忆以往的选择,从而提高操作效率。第二章2.1数据输入2.1.3编辑框中实现自动更正的方法原理1、把word的自动更正资料库文件mso.acl中的汉字词组正误信息转换为.dbf文件2、对允许输入汉字的控件的Keypress事件编写代码,对输入的汉字词组在资料库中进行校验,自动把错误的词组转换为对应正确词组。第二章2.1数据输入2.1.4VFP智能感应的二次开发VFP从7.0版开始增加了智能感应(IntelliSense)功能。当我们输入命令缩写及空格后,命令会自动扩展。输入函数名及左括弧、对象名及点之后,系统会自动提示相应的参数、属性、方法名等供选择。原理智能感应的所有内容及方案都在一个表中定义,表的文件名默认为foxcode.dbf,在系统变量_foxcode中存放。修改或扩展这个表的内容就可以改变智能感应的内容。第二章2.2数据查询2.2.1热点跟踪和悬停效果在一个表单的各个控件之间进行焦点的转移时,控件能够在鼠标滑过的时候突出显示,实现的既是热点跟踪的效果。原理1、利用SpeciaEffect属性设置热点跟踪效果2、用_mouseoverfx类突出显示效果3、利用MouseEnter和MouseLeave事件进一步设置动态效果4、对Grid的记录进行控制第二章2.2数据查询2.2.2系统的查询类及其应用原理1、VFP提供了进行查询的类库(_dataquery.vcx),应用其中的类_qbf,可以在表单的文本框中输入查询条件并显示查询结果。所有用于显示字段内容的文本框都可以用来输入相关的查询值,使用起来简单方便。2、利用了事务回滚技术第二章2.2数据查询2.2.3用VFP设计数据表结构浏览器原理利用COPYSTRUCTUREEXTENDED命令生成一个数据表的结构描述文件,并把结构描述文件的前四个主要字段送给表格控件作为数据源,从而实现在一个交互界面中随意选择表文件进行结构浏览第二章2.3输出报表2.3.1VFP9.0中的多细节带区VisualFoxPro9.0的新增功能:执行多细节带区功能,实现一对多关系打印。通过打开报表设计器的属性窗口,单击OptionalBands选项卡中的Add按钮添加一个细节带区到列表中。在建立多细节带区报表时,应当按一对多关系中的父表的某个具有惟一值的字段进行分组。第二章2.3输出报表2.3.2在报表中实现每页打印指定记录数原理可以采用数据分组的方法来实现每页打印指定记录数,而数据分组则可以使用临时表或设置报表变量的两种方法实现。使用临时表的方法设置一个局部变量DetailNum的值为每页打印的记录数,根据它对记录分组,形成分组号保存到自定义字段别名GroupCount中,把所有记录的分组号以及原有字段内容保存到临时表Temp2,作为报表的数据源。第二章2.3输出报表2.3.2在报表中实现每页打印指定记录数使用报表变量的方法数据环境的Init事件定义一个全局变量tobePrint,保存每页要打印的记录数。新建两个报表变量nCount和nGroup。nCount用于统计已经打印的记录个数。nGroup的值来自一个表达式,表示当前记录已经满足一页最大打印记录数时,则用于代表页码的变量nGroup就会增加1。第二章2.3输出报表2.3.3在VFP中处理JPG文件原理不将图像文件保存到GENERAL型字段中,而是把图像文件保存到一个二进制的Memo型字段,当需要显示图像时,则将该二进制Memo型字段的内容输出到一个临时文件中,然后再将临时文件名赋给Image控件或OLEBound控件对应属性来显示图像。第二章2.3输出报表2.3.3在VFP中处理JPG文件将图像文件保存到二进制Memo型字段中的ftom函数;将二进制Memo型字段中的图像保存到一个外部文件中的mtof函数。第二章2.4其他技术2.4.1表单Grid容器中控件的动态增删及属性设置原理1、用AddObject(zd,'Column')方法在表单的Grid1容器中添加一个“列”控件(文本框),以zd的值(选取的字段名)为控件名。2、然后,设置控件的属性。包括宽度(Width)、可见性(Visible)、控制源(ControlSource)、列标题(Header1.Caption)等。第二章2.4其他技术2.4.2工具栏的制作原理1、如果不脱离VFP系统环境(应用程序扩展名为APP),可通过定制工具栏或“object.show”指令,来使用VFP系统提供的各种工具栏。2、利用VFP系统提供的一个工具栏类tbrEditing来创建工具栏,位于…\Samples\Classes\Samples.vcx类库中,可用于任意程序。3、指定工具栏停放位置的命令ToolBar.Dock[nLocation[,X,Y]]第二章2.4其他技术2.4.3进度条的实现原理1、使用ActiveX控件实现进度条选定表单控件工具栏的ActiveX控件,在表单上添加一个MicrosoftProgressBarControlVersion6.0控件,并设置其Max属性值,反映查询的最大次数。2、使用_thermometer类实现进度条_thermometer类位于“……\MicrosoftVisualFoxPro9\Ffc\_therm.vcx类库中,基类为Form,该类用于提供一个标准的进度显示。第二章2.4其他技术2.4.4VFP与Excel交互在VFP中控制Excel操作利用CREATEOBJECT(Excel.Application)命令生成excel对象,然后利用对象变量设置Excel的各项属性及其复制数据。在VFP中获取Excel数据利用APPENDFROM文件名TYPEXLS命令从EXCEL文件获取数据。
本文标题:《VisualFoxPro9.0项目开发案例教程》第02章
链接地址:https://www.777doc.com/doc-2865035 .html