博文
类的开发(下)(2007-01-20 12:08:00)
摘要:在Visual Basic 6.0类的技术与应用(上)(以下简称上文)中,我们讨论了类的理论、类的创建和类的方法的编程实践,实际上,类之所以能够在软件工程中广泛应用,最主要的一点是它可以非常方便的封装许多编程需要的属性,这不仅使程序员在一定程度上克服控件(ocx)和链接库(dll)设计和调试中的复杂性,而且能够提高程序代码的简洁和高效性——本文将讨论完整的类的编程,包括方法、属性和基本事件。
(一)类的属性的特征和定义;
类似于标准控件的属性,类的属性允许用户在指定的数据范围内进行赋值,这些值被类内的各个代码部分所共享。属性的获得和传递需要经过 Property Let和Property Get语句进行编程,当然,我们首先需要在类中进行全局或者模块级的相应变量定义。
(二)事件的属性和基本定义;
和窗体的事件类似,类也有两个基本的事件,Class_Initialize(类加载时触发)和Class_Terminate(类卸载时触发),这两个事件都是private的。实际上,我们完全可以忽略这两个事件——只要你记得完善类的方法和属性。
类同样可以定义自己的事件,它和方法的程序编写格式类似,只不过需要WithEvents关键字进行参数声明,而且事件不能有任何命名参数或者可选参数,它也没有返回值。
实际上,结构良好的方法和属性完全可以替代结构复杂的类的事件。
(三)类的方法、事件和属性的编程实例;
本程序的设计目的是,通过类控制窗体中文本框的内容的全部大写、小写和逆向排序转化。
为了方便代码的书写和调用,我在类中引用了枚举的编程方法。
以下代码在类Class1:
Option Explicit
Private WithEvents myTXT As TextBox
'方法的参数接口
Public Enum sTYLE
Lcaseit'小写属性
Lbigit'大写属性
Nlogoit'逆向排序属性
End Enum
'自定义枚举,用来实现属性的自动赋值
Private mvarBiaozhi As sTYLE
'实现枚举常量的连接
Public Function dONE() As String'
'DONE方法用......
SET DEFAULT 命令(2006-12-14 22:42:00)
摘要:SET DEFAULT 命令
设置隐含的驱动器及目录。
设置了隐含的路径,我们可以在程序运行打开每个隐含路径下的文件时不用再指定路径了。
语法
SET DEFAULT TO [路径]
参数说明
路径:可以是符合操作系统要求的任何路径,比如:
set default to d:\soft\rsgl
set default to \
set default to ..
注意
如果路径中带有空格,必须用引号将路径括起来,否则会出错。比如:
set default to "d:\soft\rsgl 佳帆"
示例
当我们的程序在运行时,一般我们都需要知道该程序运行所在的目录,因为往往许多数据也是放在这个目录下,我们不能指定一个绝对的路径,因为程序编好后可能拿到另一台电脑上用,其路径可能发生变化,一旦变化便找不到所需要的数据文件了,因此我们必须有一种方法获取其当前所在的路径,有一种办法是这样:
cxlj=sys(5)+sys(2003)+'\'
这在程序编译成独立 EXE 文件时运行是对的,但在 VFP 系统中运行 PRG 程序却不对,它返回的是 VFP 所在的目录,为了解决这个问题,可采用如下程序:
CXLJ=SYS(16) &&获取当前运行的程序名及其所在路径
FOR JSQ=1 TO LEN(CXLJ) &&用一个循环找出最右边一个反斜线,将其后的程序名去掉,只剩路径
CXZF=LEFT(RIGHT(CXLJ,JSQ),1) &&从 CXLJ 的右边依次取出每个字符
IF CXZF='\' &&查看这个字符是不是反斜线
CXLJ=STUFF(CXLJ,LEN(CXLJ)-JSQ+1,JSQ,'') &&如果是,就将反斜线之后的字符全删掉并退出循环
EXIT
ENDIF
ENDFOR
SET DEFAULT TO "&CXLJ" &&用宏替换设置隐含......
如何创建一个简单的上下文 HTML 帮助文件(2006-12-14 22:35:00)
摘要: HTML Help Workshop 是一个具有易于使用的图形界面来创建帮助项目文件及主题文件,目录文件,索引文件以及所有你需要放到帮助文件中或网站中的文件的帮助写作工具.
注意: 你可以从 VFP 6.0 或 Visual Studio 6.0 光盘上的 HtmlHelp 目录中运行 HTMLHelp.exe 来安装 HTML Help Workshop.
添加相应号码到 HELPCONTEXTID 属性你的 Visual FoxPro 项目中的你想关联到帮助主题的各控件. 例如, 如果你想给一个表单上的三个控件关联帮助, 分别设置它们的 HELPCONTEXTID 属性为 1, 2 和 3.
为你的帮助系统创建主题文件. 这些是普通的 HTML 文件. 你可以在任何 HTML 编辑器中或 HTML Help Workshop 中创建它们. 控件的每一个 HELPCONTEXTID 号代表一个主题. 为每一个你想包含到你的帮助系统的主题创建一个文件.
创建一个映象文件. 你可以用文本编辑器, 如写字板, 来创建该文件. 映象文件是一个 C Header 文件, 它映象调用应用程序发送的 HelpContextId 为用于帮助编译器的常数. 映象文件是一个文本文件并可能包含象下面这样的信息: #Define TOPIC1 1
#Define TOPIC2 2
打开 HTML Help Workshop 并创建一个新的帮助项目. 一个向导指引你如何添加 HTML 文件到项目中.
使用 HTML Help Workshop, 打开在第四步中创建的项目. 单击 HtmlHelp API information. 单击 Map 标签, 并单击 Header File. 选择在第三步中创建的 header 文件.
在 HtmlHelp API information 对话框中, 单击 Alias 标签. 单击 Add, 并在 "Whenever This Constant or number is passed to the HTMLHelp API" 下的文本框中打入传递到 HtmlHelp API 的常数或数字(例如, TOPIC1).
在 "Use it to Refer ......