首页 > 范文大全 > 正文

VB窗体的自动生成

开篇:润墨网以专业的文秘视角,为您筛选了一篇VB窗体的自动生成范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:提出了一种依据数据表或数据字典自动生成vb窗体的方法,它能够大大提高系统的开发效率,更进一步节约人力资源成本。

关键词:VB;数据表;数据字典;窗体

中图分类号:TP311 文献标识码:A文章编号:1009-3044(2010)19-5273-02

VB(Visual Basic)的可视化环境为设计工作带来很大的便利,但在特定情况下也有其局限性,当要依据某数据库的某张表来设计窗体界面时,如果窗体中要添加表中的项很多,那么手工添加的工作量必然很大,而采用VB自身提供的窗体设计向导,很多时候有不符合实际需要。

1 建立数据字典

如表1所示建立数据字典。

其中,控件类型代码为:0-文本框、1-标签、2-单选框、3-复选框、4-组合框、5-命令按钮等。根据需要自己设定,一般跟数据表相关的窗体中,文本框和标签使用得最多。当然,完整的数据字典比这个复杂,这里只列出了与本文相关的部分内容。

2 窗体代码分析

首先,要研究VB系统本身产生的窗体代码特征。如图1中窗体的文件是Form1.frm,用文本编辑器如记事本打开这个Form1.frm文件,看到如下代码。

1) VERSION 5.00

2) Begin VB.Form FormName

3) Caption = "窗体标题"

4) ClientHeight= 1305

5) ClientLeft= 60

6) ClientTop = 345

7) ClientWidth = 3030

8) LinkTopic = " FormName "

9) ScaleHeight = 1305

10) ScaleWidth = 3030

11) StartUpPosition = 3'窗口缺省

12) Begin VB.TextBox Text1

13) Height= 345

14) Left= 975

15) TabIndex= 1

16) Text= "文本框"

17) Top = 405

18) Width = 1545

19) End

20) Begin VB.Label Label1

21) AutoSize= -1'True

22) Caption = "标签"

23) Height= 180

24) Left= 285

25) TabIndex= 0

26) Top = 450

27) Width = 360

28) End

29) End

30) Attribute VB_Name = "FormName"

31) Attribute VB_GlobalNameSpace = False

32) Attribute VB_Creatable = False

33) Attribute VB_PredeclaredId = True

34) Attribute VB_Exposed = False

这个代码段可以分成三个部分,每个部分以Begin开始,End结束:

窗体头:包含1-11行。其中第1行为版本号;第2行中的FormName为自定义的窗体名;第3行为指定的窗体“标题”信息;第4-11行是窗置、大小、窗口状态等信息;其中第8行是指关联窗体项,可设置成与窗体同名,也可省略。

控件部分:包含12-28行。其中第12-19行是文本框控件,其名为“Text1”,内容为“文本框”;第20-28行是标签控件,其名为“Label1”,标题为“标签”。

窗体尾:包含29-34行。其中,第28行的End表示窗体的结束,第30-34行为VB窗体的一些附加属性。

3 生成窗体文件

通过文本编辑器软件可以打开窗体文件可知:使用VB可视化环境设计的窗体,保存后的窗体文件(.frm文件),其内容实际是文本文件。因此,要想自己设计代码来自动生成窗体,可以逆向进行,按照窗体文件内容的格式生成文本文件,并以“.frm”的文件扩展名保存。

依据第2部分的分析,构建三个文本文件:①窗体头.txt、②控件部分.txt、③窗体尾.txt。其中③的内容对于绝大多数的窗体来说是固定不变的。对应不同的窗体,变化的只有前两个部分。

3.1 “窗体头.txt”文件的生成

把上代码段中的第1-11行中的每一行内容作为字符串,按行依次写入“窗体头.txt”文件中。其中,需要把“FormName”的内容换成新指定的“窗体名”。

3.2 “控件部分.txt”文件的生成

数据表相关的窗体中,控件一般是与数据表或数据字典中的项息息相关的。这样,在设计数据字典时就有意识地附加上控件的相关信息。参照表1的数据字典,可以依次按行产生一个标签(标签的标题为“字段中文名”)和一个文本框(文本框的Name属性为“txt+字段英文名”)。然后分别把第2部分的第12-28行(分别为标签和文本框控件)重复写入“控件部分.txt”文件。至于标签和文本框的其它属性可以根据需要自行指定,也可以事先设计标签和文本框的模板,如图2所示。新加入的标签和文本框控件的属性,依据模板中标签和文本框的属性而定。

3.3 生成窗体文件

最后把生成的窗体头.txt、控件部分.txt和窗体尾.txt这三个文件合并成一个文件,并以“.frm”作为扩展名保存该文件即可,如新窗体.frm文件,如图3。

4 将窗体加入指定工程

用文件编辑器软件打开VB工程文件,研究下VB工程文件的结构,就可以按照上述方法同样可以把任意窗体文件加入到任意指定的工程中,还可设置窗体间的父子关系。

5 结束语

依据数据表或数据字典可以方便地自动生成VB窗体,这大大提高了工作效率,缩短软件界面的设计时间。实际上,根据一个系统的数据库或数据字典集,可以自动生成系统的绝大多数的初步界面和一些基本的数据操作代码,从而达到整个系统的自动初步实现,也即软件自动生产的概念,这将是下一步的工作目标。

参考文献:

[1] 李罡.Visual Basic5.0 编程实例详解[M].北京:电子工业出版社,1998.

[2] Balena F.Visual Basic 6.0编程技术大全[M].北京:机械工业出版社,2000.

[3] Brown S..Visual Basic 开发指南――Win32 API篇[M].李凤华,陈立志,李冬冬,译.北京:电子工业出版社,2000.