基于Visual FoxPro9.0 的船员培训管理系统开发*

2010-09-07 10:10韩开封
武汉船舶职业技术学院学报 2010年2期
关键词:视图报表船员

韩开封

(浙江国际海运职业技术学院,浙江舟山 316000)

航运业的发展加大了对高素质船员的需求,船员培训是打造高素质船员队伍的一条捷径。各种各样的船员培训项目已成为交通运输部海事局认可的船员强制培训项目。就目前一个普通的500 总吨及以上的驾驶员来说,如果他要上船工作就需要经过“熟悉与基本安全”、“精通艇筏”、“高级消防”、“精通急救”、“雷达观测与模拟器”、“自动雷达标绘”、“GMDSS 通用操作员”、“适任评估”和“适任考前”培训。这还不包括在担任驾驶员以前的“值班水手考前培训”、上特种船舶强制要求的一些特殊培训项目和以后每五年一次的知识更新培训。如此多种类的培训和考试很少有船员能一次性全部通过,导致了船员考试次数和人数的大幅增加。面对船员培训过程中产生的大量数据信息,采用普通的OFFICE 软件将无法满足船员培训管理的需要,因此,编制一款合适的船员培训管理软件显得尤为重要。

1 编程语言的选择

在大多数的船员培训机构中一般不可能配备专门编写程序代码的专业人员,而是有许多完成数据处理的工作人员,他们一般不能编写大量的枯燥的代码。Visual FoxPro9.0 采用“面向对象”编程技术的简化版——可视化编程。[1]Visual FoxPro 是关系数据库系统,一直被不同层次的程序员用于设计和开发各种类型的管理信息系统或者进行数据库的维护。它的最大特点是易学、高效、功能强大,特别适用于中小数据库的管理。一般掌握Visual FoxPro 程序设计只需要一周到一个月时间就能开始编程工作。[2]另一方面,海事局船员管理部分数据也存储在FoxPro 中,并且FoxPro DML 是管理这些记录的最好途径。船员培训机构采用Visual FoxPro9.0 来编制培训管理软件是比较合适的。

2 数据的分类

在船员培训开展过程中,产生的数据主要分为以下几类:第一是培训报名中收集到的船员个人信息数据,主要包括姓名、身份证号码、持有的证书、联系方式等。第二是培训教学过程中产生的数据,主要是培训的项目、期数、学号、出勤等信息。第三是培训结束后参加考试的数据,主要包括理论考试成绩、评估成绩。第四是考试合格后取得证书的数据,主要为证书的种类、证书号码、发证日期等。这四方面信息基本反映了一个船员从报名参加培训到考试发证的全过程。除了上述的信息以外,在培训过程中还会产生其它两个方面的数据流。一方面是资金流,包括应收费、代收费和收费时间等数据;另一方面是仓储信息,包括教材的库存数量、发放数量、教材种类、出版社等数据。通过对这些数据的记录和分析,基本能保证培训工作的正常开展和运作。

3 项目和数据库的建立

Visual FoxPro 提供一个高效易用的工具是“项目管理器”,通过项目管理器,用户可以集中地管理数据、文档、类库、源代码等各种资源。[1]利用Visual FoxPro9.0 管理培训数据,首先要用项目管理器创建一个项目文件(培训管理),以后所有的资源都会被加到这个项目文件里来。在项目的数据选项卡中新建数据库,在数据库中添加各种表(图1),最后使用各表中的关键字段在数据库中建立各种关联。根据需要还可以利用现有的表生成一部分虚拟的表,这样一个简单的数据库就基本搭建完成,剩下的事情就是编制已经加入到数据库中的各个二维表。如:在船员培训中一般会有说明培训期数的批次表,在批次表中需要有“培训项目”、“批次号”、“开班日期”、“考试日期”、“承办部门”等字段。把每个字段设成相应的格式。如:开班日期设成日期型,培训项目设成字符型等。船员培训管理系统的数据库结构如图1 所示。

图1 数据库基本结构

4 操作界面的生成

Visual FoxPro 提供的“表单设计器”是一种功能强大的工具,用户能够不编程或使用很少的代码来实现友好的交互式应用程序界面,并可对界面进行控制。[1 ]从船员培训工作的分工看,一般我们会需要一个报名的界面。该界面的数据环境是以培训批次表为父表,船员表与培训表形成的虚拟表(视图)为子表,两者之间由培训批次作为关键词实现关联。在报名界面的设计上由两个表格组成(表格可由表格生成器自动生成),左边的表格与父表对应,右边的表格与子表对应。最后加上一个系统默认的按钮组。当报名表单运行的时候,就可以实现对培训批次的增加或编辑,也可以实现对某一批次培训学员的增加或编辑,并可录入培训学员的部分个人信息及该学员在该批次学习过程中的信息,例如到课、缺课或旷课节数等。该界面实现了报名信息和培训日常管理信息的录入和查找。按照同样的方法以培训批次表为父表,以船员表和成绩表形成的视图为子表,可以实现对培训船员实操评估成绩和理论考试成绩的管理。以培训批次表为父表,以船员表和证书表形成的视图为子表,可以实现对培训船员证书信息登记和发放的管理。以培训批次表为父表,以船员表和收支表形成的视图为子表,可以实现对培训收费及往来款(代收费)的管理。以培训批次表为父表,以船员表和出入库表形成的视图为子表可以实现对培训教材、资料的管理,甚至可以延伸到书包、笔、练习本等学习用品的管理。以上各种功能表单的生成使我们能够方便地查找出某一培训批次的具体情况,而对于单个船员的信息查找还比较麻烦。为实现这一功能,我们可以再生成一个查询表单。该表单的数据环境是以船员表为父表,以选取上述已经生成的各个视图中的主要字段生成一个新的视图,以船员的身份证号码建立关联。然后在查询表单中进行简单的设计,就能以船员的身份证号码、姓名、手机号码或其它信息可以方便地查找出该船员在培训机构中进行过的所有活动。例如什么时间段参加了什么项目的培训,培训期间的学习情况、考试和评估成绩、证书号码及发放日期还包括补考的时间、成绩等。这对培训管理非常实用,大大提高了管理效率和数据准确性。

5 报表和标签的输出

船员培训管理系统的输出主要有报表和标签两种形式。在实际的船员培训过程中我们需要各种各样的表格。船员教育与培训质量管理体系也要求船员培训过程中必须形成相关的质量记录。如果这些表格用传统的WORD 或 来做将是繁琐的,Visual FoxPro9.0 会把这些工作变得非常容易。我们只需通过报表设计器设计好各种表格的模版,在报表的数据环境中加入需要的表或视图并在表(视图)间建立相应的关联,这样系统就能输出规定样式的各种报表了。一般在船员培训过程中我们需要培训船员的花名册、点名册、评估记录表、理论成绩表、成绩汇总表、制证名册、工作单、证书发放登记表等。培训船员的身份卡、准考证、座位标记、学员证和合格证等适合标签类的输出,标签类的设计类似于报表的设计方法。

6 数据共享

为进一步提高培训数据管理的效率,Visual FoxPro9.0 提供了数据的导入和导出功能。这样当遇到输入已经电子化的数据时,只要把它做成规定格式的电子文档(例如EXCEL 表格)就能利用程序的导入功能一次性地将数据导入到船员培训管理系统中,提高数据的录入速度。利用导出功能导出的数据经过稍加制作就可以导入到其它系统进行使用,例如船员无纸化考试系统等。导出的数据还可以制作成临时要用的各种表格,延伸了船员培训管理系统的功能。

7 按钮的制作

为实现程序运行后在各个工作界面(表单)之间的切换或打开、快速地打开某个报表,Visual FoxPro9.0 可以在各个表单上添加不同功能的按钮。例如从报名界面切换到成绩界面,我们只要在报名界面中添加一个按钮,设置该按钮的属性(Caption)为“成绩界面”,在该对象的事件(Click)

中输入:

这样当单击该按钮时,程序就会从原来的报名界面切换到成绩界面。另一种快速打开“成绩汇总表”报表按钮的做法是:设置该按钮的属性(Caption)为“成绩汇总表”,在该对象的事件(Click)中输入:

这样当单击该按钮时,程序就会读取成绩汇总表报表文件,调用系统预览程序,预览报表。通过对这两种按钮的灵活运用,对工作人员带来极大地方便。

8 连编程序

为使编译的程序能独立运行,应打开应用程序生成器,填写最后的一部分信息。例如程序的名称、作者、单位和版本等。最后通过项目管理器进行连编。生成.exe 可执行文件,程序编译完成。

1 刘瑞新,文成林,汪远征.Visual FoxPro 程序设计教程[M].北京:机械工业出版社,2002.

2 李加福,邸雪峰,桂敏文,等.Visual FoxPro6.0 中文版入门与提高[M].北京:清华大学出版社,1999

3 郑 刚.Visual FoxPro6.0 实效编程百例[M].北京:人民邮电出版社,2002.

猜你喜欢
视图报表船员
我国注册船员超170万
闯海盗老巢接船员
LabWindows/CVI中Excel报表技术研究
从三大报表读懂养猪人的成绩单
5.3 视图与投影
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
论船员在海事污染中的刑事责任
月度报表