电信终端计费系统开发  毕业论文_第1页
电信终端计费系统开发  毕业论文_第2页
电信终端计费系统开发  毕业论文_第3页
电信终端计费系统开发  毕业论文_第4页
电信终端计费系统开发  毕业论文_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2电信终端计费系统开发11系统设计111系统功能分析终端计费系统开发的目的是能够实现对不同型号的程控交换机对计费中心定时或即时传下来的原始话单信息进行及时准确的分类、查询、浏览、修改、删除、统计、话单信息的打印等。能够及时查询客户的通话数据,避免引起话费争议,提高客户的满意度。使管理更科学、更方便、更合理。同时,也能够帮助电信计费有关人员提高工作效率和服务质量。为电信局减少不必要的损失。从而有效的提高电信局经济的效益。通过对电信局计费中心日常工作的分析,可将终端计费系统的功能概括成如下方面。(1)号码管理包括固定电话和公用电话基本信息的录入、修改、删除、查找、添加、查询等管理。(2)字冠管理包括固定电话和公用电话地方基本字冠的录入、修改、删除、查找、添加、查询等管理。(3)原始话单管理包话对程控交换传下来的原始话单信息的导入、浏览、删除等管理。(4)费率管理包括固定电话和公用电话基本费率的录入、修改、删除、查找、添加、查询等管理。(5)关于系统对有关系统的简介和对用户的管理(包括用户注册、用户删除、用户修改)。(6)计费统计管理即时计费、定时周期计费、对已统计的计费表的浏览(包括对统计表的删除、删除统计表的字段、对最近操作进行恢复、查看统计表)等管理。考虑系统的安全性,需要对用户进行安全认证,因此还需要实现以下系统用户的管理功能。(1)用户登录认证。(2)用户管理,包括用户注册、删除用户、修改用户信息等(只有高级管理员才有此权限)。(3)登录日志的记录和删除日志(只有高级管理员才有此权限,普通用户只能对数据进行浏览)。112系统功能模块设计根据系统所要实现的功能,按照结构化程序设计的原则将整个系统划分为如图11所示的若干个功能模块。3图11计费系统功能模块图计费系统计费统计系统管理号码管理字冠管理费率管理原始话单关于系统登录日志删除日志用户管理号码添加号码查询号码修改呈码删除字冠添加字冠修改字冠删除费率添加费率修改费率删除话单导入话单删除话单浏览即时计费定时计费话单浏览4113操作流程图根据系统功能模块的划分和计费管理系统的实际工作流程,画出如图12所示的计费管理系统操作流程图。导入图12计费系统操作流程图21数据库设计211数据库需求设计在前面的11节里已经对计费系统操作流程进行了分析,在它的基础上,我们可以列出以下计费管理系统所需的数据项和数据结构。(1)固话表号码、地名、基本月租等。(2)公话表号码、地名、基本月租等。(3)字冠表地名、类型、本地字冠号(4)费率表主叫类型、通话类型、日期类型、费率、首次三分钟等。(5)登录日志工号、登录日期等(6)用户注册工号、密码、密码验证等。212数据库概念结构的设计ACCESS数据库是OFFICEXP软件包中的产品之一,是一个关系数据库(RDBMS),与其他的关系数据库管理系统相比,ACCESS具有简单易学、方便实用等特点,易于开发数据库应用程序。ACCESS通过数据库的方式来处理数据,在ACCESS的数据库中包含了表、表之间关系、查询、报表、宏和数据访问页等对象。其实可以把数据库看成是一个相关对象的容器,创建数据库是使用ACCESS进行数据处理的第一步。在登录认证固话管理公话管理费率管理字冠管理话费统计启动系统计费系统库固话表公话表费率表字冠表即时、定期计费原始话单话单库浏览添加修改删除查找话单库话单库5ACCESS中可使用以下三种方法创建数据库(1)用数据库向导创建数据库;(2)创建空的数据库;(3)用现有文件创建数据库;本系统所采用的数据库就是通过ACCESS(数据库向导)来创建的。而且要创建三个数据库计费系统库、话单库、统计库。213数据库逻辑结构设计从图12计费系统操作流程图,可以看得出要建立六个基本的数据表来存储系统所必备的信息。这六个表分别为固话表、公话表、字冠表、费率表、登录日志表、用户注册表。实际上,还要建立统计表。但统计表的建立是在进行计费时通过程序来完成建立过程的。后面的章节会介绍到关于这方面的内容。六个数据表的结构如表21到表26所示。表21固话表字段名称数据类型ID自动编号号码数字地名文本基本月租数字表22公话表字段名称数据类型ID自动编号号码数字地名文本基本月租数字6表23字冠表字段名称数据类型ID自动编号地名文本类型文本本地字冠号数字表24费率表字段名称数据类型ID自动编号主叫类型文本通话类型文本费率文本日期类型文本首次三分钟货币表25字冠表字段名称数据类型ID自动编号工号文本登录日期日期时间表26用户注册表7字段名称数据类型ID自动编号工号文本密码文本密码确认文本214数据库的创建创建数据库时可以先创建一个空数据库,然后往数据库中添加相应的对象,这是一种较复杂但又非常灵活的创建数据库方法。创建数据库的步骤如下。(1)在ACCESS中执行文件新建命令,出现新建文件对话框。(2)在新建文件对话框中选择新建选项中的空数据库,弹出文件新建数据库对话框;(3)在文件新建数据库对话框中选择保存文件的位置并输入要创建的数据库名称,然后单击创建按钮,出现如图21所示的数据库窗口。空数据库创建完毕。图21数据库窗口8215数据表的创建创建表其实就是创建表的结构,表的结构包括表中每个字段的字段名、字段的数据类型和字段属性,为表中的每个字段设置好字段名、字段的数据类型和字段属性后,表也就创建好了。创建表之前首先需要打开数据库窗口,然后在数据库窗口中通过以下四种方法进行创建(1)通过输入数据创建表;(2)使用表向导创建表;(3)使用表的设计视图创建表;(4)通过导入或链接已有的数据创建新表;一般采用“使用表向导创建表”来创建表,本系统所用到的表大部分都采用此方法来创建表。216数据库版本的转换本系统采用数据控件的形式访问数据库,VISUALBASIC60中的数据控件不支持ACCESS2000以上版本的格式数据库,为了访问数据库,必须将高版本格式的数据库转化为低版本的数据库格式。具体操作如下用高版本的ACCESS打开数据库文件MDB,执行工具数据库实用工具转换数据库到早期ACCESS数据版本命令,输入新的数据库文件路径及文件名,单击确定即可。将数据转换成较低版本后,不能在数据库直接修改数据库中表的结构。如果需要修改,必须将它转换回高版本的ACCESS数据库格式后才能修改,修改完后再转换成低版本格式的数据库。23工程文件及主窗体的创建数据创建完后,下一步就到系统功能的开发和实现。本系统采用中文版VISUALBASIC60来编写,而用DAO作为数据访问的对象。231创建工程文件启动VISUALBASIC60,新建一个工程文件,为工程添加必要的引用对象和部件库,执行工程引用命令,打开引用对话框,在可用的引用列表框中选择“MICROSOFTDAO36OBJECTLIBRARY”。这样工程中就可以使用DAO对象库了。引用对话框界面如图22所示,其中前4项是系统创建工程时自动添加的。9图22引用对话框系统中还需要使用表格来显示数据和插入一个音效来播入一个音频文件,为此需要给工程添加表格部件和音效对象。添加方法执行部件命令,打开部件对话框,在控件选项卡中选择MICROSOFTDATAGRIDCONTROL60OLEDB,在插入对象选项卡中选择音效,然后点击确定按钮,相应的控制件就会被添加到工具箱上。保存工程,工程文件命名为工程1。232主控模块的设计为了提高系统的安全性,用户必须通过登录认证才能使用本系统。程序运行后首先显示的是登录窗体,用户输入正确的工号和密码才能启动主窗体。为了实现这个功能,一种解决办法是将窗体设为启动模块,另一种办法是将启动模块设置为MAIN过程,在MAIN过程中显示登录模块进行登录认证,根据认证结果确定是否显示主窗体。本系统采用的是第一种方法。在工程文件中执行工程工程1属性命令,打开工程1属性对话框,在通用选项卡的启动对象列表框选取FORM1登录模块,单击确定按钮。如图23所示。10图23工程1属性对话框24模块变量241变量的定义在程序中,常用变量来临时存储数据,每个变量声有属于自己的名字和数据,变量的名字简称为变量名,变量的类型决定该变量可存储哪种类型的数据,以及变量作用的范围。全局变量的作用域是整个应用程序。局部变量的作用域只是在过程中可用。在这里我们先介绍本系统设计要用到的一些全局变量,而一些局部变量过程中用到再做介绍。全局变量只能在模块MODULE1中定义,且必须用PUBLIC关键字定义。因此,首先要在工程中添加一个MODULE1模块。添加模块的方法在工程里执行工程添加模块命令,就可以在工程中添加一个MODULE1模块,本系统的MODULE1模块中定义以下变量PUBLICDIRTABLENAMEPUBLICT,STRARPUBLICV判断是否结算过PUBLICGONGHAO,GONGHAO1PUBLICP判断登录级别PUBLICDINGSHIHOURPUBLICDINGSHINAME125登录模块的创建251窗体的创建11执行工程添加窗体命令,给工程添加一个新窗体,窗体的主要属性设置如表27所示表27登录窗体属性属性名属性值说明名称FORM1窗体名称CAPTION登录窗体标题PICTUREBITTAMP窗体背景图片STARTUPPOSITOON2屏幕中心启动后居屏幕的中心252登录窗体实现的功能窗体右上角有日期和时间的显示。“计费系统”标题反复从右向左移动。向文体框输入密工号和密码后,通过过单击“确认”,验证工号和密码有效后,方可进入主界面。同时,如果是试用本系统,系统会提示只能试用4次,超过了第4次,就无法再进入主界面,如果你想继续使用本系统,就必须输入本软件提供的序列号。输入了序列号后就可以永久的使用本软件。253窗体界面的设计登录窗体界面布局如图24所示(图中标有主要控件的名称)而在试用期间系统会有相关的提示如图25和26所示。图24登录窗体界面12图25序列号输入窗口图26提示框所用到的控件包括LABEL、TEXT、COMMAND、TIMER、DATA1。主要控件的属性如表28所示。属性名属性属性值说明LABEL3CAPTION工号标签LABEL4CAPTION密码标签LABEL1CAPTION计费系统标签COMMAND10CAPTION确定按扭控件COMMAND11CAPTION取消按扭控件TEXT10BORTERSTYLE1FIXEDSINGLE文本框TEXT11BORTERSTYLE1FIXEDSINGLE文本框254登录窗体功能的实现功能实现的代码如下OPTIONEXPLICITDIMIASINTEGERDIMEXAMDBASDATABASEDIMEXAMTBLASTABLEDEFDIMB,NAME1,NOW1PRIVATESUBCOMMAND1_CLICKINDEXASINTEGERDIMNAMEASSTRINGDIMPASSWORDASVARIANTIFTEXT10TEXT“ORTEXT11TEXT“THENMSGBOX“用户名和密码不能为空“EXITSUBENDIFDATA1DATABASENAMEAPPPATH“计费系统“DATA1RECORDSOURCE“用户注册“DATA1REFRESHNAME“工号“TEXT10TEXT“DATA1RECORDSETFINDFIRSTNAME13IFDATA1RECORDSETNOMATCHFALSETHENIFDATA1RECORDSETFIELDS“密码“VALUETEXT11TEXTTHENNAME1TEXT10TEXTNOW1NOWDATA1DATABASENAMEAPPPATH“计费系统“DATA1RECORDSOURCE“登录日志“DATA1REFRESHDATA1RECORDSETADDNEWDATA1RECORDSETFIELDS“工号“VALUETEXT10TEXTDATA1RECORDSETFIELDS“登录日期“VALUENOWDATA1RECORDSETUPDATEGONGHAOTEXT10TEXTLOADFORM2启动主界面FORM2SHOWUNLOADFORM1EXITSUBENDIFGOTOZELSEZII1IFI3THENUNLOADFORM1IFI3THENMSGBOX“输入有误输入三次不正确将自动退出“ENDIFENDSUBPRIVATESUBCOMMAND2_CLICKUNLOADFORM1ENDSUBPRIVATESUBFORM_ACTIVATEDIMA,CDIMXILUEHAOTEXT10SETFOCUSCDIRAPPPATH“购买1“IFC“THENGXILUEHAOINPUTBOX“为了您能够长期的使用本软件,请您输入本软件提供正规的序列号“,“序列号“IFXILUEHAO“THENIFXILUEHAOTRIM123456789THENKILLAPPPATH“购买2“OPENAPPPATH“购买1“FORRANDOMAS4LEN20PUT4,1,XILUEHAOCLOSE414MSGBOX“欢迎使用本软件“ELSEMSGBOX“输入的是无效的序列号“GOTOGENDIFELSEADIRAPPPATH“购买2“IFA“THENB1OPENAPPPATH“购买2“FORRANDOMAS3LEN20PUT3,1,BCLOSE3ENDIFOPENAPPPATH“购买2“FORRANDOMAS3LEN20GET3,1,BIFB4THENMSGBOX“警告该软件已经过期,请购买正式版“,48,“注意“CLOSE3ENDENDIFIFB4THENMSGBOX“这是你第“STRB“次试用本软件,你还可以试用“STR4B“次“ELSEMSGBOX“这是你第“STRB“次试用本软件,这是最后一试用。如果你要继续使用,请购正版“ENDIFBB1PUT3,1,BCLOSE3ENDIFENDIFENDSUBPRIVATESUBFORM_LOADI0TIMER1ENABLEDTRUEENDSUBPRIVATESUBTIMER1_TIMERIFLABEL1LEFTLABEL1WIDTH0THENLABEL1MOVELABEL1LEFT200ELSELABEL1LEFTLABEL1WIDTH15ENDIFLABEL20CAPTIONFORMATDATE,“DDDDDD“LABEL5CAPTIONFORMATTIME,“TTTTT“ENDSUB动态变量I是用来记录用户登录失败的次数,如里连续4次登验证失败,则退出整个系统。而动态变量B是用来记录试用本软件的次数,如果试用已经超过4次则不能再继续试用。要继续使用必须输入本软件提供的系列号。否则,将无法登录到主界面。26系统主界面模块的创建261模块分析主界面模块实现为计费系统提供各种有关计费重要的操作项目,为用户提供一个简洁、方便的人机操作界面。262窗体的创建执行工程添加窗体命令,给工程添加一个新窗体,窗体的主要属性设置如表29所示表29主界面窗体属性属性名属性值说明名称FORM2窗体名称CAPTIONFORM2窗体标题PICTUREBITTAMP窗体背景图片STARTUPPOSITOON2屏幕中心启动后居屏幕的中心BORDERSTYLE1FIXEDSINGLE窗体固定边界,禁止用户改变大小将窗体保存为FORM2FRM。263模块主界面的设计在窗体上添加控件。窗体布局运行结果如图27所示。主要控件属性如表19所示。三个标签LABEL1、LABEL2、LABEL3。两个TIMER控件TIMER1、TIMER2。6个单选钮,OPTION1OPTION6。两个命令按钮COMMAND1、COMMAND2。一个DATA1。16图27主界面表29主界面窗体主要控件属性控件属性属性值说明OPTION1CAPTION号码管理OPTION2CAPTION字冠管理OPTION3CAPTION系统管理单选框OPTION4CAPTION费率管理OPTION5CAPTION计费统计OPTION8CAPTION原始话单LABEL1CAPTION计费系统OPTIONFONT宋体OPTION、LABEL1这两个属性值设置一LABEL1FONTCOLORHOOOOOOFF样TIMER1TIMER1INTERVAL50时钟确定COMMAND1CAPTION退出命令按钮COMMAND2FONT宋体FONTCOLORHOCOCOFF应该注意的是DATA1、LABEL2和LABEL3的属性是在程序运行过程中通过命17令赋给的。LABEL1用来显示当前时间和日期,LABEL3用来提示是否已经到了定期计费的时间。DATA1数据控件用来存取数据库信息。当定期计费时间到时,通过命令自动指向在文件统计库MDB里新成的统计数据表,以便于在表中添加数据。264模块功能实现的代码OPTIONEXPLICITDIMEXAMDBASDATABASEDIMEXAMTBLASTABLEDEFDIMEXAMFLD4ASFIELDDIMZJHM,PJHM,QSSJ,ZCSJDIMDINGSHINAMEDIMI确定字体颜色的改变退出PRIVATESUBCOMMAND1_CLICKUNLOADFORM2ENDSUBLABEL1文字标题颜色改变PRIVATESUBFORM_CLICKIFI1THENLABEL1FORECOLORHFF0000I2ELSELABEL1FORECOLORHFFI1ENDIFENDSUBPRIVATESUBFORM_LOADI1TIMER1ENABLEDTRUEENDSUBPRIVATESUBCOMMAND2_CLICKDIMMSGASINTEGERIFOPTION2VALUETHEN字冠管理LOADFORM7FORM7SHOWENDIFIFOPTION1VALUETHEN号码管理FORM9SHOWENDIFIFOPTION5VALUETHEN启动进行计费18LOADFORM10FORM10SHOWENDIFIFOPTION8VALUETHENLOADFORM3启动原始话单FORM3SHOWENDIFIFOPTION4VALUETHENLOADFORM6启动费率管理FORM6SHOWENDIFIFOPTION3VALUETHEN系统简介FORM8SHOWENDIFENDSUBPRIVATESUBTIMER1_TIMER判断是否到结算日期OPENAPPPATH“定时周期“FORRANDOMAS5LEN20GET5,1,T定时日期GET5,3,DINGSHIHOURGET5,2,V是否结算过IFVALTDAYNOWORVALDINGSHIHOURHOURNOWTHENV0PUT5,2,VELSEIFV2THEN没有结算过LABEL3CAPTION“今天是结算日期正在导入数据“CLOSE5表的生成DINGSHINAMEAPPPATH“话单“TRIMSTRMONTHNOW_TRIMSTRDAYNOW话单存在放的路径DINGSHINAME1TRIMSTRMONTHNOWTRIMSTRDAYNOWSETEXAMDBOPENDATABASEAPPPATH“话单库“SETEXAMTBLEXAMDBCREATETABLEDEFDINGSHINAME1WITHEXAMTBLSETEXAMFLD0CREATEFIELD“主叫号码“,DBTEXT,15SETEXAMFLD1CREATEFIELD“被叫号码“,DBTEXT,15SETEXAMFLD2CREATEFIELD“起始时间“,DBTEXT,50SETEXAMFLD3CREATEFIELD“终止时间“,DBTEXT,50FIELDSAPPENDEXAMFLD0FIELDSAPPENDEXAMFLD1FIELDSAPPENDEXAMFLD2FIELDSAPPENDEXAMFLD319ENDWITHSETEXAMDBOPENDATABASEAPPPATH“话单库“DATA1DATABASENAMEAPPPATH“话单库“DATA1RECORDSOURCEDINGSHINAME1DATA1REFRESHOPENDINGSHINAMEFORINPUTAS1ONERRORRESUMENEXTEXAMDBTABLEDEFSAPPENDEXAMTBL添加表SETEXAMDBOPENDATABASEAPPPATH“话单库“DATA1REFRESHWHILENOTEOF1INPUT1,ZJHM,PJHM,QSSJ,ZCSJDATA1RECORDSETADDNEWDATA1RECORDSETFIELDS“主叫号码“VALUEZJHMDATA1RECORDSETFIELDS“被叫号码“VALUEPJHMDATA1RECORDSETFIELDS“起始时间“VALUEQSSJDATA1RECORDSETFIELDS“终止时间“VALUEZCSJDATA1RECORDSETUPDATEWENDCLOSE1LABEL3CAPTIONDINGSHINAME1“话单“成功导入数据库“LABEL3CAPTION“TIMER1ENABLEDFALSESTRARTRUEONERRORRESUMENEXTUNLOADFORM12FORM12SHOWENDIFENDIFCLOSE5ENDSUBPRIVATESUBTIMER2_TIMERLABEL2CAPTIONNOWENDSUB以上代码完成了系统主界面所需要的各种功能的实现。可以任意在主界面上选择其功能,从而进入系统其它下一级界面执行相应的操作。除此之外,还可以判断是否已经到结算日期,是否已经结算过等功能。27系统管理模块271模块分析系统管理管理模块实现对系统安全的管理,包括了关于系统说明、登录日志20的记录、登录日志的删除、用户管理。而用户管理又包括了用户的注册、用户修改、用户的删除。用户管理包括的功能只有高级管理员才有权限对此进行操作,其它普通管理员无权对此做任何操作。关于系统功能和登录日志功能在同一个界面上交叉显示,单击关于系统则在界面上显示关于系统的说明;单击登录日志在界面上则显示登录日志的内容(工号和登录日期)。而单击用户管理时则启动用户管理界面。在用户管理界面上又可以根据其功能进行相应的操作。272窗体的创建在工程中新建一个窗体,将窗体保存为系统简介FRM。窗体主要属性设置如表210所示。表210主界面窗体属性属性名属性值说明名称FORM8窗体名称CAPTION系统简介窗体标题PICTUREBITTAMP窗体背景图片STARTUPPOSITOON2屏幕中心启动后居屏幕的中心BORDERSTYLE1FIXEDSINGLE窗体固定边界,禁止用户改变大小273系统管理模块界面的设计在窗体上添加控件,LABEL1、DATA1、DBGRID1、FRAME1、COMMAND1COMMAND4。LABEL1用来写存放关于系统的一些说明,DATA1用来访问数据库,DBGRID1用来绑定登录日志表的字段并显示相关信息。FRAME1用来对外观起到美化作用。COMMAND1COMMAND4作为命令按钮用。主要控件的属性设置如表211所示。表211主要控件的属性控件属性属性值说明LABEL1CAPTION关于系统内容文本框COMMAND1CAPTION关天系统COMMAND2CAPTION登录日志COMMAND3CAPTION删除日志命令按钮COMMAND4CAPTION用户管理DATASOURCEDATA1DBGRID1CAPTION计费系统数据网格控件DBGRID1LABEL1VISIBLEFLASE隐藏不可见COMMAND1FONT宋体命令按钮COMMAND4FONTCOLORH8000000821设置好各项属性后,运行界面如图28所示图28系统管理界面2731系统管理界面功能实现的相关代码OPTIONEXPLICITPRIVATESUBCOMMAND1_CLICK关于系统的文字说明LABEL1CAPTIONCHR13“本系统是利用VISUALBASIC_“语言为背景进行编写的,由于时间有限和技术的不成熟_系统许多功能都未能很好的完善,今后有时间一定会_CHR13CHR13“_创建时间20050412“CHR13CHR13“_版本MYFLOVE“DBGRID1VISIBLEFALSECOMMAND3ENABLEDFALSEENDSUBPRIVATESUBCOMMAND2_CLICKCOMMAND3ENABLEDTRUELABEL1CAPTION“DATA1DATABASENAMEAPPPATH“计费系统“DATA1RECORDSOURCE“登录日志“DATA1REFRESHDBGRID1VISIBLETRUEENDSUBPRIVATESUBCOMMAND3_CLICKDIMPROMPT,MBOOKIFP1THENIFDBGRID1SELBOOKMARKSCOUNT0THENMSGBOX“请选择要删除的记录“EXITSUB22ELSEPROMPTMSGBOX“确定要删除所选定记录吗“,VBYESNO,“删除选定记录“IFPROMPTVBNOTHENEXITSUBELSEFOREACHMBOOKINDBGRID1SELBOOKMARKSWITHDATA1RECORDSETBOOKMARKMBOOKDELETEENDWITHNEXTDATA1REFRESHENDIFENDIFELSEMSGBOX“只有高级管理员才有此权限“EXITSUBENDIFENDSUBPRIVATESUBCOMMAND4_CLICKFORM16SHOWENDSUB判断是不是高级管理员PRIVATESUBFORM_LOADP0DATA1RECORDSOURCE“用户注册“DATA1REFRESHDATA1RECORDSETMOVEFIRSTIFDATA1RECORDSETFIELDS“工号“VALUEGONGHAOTHENP1ENDIFENDSUB以上代码,就是实现系统管理模块的各项功能。需要注意的是变量P是用来判断登录的是否是高级管理员。为下面将要介绍的系统管理中用户管理子窗体模块的一些功能是否开通或封闭打上一个标记,P0为普通用户,系统将会自己识别,并封闭一些功能P1为高级用户,可以对任何功能进行操作。从而达到系统的安全性。2732用户管理子窗体模块用户管理功能是系统管理模块扩展的一个功能,当单击用户管理,便会跳23出一个子窗体。在此窗体上可以注册用户,修改用户,删除用户等操作。当是高级管理员在操作时,系统就通过DATA1对数据库进访问,把工号、密码、密码确认等相关内容写入数据库里的日志表里,操作界面如图29所示。如果不是高级管理员在操作则在执行某项功能前会有如图210的提示框,单击提示框确定后,数据信息将不会被保存到数据库里。用户管理模块的实现在窗体上添加控件,LABEL1LABEL3、DATA1、FRAME1、COMMAND1COMMAND3。因为用到的控件较少,控件属性的设置也比较简单,具体的属性设置和前面所介绍的相似。在此就不做详细介绍。图29高级用户管理界面图210普通用户管理界面2733用户管理子窗体模块功能实现的代码如下OPTIONEXPLICITDIMEXAMDBASDATABASE24DIMEXAMTBLASTABLEDEFDIMEXAMFLD7ASFIELDDIMGONGHAO11PRIVATESUBCOMMAND1_CLICKIFP1THENIFTEXT1TEXT“ORTEXT2TEXT“THENMSGBOX“工号和密码不能为空“EXITSUBENDIFIFTEXT3TEXT“THENMSGBOX“请输入密码确认“TEXT2TEXT“EXITSUBENDIFGONGHAO11“工号“TEXT1TEXT“DATA1RECORDSETFINDFIRSTGONGHAO11IFDATA1RECORDSETNOMATCHFALSETHENMSGBOX“此工号已经存在“EXITSUBELSEDATA1RECORDSETADDNEWDATA1RECORDSETFIELDS“工号“VALUETEXT1TEXTDATA1RECORDSETFIELDS“密码“VALUETEXT2TEXTDATA1RECORDSETFIELDS“密码确认“VALUETEXT3TEXTDATA1RECORDSETUPDATEMSGBOX“注册成功“ENDIFELSEMSGBOX“只有高级管理员才有此权限“ENDIFENDSUBPRIVATESUBCOMMAND2_CLICKIFP1THENIFTEXT1TEXT“ORTEXT2TEXT“THENMSGBOX“工号和密码不能为空“EXITSUBENDIFIFTEXT3TEXT“THENMSGBOX“请输入密码确认“TEXT2TEXT“EXITSUBENDIF25GONGHAO11“工号“TEXT1TEXT“DATA1RECORDSETFINDFIRSTGONGHAO11IFDATA1RECORDSETNOMATCHFALSETHENDATA1RECORDSETEDITDATA1RECORDSETFIELDS“工号“VALUETEXT1TEXTDATA1RECORDSETFIELDS“密码“VALUETEXT2TEXTDATA1RECORDSETFIELDS“密码确认“VALUETEXT3TEXTDATA1RECORDSETUPDATEMSGBOX“修改成功“ELSEMSGBOX“此工号不存在“ENDIFELSEMSGBOX“只有高级管理员才有此权限“ENDIFENDSUBPRIVATESUBCOMMAND3_CLICKDIMMSGIFP1THENGONGHAO11“工号“TEXT1TEXT“DATA1RECORDSETFINDFIRSTGONGHAO11IFDATA1RECORDSETNOMATCHFALSETHENMSGMSGBOX“确定要删除此工号吗“,VBYESNO,“删除用户“IFMSGVBYESTHENDATA1RECORDSETDELETEDATA1REFRESHELSEEXITSUBENDIFELSEMSGBOX“没有此工号“EXITSUBENDIFELSEMSGBOX“只有高级管理员才有此权限“ENDIFENDSUBPRIVATESUBFORM_LOADDATA1DATABASENAMEAPPPATH“计费系统MDB“DATA1RECORDSOURCE“用户注册“DATA1REFRESHENDSUB2628号码管理模块281模块分析号码管理模块实现固定电话号码和公用电话号码的分类管理,包括对电话号码的添加、修改、删除和查找等功能。因此,在号码模块下有两个子窗体,因定电话子窗体和公用电话子窗体。号码的添加、修改、删除和查找等功能在各子窗体中实现,因而号码管理窗体只起到一个桥梁链接的作用。其中,采用DATA对数据库的固话表和公话表进行访问。然后,通过对数据表进行绑定,在数据网格DBGRID上显示出有关电话的相关信息。数据的添加、修改、删除和查找通过DAO的COMMAND对象完成。282号码管理窗体的创建在工程中新建一个窗体,将窗体保存为类型选择FRM。窗体主要属性设置如表212。如表212号码管理窗体属性属性名属性值说明名称类型选择FRM窗体名称CAPTION选择类型窗体标题STARTUPPOSITOON2屏幕中心启动后居屏幕的中心BORDERSTYLE1FIXEDSINGLE窗体固定边界,禁止用户改变大小283号码管理界面的设计在窗体上添加以下控件LABEL1、COMMAND1、COMMAND2、OPTION1、OPTION2、FRAME1。各控件的属性设置如表213所示。表213主要控件属性属性名属性属性值说明LABEL1CAPTION请选择电话类型标签OPTION1CAPTION固话单选钮OPTION2CAPTION公话单选钮COMMAND1CAPTION确定命令按扭控件COMMAND2CAPTION取消命令按扭控件模块的布局和运行结果如图211所示。27图211号码管理界面284模块功能实现的代码PRIVATESUBCOMMAND1_CLICKIFOPTION1VALUETHENFORM4SHOWIFOPTION2VALUETHENFORM5SHOWUNLOADFORM9ENDSUBPRIVATESUBCOMMAND2_CLICKUNLOADFORM9ENDSUB2841固定电话子窗体1模块分析实现对固定电话号码的添加、修改、删除和查找等功能。只有点击编辑按钮才能激活各项功能。2窗体的创建在工程中新建一个窗体,将窗体保存为固话查询FRM。窗体主要属性设置和表111相似。在此就不再做详细分析。3固话子窗体界面的设计在窗体个添加以下控件COMMAND10COMMAND17、COMMAND2、TEXT1TEXT3、DATA1、DBGRID1、LABEL1LABEL3。并将它们的属性设置为如表214所示。本模块的窗体布局如图212所示。28表214控件属性的设置控件属性属性值说明COMMAND10第一条记录COMMAND11上一条记录COMMAND12下一条记录COMMAND13最后一条记录命令按钮COMMAND14CAPTION添加记录COMMAND15修改记录COMMAND16查找记录COMMAND17删除记录COMMAND2编辑COMMAND1ENABLEDFALSEDATASOURCEDATA1DBGRID1CAPTION固话表数据网格控件LABEL1号码LABEL2CAPTION地名文本框LABEL3基本月租设置好各项属性后,运行界面如图212所示29图212固定电话窗体界面4模块功能实现的代码如下OPTIONEXPLICITPRIVATESUBCOMMAND1_CLICKINDEXASINTEGERSELECTCASEINDEXCASE0添加DATA1RECORDSETADDNEWCASE1修改DATA1RECORDSETEDITIFTEXT1DATACHANGEDTHENGOTOSAVE1IFTEXT2DATACHANGEDTHENGOTOSAVE1IFTEXT3DATACHANGEDTHENGOTOSAVE1CASE2查找DIMKEYDIMKEY1ASSTRINGKEYINPUTBOX“请输入查找的号码“,“查找记录“KEY1“号码“KEYDATA1RECORDSETFINDFIRSTKEY1IFDATA1RECORDSETNOMATCHTHENMSGBOX“数据表没有符合的记录“DATA1RECORDSETMOVEFIRSTELSEMSGBOX“数据表找到符合的记录“ENDIFCASE3删除DIMMSGDIMRETASSTRINGDIMMBOOKASVARIANTDIMPROMPTASINTEGERRETMSGBOX“是否要删除当前记录“,VBYESNO,“删除当前记录“IFRETVBYESTHENDATA1RECORDSETDELETEDATA1RECORDSETMOVEFIRSTEXITSUBELSEIFDBGRID1SELBOOKMARKSCOUNT0THENMSGBOX“请选择要删除的行“EXITSUBENDIFDBGRID1ALLOWDELETETRUE30PROMPTMSGBOX“确定要删除所选定记录吗“,VBYESNO,“删除选定记录“IFPROMPTVBNOTHENEXITSUBFOREACHMBOOKINDBGRID1SELBOOKMARKSWITHDATA1RECORDSETBOOKMARKMBOOKDELETEENDWITHNEXTDATA1REFRESHENDIFSAVE1MSGMSGBOX“要更新的数据保存吗“,VBYESNOIFMSGVBYESTHENDATA1UPDATERECORDELSEDATA1RECORDSETCANCELUPDATEENDIFCASE4DATA1RECORDSETMOVEFIRSTIFDATA1RECORDSETBOFTHENDATA1RECORDSETMOVEFIRSTCASE5DATA1RECORDSETMOVEPREVIOUSIFDATA1RECORDSETBOFTRUETHENDATA1RECORDSETMOVEFIRSTCASE6DATA1RECORDSETMOVENEXTIFDATA1RECORDSETEOFTRUETHENDATA1RECORDSETMOVELASTCASE7DATA1RECORDSETMOVELASTENDSELECTENDSUBPRIVATESUBCOMMAND2_CLICKCOMMAND10ENABLEDTRUECOMMAND11ENABLEDTRUECOMMAND12ENABLEDTRUECOMMAND13ENABLEDTRUECOMMAND14ENABLEDTRUECOMMAND15ENABLEDTRUECOMMAND16ENABLEDTRUECOMMAND17ENABLEDTRUETEXT1ENABLEDTRUETEXT2ENABLEDTRUE31TEXT3ENABLEDTRUETEXT2SETFOCUSENDSUBPRIVATESUBFORM_ACTIVATE判断是否有数据DATA1DATABASENAMEAPPPATH“计费系统MDB“DATA1RECORDSOURCE“固话表“DATA1REFRESHIFDATA1RECORDSETRECORDCOUNT0THENP55数据库MSGBOX“数据库中没有数据,请添加数据“DATA1RECORDSETADDNEWELSEDATA1RECORDSETMOVEFIRSTENDIFENDSUBPRIVATESUBDATA1_VALIDATEACTIONASINTEGER,SAVEASINTEGERDIMMSGIFSAVETHENMSGMSGBOX“要更新的数据保存吗“,VBYESNOIFMSGVBNOTHENSAVE0ENDIFENDSUB2842公用电话子窗体公用电话子窗体的模块分析、窗体的创建、窗体界面的设计和固定电话子窗体的相似。不难得出实现功能的代码也和固定电话子窗体的类似。参照2841的第3点源代码即可。在此,也就不再重复版出。29字冠管理模块291模块分析字冠管理模块实现的功能是对本通信行业或者同行通信行业本地字冠的号码的管理。包括输入,修改、删除字冠。为了方便计费统计的进行,将本地字冠(包括本通信行业本地字冠和同行通信行业本地字冠)输入到计费系统库里的字冠表统一管理。292窗体的创建在工程中新建一个窗体,将窗体保存为字冠管理FRM。窗体主要属性设置如表115所示。32表215字冠管理窗体属性属性名属性值说明名称FORM7窗体名称CAPTION字冠管理窗体标题STARTUPPOSITOON2屏幕中心启动后居屏幕的中心BORDERSTYLE1FIXEDSINGLE窗体固定边界,禁止用户改变大小293模块字冠管理界面的设计在窗体个添加以下控件COMMAND10COMMAND15、COMMAND2、TEXT1TEXT3、DATA1、DBGRID1、LABEL1LABEL3。并将它们的属性设置为如表116所示。本模块的窗体布局如图113所示。DATA1用来访问数据库里的字冠表,DBGRID1与数据库里的字冠表各字段进行绑定,然后在表格里显示相应的字段值。表216控件属性的设置控件属性属性值说明COMMAND13第一条记录COMMAND14上一条记录COMMAND15下一条记录COMMAND10CAPTION添加记录命令按钮COMMAND11修改记录COMMAND12删除记录COMMAND2编辑DATASOURCEDATA1DBGRID1CAPTION字冠表数据网格控件LABEL1地名LABEL2CAPTION类型文本框LABEL3本地字冠设置好各项属性后,运行界面如图213所示。需要注意的是,界面刚运行时,为了防止误操作,除了编辑命令按钮可用之外,其它命令是不可用的,只有在单击编辑命令按钮后,才生效。33图213字冠管理界面294模块功能实现的代码如下PRIVATESUBCOMMAND2_CLICKTEXT1ENABLEDTRUETEXT2ENABLEDTRUETEXT3ENABLEDTRUECOMMAND10ENABLEDTRUECOMMAND11ENABLEDTRUECOMMAND12ENABLEDTRUECOMMAND13ENABLEDTRUECOMMAND14ENABLEDTRUECOMMAND15ENABLEDTRUEENDSUBPRIVATESUBFORM_ACTIVATE判断是否有数据DATA1DATABASENAMEAPPPATH“计费系统MDB“DATA1RECORDSOURCE“字冠表“DATA1REFRESHIFDATA1RECORDSETRECORDCOUNT0THENP55数据库MSGBOX“数据库中没有数据,请添加数据“34DATA1RECORDSETADDNEWELSEDATA1RECORDSETMOVEFIRSTENDIFENDSUBPRIVATESUBCOMMAND1_CLICKINDEXASINTEGERSELECTCASEINDEXCASE0DATA1RECORDSETADDNEWTEXT2SETFOCUSCASE1修改DATA1RECORDSETEDITIFTEXT1DATACHANGEDTHENGOTOSAVE1IFTEXT2DATACHANGEDTHENGOTOSAVE1IFTEXT3DATACHANGEDTHENGOTOSAVE1DATA1RECORDSETADDNEWTEXT2SETFOCUSCASE2删除DIMRETASSTRINGDIMMBOOOKASVARIANTDIMPROMPTASINTEGERRETMSGBOX“是否要删除当前记录“,VBYESNO,“删除当前记录“IFRETVBYESTHENDATA1RECORDSETDELETEDATA1RECORDSETMOVEFIRSTEXITSUBELSEIFDBGRID1SELBOOKMARKSCOUNT0THENMSGBOX“请选择要删除的行“EXITSUBENDIFDBGRID1ALLOWDELETETRUEPROMPTMSGBOX“确定要删除所选定记录吗“,VBYESNO,“删除选定记录“IFPROMPTVBNOTHENEXITSUBFOREACHMBOOKINDBGRID1SELBOOKMARKSWITHDATA1RECORDSETBOOKMARKMBOOKDELETE35ENDWITHNEXTDATA1REFRESHDELFINISHTRUEENDIFSAVE1MSGMSGBOX“要更新的数据保存吗“,VBYESNOIFMSGVBYESTHENDATA1UPDATERECORDELSEDATA1RECORDSETCANCELUPDATEENDIFCASE3DATA1RECORDSETMOVEFIRSTIFDATA1RECORDSETBOFTHENDATA1RECORDSETMOVEFIRSTCASE4DATA1RECORDSETMOVEPREVIOUSIFDATA1RECORDSETBOFTRUETHENDATA1RECORDSETMOVEFIRSTCASE5DATA1REC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论