机动车驾驶员管理系统
摘要
《机动车驾驶员管理系统》的主要功能是为学习机动车驾驶的学员建立详细的个人档案,并可以通过已经建立的学员档案进行查询和统计。该系统是由“学员登记”模块、 “记录查询”模块、“综合统计"模块三大模块组成的.各个模块又根据自身的特点分为若干小的模块。其中最为主要的模块“学员登记"又分为:“基本信息”、“学习信息"; “新增、保存和修改”;“记录查询"模块分为“按姓名查询"、“按身份证号码查询"以及“模糊查询”组成,综合统计提供数据的综合统计以及打印报表.这三大模块是整个系统的核心组成部分。用三大模块就可清楚的掌握有关学员姓名、年龄、家庭住址、身份证号码等等的基本信息,了解学员对学习驾驶的基础条件如:学习种类、原证车型、学习车型等各方面的信息.
  在设计本管理系统的过程中得到了于倩老师的指导,使大家对该课题有了更加深入的了解,在设计方法上也避免了绕弯路,取得了事半功倍的效果。通过段学霞老师的辅导,针对该管理系统查阅了大量有关资料,对系统的开发、设计和综合调试打下了坚实的基础。
《机动车驾驶员管理系统》这个课题通过大家的努力,克服了一个又一个的困难,经过测试、验证,已取得了预期的成果。由于时间等方面的原因,难免会出现不妥之处,期待老师和广大用户提出宝贵的意见和建议,共同促进该系统的完善。
第四章  系统规划
4。1 总体思路
    根据如上分析,对于设计《机动车驾驶员管理系统》系统的大体思路是:设计这个系统可以向用户提供如下几项功能:驾驶员信息的添加、删除、以及按照不同的条件进行检索、查.
    该系统需要能够满足各种类型的数据需求,能够生成一些固定格式的报表及一些随机性的报表.
根据实际工作要求大体可以确定以下方案,即该系统可分为四大功能模块.将其设置成菜单放在该系统的界面上。主要有登记、基本操作、记录查询、综合统计、系统维护、帮助和退出.这个菜单在整个系统中起着非常重要的作用。一个好的菜单系统会给用户一个友好的用
户界面。而一个菜单栏下还会有多个菜单项。如基本操作菜单下包括新增、保存和修改;记录查询又分为按姓名查询、按身份证号查询和模糊查询等。
4.2  设计步骤
总上所述,《机动车驾驶员管理系统》系统的整个设计步骤大致为:
1)按照系统的功能程序模块,画出系统总体框图。
2)分析本系统管理的信息由哪几种类数据组成,明确至少需要几种数据库,定义数据库表结构.见数据库表.
3)根据程序的功能画出功能模块流程图.
4)检查程序框图有无错误,若没有错误,便可动手分模块编写子系统.
5)程序编写完成后,对各模块进行单独调试,以检查各模块功能是否符合设计要求,在各模块调试通过后,可进行联调。
流程图:                口令:
                                    清除数据:
初始化

第五章 具体程序设计
    窗体和控件已设置完成,系统的运行还需要进行代码的编制。下面就详细介绍一下编程的过程:
1、在一个程序代码的设置之前,首先要对用到的变量进行声明,在Visual FoxPro中是用PUBLIC语句。例如在查询模块中需要对一些变量进行声明.比如
public ctesta,ctestb,ctestc,ctestd,cteste,ctestf
2、查询必须按照一定的要求进行,因此需要建立索引,VF使用索引来使数据相关,作为排序机制,为开发应用程序提供灵活性和功能.根据应用程序的要求,可以灵活地对同一个表创建和使用不同的索引关键字,使之可按不同顺序处理记录。也能根据这些索引创建自定义
表间关系,使能准确地访问想要的记录。例如在查询模块中需要按“身份证号”来进行查询,则可以定义如下:   
*    set order to tag '身份证号’
        scatt memvar
    ……
在编写程序时:
机动车网上自编自选系统第一步:在硬盘上建一个目录,我在C盘下建了一个ga目录.
第二步:启动foxpro系统,建一个项目管理器,存在上面的目录里.
第三步:系统分析
系统分析内容
1.本软件具有以下主要功能:
o登记功能
登录驾驶员的有关信息及收费情况。
o基本操作
新增(快捷键F1)
保存(快捷键F2)
修改(快捷键F3)
o记录查询
按姓名查询(快捷键F5)
按身份证号查询(快捷键F6)
模糊查询 (快捷键F12)
o综合统计
o系统维护
o帮助
o退出
2.系统数据库
建立两个数据库,一个存储学员的信息,一个用来统计数据。
第四步:编制菜单。
选择项目管理器中的“其它”;
1.选择其它中的“菜单”;
2.按“新建”→“菜单”,进入菜单设计器,做主菜单,在菜单名称中分别输入“登记”、“基本操作"、“记录查询”、“综合统计”、“系统维护”、“帮助”和“退出”.
3.创建子菜单:进入“基本操作”子菜单,按后面的“创建”按钮,创建新增,保存,修改三个子
菜单.按此方法建立其他菜单命令。
4.保存,文件名仍然是“main”,扩展名为“mnx”,保存在与项目管理器一致的目录里;
5.生成菜单程序。
6.关闭,即退出菜单设计器。
第五步:编制数据库及表。
选择项目管理器中的“数据";
1.选择数据中的“数据库”;
2.按“新建”,按数据库设计器工具栏上的“新建表”按钮。
3.按“新表”,输入新表名(学员库.dbf,扩展名可以不输入),按“保存”,
4.按照上面系统分析中的数据表结构输入有关的结构。
5.建立索引。
6.“确定”以后出现对话框询问“现在输入数据记录吗?”,可以选择“是”与“否”。
7.关闭数据库设计器。
这样该软件所要用到的数据库和数据表就编好了.
第六步:编制各功能模块.
1.首先编制登录模块.
2.登记,使用命令do form pass,调用操作员登录界面。
在登记中为了简化操作员的工作量,程序中加入了以下程序
local nnl,csfzh
csfzh =allt(thisform。txt身份证号。value)
if len(csfzh)=15
nnl =ctod(substr(csfzh,9,2)+"/”+substr(csfzh,11,2)+"/"+substr(csfzh,7,2))
  thisform。txt出生年月.value =nnl
  年龄.value =year(date()) -year(nnl)
        if val(substr(csfzh,15,1))%2 〈> 0
      性别。value ="男”
        else
        thisform。txt性别.value =”女" 
      endif
  else
    if len(csfzh)=18
      nnl =ctod(substr(csfzh,11,2)+"/"+substr(csfzh,13,2)+"/"+substr(csfzh,9,2))
      出生年月.value =nnl
      年龄。value =year(date()) -year(nnl)
        if val(substr(csfzh,17,1))%2 〈〉 0
        thisform。txt性别.value ="男"
        else
        thisform。txt性别.value =”女” 
      endif
    endif
endif
使用这段程序方便识别驾驶员的身份证号,并根据身份证号自动输入出生年月日以及性别、年龄,还可以根据身份证前六位数自动输出驾驶员户口所在地。
3.基本操作:选择子菜单,给每个子菜单加入命令,分别是ss。command1。click,ss。co
mmand10。click,SS。COMMAND7。CLICK。 同时都设有快捷键,主要也是为了减少操作员的工作量,在使用操作中,可以最少量的应用鼠标,提高工作效率。
4。记录查询:选择子菜单,分别加入SS。COMMAND3。CLICK,SS.COMMAND9.CLICK,do form mhcx命令。
5。综合统计:加入命令DO FORM TJ.