APP下载

使用记录文件代替数据库实现简单数据库管理

2012-09-04常贵林

天津职业院校联合学报 2012年11期
关键词:管理程序控件菜单

常贵林

(天津城市建设管理职业技术学院,天津 300134)

一、引言

在实际管理应用时有很多情况是需要简单、易于维护和使用,并且在数据量不是非常庞大、功能不是非常繁琐的情况下,可以不使用任何数据库引擎,只使用最简单的记录文件来达到实际需要。通讯管理程序就是最标志性的例子,并且也是最简单的信息管理方法的应用。在日常生活和工作中,通讯信息管理经常会被用到,随着社会的进步,人们的联系方式的不断增多,联系人群的不断扩增,用笔写或脑子记都远不能满足需要,因此通讯管理软件应运而生。然而如此简单的应用若利用数据库引擎开发绝对是大材小用,因此我编写了一个利用记录文件来实现应用的通讯管理程序。该程序只需具有VB6动态链接库的Windows环境下就可使用,不需任何数据库引擎,程序简洁、易于使用。下面就以该通讯程序为例,谈谈其开发过程和所涉及到的问题及解决方法。

二、设计思路

⑴编程环境

今天,计算机已经被应用于许多领域,计算机应用之所以如此流行的原因主要有以下几个方面:

首先,计算机可以代替人工进行许多繁杂的劳动;

其次,计算机可以节省许多资源;

第三,计算机可以大大的提高人们的工作效率;

第四,计算机可以使敏感文档更加安全,等等。

我们现在就是利用计算机来管理通讯录,以此来给我们的生活和工作带来一点点便利。

该程序的开发主要应包括记录输入和记录查询两个大方面。对于前者要求建立起数据完整性强、数据安全性好的库。而对于后者则要求应用程序具有功能完备,易使用等特点。综合以上要求,我们使用最简单的编程语言VB6.0作为开发环境,采用记录文件作为存放信息的库文件。微软公司的Visual Basic6.0是当前比较流行的编程工具,由于该编程工具简单易学,尤其是刚刚涉及软件开发的人员容易掌握,因此在许多软件开发中被广泛使用,并且功能也比较强大,成为几个比较流行且经典的编程环境之一。由于VB6.0提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,VB6.0是实现本系统的一个相对较好的选择。

VB6.0应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。开发人员可以最有效的利用所创建的每一个对象,使应用程序具有可通用性和强有力的功能。

VB6.0的应用由一系列对象组成,包括有函数、菜单、数据窗口、用户对象、用户事件等等,对象中又包含若干控件,如命令按钮、文本框等,这些对象和控件都可在许多应用中重复使用。

⑵ 程序主要流程框图

三、功能实现与解析

⑴主程序界面

我们利用VB6.0简单方便的控件组成主程序界面,并根据实际需求设计成比较小巧的窗体。如下图所示:

图1 程序主要流程框图

图2 主程序界面

⑵菜单选项

菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护,VB6.0也提供了强大的创建菜单功能使程序更加标准。本人在此程序中定义了三个大菜单项:退出、编辑、关于。其中编辑菜单项里又包含有:新增、修改、删除、保存、查找等子项。同时为了美观,该程序中使用了袁飞.net菜单控件,使菜单具有XP风格。

⑶工具栏

Toolbar是工具条控件,是实现工具条的主体。其中的按钮可以显示图像和标题,并按功能分组或加入分隔符,还可以设置鼠标停留在其上显示的提示字符。

由于此程序功能比较少,因此所有的操作都在工具栏中有相应按钮,这样,实际操作起来就比较方便和快速。

⑷文本框与图片框

各种信息,比如姓名、电话等都需要在界面上显示出来,在此程序中使用了文本编辑框作为显示和编辑的载体,并且为了输入方便,应该设计有通过回车将输入焦点自动下移的功能,因此通过控件的SetFocus方法来实现。

在此程序中,还提供了显示照片的功能,一方面,在主界面上设计一个Image控件用来显示照片缩略图;另一方面,当使用者想看照片放大后的原样时,可以通过双击主界面上的照片触发另一个显示窗体的出现,在这个显示窗体中使用Picturebox控件来显示照片原样,并且在双击显示窗体后关闭显示窗体,使主界面重新获得焦点。这些都可以在控件的DblClick事件中加入相关代码即可,详见附录中的程序源代码。

⑸帮助

专业水平的软件通常都带有联机帮助功能。无论写出来的程序是要给大量的用户使用,还是仅仅局限于公司内部有限的使用者,我们都应该为用户提供详细的、易于理解的联机帮助文档,以便于用户在遇到问题时可以在软件运行过程中帮助解决。Quick CHM就是用来创建运行于32位Windows操作系统下的帮助文件的工具软件,使用它我们可以为我们编写的应用程序生成一组帮助文件。在这里,本人利用它制作了在通讯管理程序中用到的基本功能的帮助文件。

⑹程序的关键应用—记录文件

数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机中的数据库大体可以分为两大类:非关系型数据库和关系型数据库。

虽然使用数据库方法功能强大,但软件的正确设计应该是所用到的方法是否真正适用于该软件,应该在能够完成所有功能的前提下,选择编程最精简、使用最方便快捷的方法。因此在本人所编写的通讯管理程序中,使用记录文件存储所需的所有数据,完全不需任何数据库引擎,从而取代数据库方法。

所谓记录文件就是该类文件包含某一特定记录类型的数据(在此程序中是自定义的记录类型)。由于记录文件的结构已经由定义它的数据类型所确定,故写记录文件和读记录文件就比较简单而且迅速,尤其适用于通讯管理这样的简单信息管理程序中。

下面是此程序中定义的类型结构和注释:

该类型中定义了一个通讯记录的所有信息,包括此人的姓名、家庭电话等等。

在VB6.0中操作记录文件的方法和操作其它类型文件的方法基本相同,下面是程序中用到的主要操作记录文件的方法:

打开文件

Open指定文件名For指定文件方式As文件号Len=记录长度

写文件

Put文件号,记录号,数据的变量名

读文件

Get文件号,记录号,数据的变量名

关闭文件

Close文件号

其中的文件名必须是带有完全路径的文件名,该程序用来存放数据的记录文件名是Tellbook.dbf,放在运行目录下;文件方式均采用Random(随机)方式;文件号是从1-511的有效数字文件号,在程序中使用FreeFile自动得到下一个有效文件号;记录号是指明在此处开始写入的位置;数据的变量名则是程序中所定义的TellType类型的变量。

操作文件必须首先打开文件,等进行读写操作完毕后必须还要关闭文件。

⑺新增一个记录

为体现人机交互,让程序运行时首先判断目录中是否有Tellbook.dbf文件,因此在程序首次使用时,会提示是第一次使用的信息。为了让程序知道何时处于增加和修改,以便于进行其它操作时提示是否存盘(这样会更加人性化),因此当我们开始增加通讯信息时,首先要选择“新增”,同时将全局变量Save_flag置为False,以便告诉程序现在开始准备写入数据,没有存盘,并且将所有文本框的Locked属性置为False(程序启动时会将所有文本框的Locked属性置为True,此时不能响应键盘输入),当输入完数据后,会等待使用者去选择保存,并当使用者操作其它且没有保存时,程序通过MsgBox提示是否要保存,并在“保存”的代码中写记录文件,将所增加的一组信息保存到文件中。

⑻修改一个记录

设计思路与新增记录是一样的,当用户通过查找或翻阅找到欲修改的记录时,通过选择“编辑”,在相关代码中将Save_flag置为False,并且将所有文本框的Locked属性置为False,待编辑修改完毕后,所有的操作都和新增记录时一样。

⑼删除一个记录

任何程序在进行删除操作时,一般都会有确认提示,在该程序中也不例外。首先,会通过MsgBox显示确认窗口,当用户确认后才进行删除操作。删除方法是在打开记录文件的同时,再建立一个临时记录文件,逐条判断不是所需删除的记录就向临时文件里复制,遍历完整个文件后就完成了删除操作。最后使用FileCopy和Kill方法将临时文件替换为程序所需的记录文件。

⑽查找

这是任何管理程序所不可缺少的部分,查找方式多、速度快、界面好是使用者所需要的,更是任何信息管理程序所必需的。因此在这个程序中,为了查找方便,提供了按姓名、手机、家庭电话、单位电话等四种查询方式,基本满足了一般查找方法。

当使用者选择查询方式时,会将标志To_find_type置相应数值,并在查找过程Find_pepole中根据不同方式进行查询,找到该记录后,将相应记录在主界面上显示出来。

四、结束语

经过仔细的考虑和一段时间的调试,通讯管理程序基本开发完毕。其功能基本符合使用需求,能够完成通讯管理所需的基本功能,并使用安装制作工具Setupbuilder制作了安装文件,以便适用于没有安装VB的环境使用。虽然该程序比较简单,但从侧面体现了信息管理程序所需的一些思路和开发软件的基本步骤,并展现了通过记录文件来代替简单数据库进行数据化管理的方法。

[1]Bob Reselman,Richard Peasley,Wayne Pruchniak.Visual Basic 6.0使用指南[M].电子工业出版社,2005.

[2]黄淼云,张学忠,王福成.Visual Basic控件高手出版社[M].北京希望电子出版社,2001.

猜你喜欢

管理程序控件菜单
军事保密管理程序法治化及其对军民协同创新发展的促进研究
基于.net的用户定义验证控件的应用分析
中国新年菜单
关于.net控件数组的探讨
网络数据库安全检测与管理程序的设计实现研究
本月菜单
浅谈核电工程电气工程质量和安全的精细化管理
一个“公海龟”的求偶菜单
宁德核电管理体系建设与优化
基于嵌入式MINIGUI控件子类化技术的深入研究与应用