辑
1
none
第三章行为特征设计
3.1系统功能介绍
3.1.1文件中的输入模块
此模块主要用于数据的输入,没有修和删除的功能比较单一,但是可以批量的进行输入,作为输入可以说非常的实用,简单而不缺少功能。使用起来非常容易上手。由于输入时怕两个表发生混淆,所以在编写的时候把两个库的输入分开来写,不容易让使用者产生误操作。对于输入模块主要的两个表单为input.scx和input1.scx。input1.scx用于教师基本信息的输入,而input.scx则是应用在教师教学信息管理。
3.1.2文件中的查找模块
此模块主要用于数据的查找,主要应用的是SQL语言加visualfoxpro8.0控件而作出来的,查找模块则是把两个库的查询控件都放在一个表单上了,退过一个命令按钮组来实现两个表单之间的切换,因为查找对数据产生的错误没有直接的影响,所以才考虑把两个库放在一起操作的。由于有SQL语句的帮助,使查找的结果非常易懂一目了然。这个模块主要是放在search.scx中。
3.1.3文件中的浏览模块
此模块主要用于数据的浏览,这个模块使用了一个page的控件同样是把两上表放在一起浏览(其实只是将控件连接到两个自由表),用page控件把两个表分开,由于没有数据浑淆的危险,所以也没有考虑将其分开来。这个模块主要放在native.scx中。
3.1.4编辑管理中的编辑信息模块
这个模块主要用于数据在输入后,发生输入错误,而后想改正,就是由这个模块来完成修改的。作者本想把他做成两个表单,但是为了方便还是做成了一个表单,为了防止错误也加入了一些方法。例如使用了容器,还使用了命令按钮组,来避免错误的发生。这个模块放在edit.scx表单中
3.1.5编辑管理中的管理信息模块
时间一长的时候数据库的维护管理是非常有必要的,他可以纠正一些错误,还有使数据库显得井井有条,使数据库能发挥它应有的效率,管理模块是非常有用的,而为了不让没有权限的人使用他,作者特意加上的密码,只有有权限的人才能使用管理模块。在管理模块中有编辑,删除,打印,查找等几个细小而人性化的东西,使管理模块发挥最大的作用。这个模块放在mantable.scx中。
3.1.6编辑管理中的日历模块
作者还加入了一个visualfoxpro8.0自带的一个控件"日历控件"。这个模块放在cal.scx中。这个模块可以随时提醒用户时间,节省一些不必要的麻烦。
3.1.7用户模块
这个大的模块主要包括了三小模块,添加用户:可以添加新的用户,可是登录本系统,但想使用这个模块必须要有管理员以上权限的人才能使用,这个模块放在adduser.scx表单中。用户密码:只要拥有这个系统的用户都可以用这个模块来完成密码的修改,这个模块可以不使用权限,这个模块放在中muser.scx表单中。帐户管理,这个模块可以对库中的所有帐户进行管理,他需要有超级管理员的身份才能进入。他可以修改任何人的密码,还可以给其他用户以管理员,或者让他失去管理员的功能,
3.1.8帮助模块
这个模块主要有帮助和关于两小模块,关于模块:是告诉用户此系统的一些信息如作者是谁版本号是什么,什么时间做出来的等等信息,这个模块主要放在about.scx表单中。帮助模块:帮助模块是告诉用户一些具体的使用方法,快捷键代表着什么等。这个模块放在help.scx表单中
3.1.9主模块
主模块上面有一个菜单,一个欢迎的滚字模和一副图片所组成。主要功能是完成对其他模块的连接,和对库的浏览。还配有时间功能,随时告诉用户打开此界面的时间。
3.2系统功能的设计
为了便于从宏观上理解本系统,本节采用模块图的形式描绘此系统的功能。以帮助对以上模块的理解。
3.2.1主功能模块
3.2.2文件功能模块
3.2.3编辑管理模块图
3.2.4用户模块图
3.2.5帮助模块图
3.2.6退出模块图
退出整个系统,返回桌面。
3.3流程图
这里主要列出了几个模块的流程图
程序的总体思想图
1.登录模块的流程图
2.主界面的流程图
3.浏览介面
4.添加模块的流程图
5.管理模块流程图
由于整个项目有两个表所以不论什么模块都有两上,这里说明有可能只说一个有两个都被说到,但是确是相同的。
3.4系统的实现及算法
现在已经完成了程序各个功能模块的设计,现在来看看整个系统的运行,运行程序将出现登录窗口。输入用户名和密码后(出现登录成功的提示信息),进入系统。
*选择菜单中"新建"一项会出现一个下拉菜单,(包括二项)。分别是教师基本信息和教师授课信息。按下每一个按钮都会弹出一个菜单,是老师的个人基本情况。确定之后,会弹出一个对话是利用MASSAGEBOX命令来完成。用户可根据需要任意选择。
选择"查找"菜单,会出现一个下拉菜单(包括三项)。根据需要任意选择。此模块功能是通过SQL语言来完成的。主要运用DOCASE与ENDCASE语名循环。例如:case(alltrim(thisform.combo4.displayvalue)="大于等于")
SELECT*frommainWHERE&aaa>=ccc然后输入内容。还要注意的是指针是否在文件尾。IF.not.EOF(),然后再使用SKIP命令。最后根据个人需要进行查找。
*选择"浏览信息"菜单,会出现一个下拉菜单,里面有相关信息需要添写并输入内容。(教师基本信息和教师授课信息应该是一一相对应的)。
*选择"编辑管理"菜单,会出现一个下拉菜单,(包括三项)。分别是编辑信息、管理信息和日历。在使用前二项时需要用户密码,如果不是本系统的本户,就无法使用此功能。此模块是两个库连接的实现,即SELECT1与SELECT2。具体算法如下:
SELECT2USEMAIN.DBF
SELECT1USESCHOOL.DBF
根据需要随意选择。然后输入内容。
*选择"用户管理"菜单,会现一个下拉菜单,(包括三项)。分别是创建新用户、用户改名和用户管理。第一项要求是本系统的管理员才能有此权力,他拥有密码权限。而后二项也是在此基础上完成的。具体算法如下:
它是一个判断语名,当THISFORM.CONTAINER4.VISIBLE=.T.
THISFORM.CONTAINER4.VISIBLE=.F.时成立,否则会THISFORM.CONTAINER4.VISIBLE=.F退出此表单。
*选择"帮助"菜单项,会出现一个下拉菜单(包括二项)。功能是提供版本信息。
*选择"退出"菜单,就会直接退出本系统。
3.5项目开发中所遇到的问题,及解决方法
3.5.1模糊查询技术问题
内容提要:主要介绍在数据库管理系统中实现模糊查询的方法与技巧,提供了能实现真正模糊查询的二个通用函数的源程序,特别是介绍了结构化查询语言SQL中鲜为人知的通配符的使用方法。关键词FoxPro模糊查询SELECT-SQL通配符中图分类号TP311.13
在数据库管理系统中,查询是一个很重要的内容。然而,在多数情况下人们不能准确知道作为查询条件的字段内容,如:某字段内容为"涪陵师范高等专科学校",查询者可能只知道其简称"涪陵师专"或"涪师专",这时,为保证能查到满足条件的数据记录,只能进行模糊查询。下面从编程的角度谈谈在FoxPro2.5b中,实现模糊查询的方法。
一、简单的模糊查询方法
①利用比较操作符"="进行模糊查询。先把SETEXACT的设置置为OFF,这时,"="用于两个字符表达式之间作比较,其规则是:"="右边的字符逐个与"="左边相同位置的字符进行比较,只要遇到其中一个字符不相等,或者"="右边的字符表达式结束,比较操作就结束。所以,"abc"="abc","abc"="ab","ab_"="ab","ab"=""的比较结果均为逻辑真(.T.)。可见,这种方法的模糊性是不能令人满意的。
②利用"$"进行包含比较,其模糊查询的效果就比用
上一篇:
VFP教学设备管理系统(论文和程序)
下一篇:
经济可持续发展论文:将可持续发展内生化的新经济发展方式