VFP应用系统

2024-05-14

VFP应用系统(共12篇)

VFP应用系统 篇1

在数据库管理系统中,查询是一个很重要的内容。然而,在多数情况下人们不能准确知道作为查询条件的字段内容,如:某字段内容为“浙江省嘉兴市职业技术学院”,查询者可能只知道其简称“嘉兴学院”或“嘉职学院”。这时,为保证能查到满足条件的数据记录,只能进行模糊查询。下面从编程的角度谈谈在FoxPro 7.0中,实现模糊查询的方法。

1 简单的模糊查询

(1)利用比较操作符“=”进行模糊查询。先把SET EX-ACT的设置为OFF,这时“=”用于两个字符表达式之间作比较,其规则是“=”右边的字符逐个与“=”左边相同位置的字符进行比较,只要遇到其中一个字符不相等,或者“=”右边的字符表达式结束,比较操作就结束。所以,"abc"="abc","abc"="ab","ab_"="ab","ab"=""的比较结果均为逻辑真(.T.)。可见,这种方法的模糊性是不能令人满意的。

(2)利用“$”进行包含比较,其模糊查询的效果就比用“=”时好得多。这种方法是在“$”右边的字符表达式中查找“$”左边的字符表达式,若找到返回逻辑真(.T.),否则返回逻辑假(.F.)。用这种方法只要“$”左边字符表达式的每一个字符在“$”右边字符表达式中存在且位置不间断,查找就能成功。然而对于诸如前面提到的“嘉兴学院”或“嘉职学院”之类的简称,其查找结果为逻辑假(.F.)。

由此可见,直接利用“=”和“$”进行比较操作是不能太“模糊”的。

2 查询条件为缩略语或简称的模糊查询

缩略语或简称在地名、单位名称中使用非常广泛。通常,缩略语或简称是由全称中的某些排列位置不连续的字符组成的。因此,通过设置不同长度字符串进行比较的规则,或者利用包含比较符“$”,是不能对缩略语或简称进行模糊查询的。这时可以编写一个通用的自定义函数,将用户输入的查询条件(<字符串2>)与字符型字段变量(<字符串1>)进行逐字比较,如果<字符串2>是<字符串1>的缩略语或简称,则返回逻辑真(.T.);否则返回逻辑假(.F.),从而实现模糊查询。

2.1 设计思想

此函数必须是一个通用函数。为此,执行时可先接受两个参数──<字符串1>和<字符串2>。从<字符串2>的左边开始取其第一、二个字符X1,用AT()函数测试X1在<字符串1>中的位置S1,如果S1不为0,就将<字符串1>中包含X1以及左边部分的字符截掉,并取<字符串2>中的第三、四个字符X2,用AT()函数测试X2在<字符串1>的剩余部分中的位置S2,若S2不为0,就将<字符串1>的剩余部分中包含X2以及左边部分的字符截掉,直到将<字符串2>中的字符取完并在<字符串1>中测试完为止,最后本函数返回逻辑真(.T.)。在这个过程中只要有一次测试不成功(即Sn=0),则退出本函数并返回逻辑假(.F.)。因为一个汉字占两个ASCII字符,所以每次取二个相邻字符进行测试(让ZFBJ.PRG中的K=2)。这样做一是可以减少测试比较的次数,提高程序运行速度;二是当<字符串2>中含有数字、字母等半角字符时,可以减少满足条件的记录数目,提高查询的命中率。然而,若查询条件中含有英文缩写,则每次只能取一个ASCII字符进行测试(让ZFBJ.PRG中的K=1)。

2.2 使用举例

设内存变量m.field,其值为用户输入的用户名称的简称,如“嘉兴学院”,现在要在KTJBK.DBF中查询用户名称(字段名)为“浙江省嘉兴职业技术学院”,或为“嘉兴学院”,或为“嘉职学院”的全部记录,可以先将满足条件的记录拷贝到一临时数据库TEMP.DBF中,然后浏览,浏览完毕后删除临时数据库TEMP.DBF。其程序如下:

通过上面介绍的自定义函数实现了真正的模糊查询,然而令人遗憾的是它的速度表现总使人感到美中不足,幸好在FoxPro中引入了结构化查询语言SELECT-SQL。

3 利用FoxPro中SELECT-SQL语句的模糊查询

结构化查询语言SQL是FoxPro中值得骄傲的特色之一。利用SQL的SELECT语句可以非常方便、极其快速地进行十分复杂的查询操作。特别值得推荐的是SELECT-SQL语句中的WHERE参数支持通配符“%”和“_”。因此,对于查询条件为缩略语或简称的情况,可以非常简单地实现真正的模糊查询。这里,百分符号“%”代表0个或0个以上的任意字符,下划线符号“_”代表1个任意字符,它们只能与运算符LIKE搭配使用。

设内存变量m.field,其值为用户输入的用户名称的简称,如“嘉职学院”,现在要在KTJBK.DBF中查询用户名称(字段名)为“浙江省嘉兴职业技术学院”,或为“嘉兴学院”,或为“嘉职学院”的全部记录,可以用下面的一段程序实现:

4 结语

本程序运行时,先将m.field="嘉职学院"中插入五个通配符“%”,得到mc_cxtj="%嘉%职%学%院%"。然后利用SQL的SELECT语句,从数据库KTJBK.DBF中选出字段变量“用户名称”符合"%嘉%职%学%院%"格式的所有记录,输出到一个虚拟临时数据库TEMP.DBF中。

摘要:主要讲解在数据库管理系统中实现模糊查询的方法与技巧,提供了能实现真正模糊查询的两个通用函数的源程序,分析了结构化查询语言SQL中的通配符的使用方法。

关键词:VFP,模糊查询,SELECT-SQL

参考文献

[1]郑刚.VFP实效编程百例.(第二版),北京:人民邮电出版社,2004.

[2]尹立宏.VFP7.0数据库开发典型实例.北京:电子工业出版社,2002.

VFP应用系统 篇2

学生成绩管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,介与它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。

运用学生成绩管理系统可以减轻学院教学人员的工作量,加快查询速度,加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。还有就是缩小开支,提高工作效率与准确率。可以使学生能够合理安排时间,能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。并且学生成绩管理系统的应用也为今天的高校教育在未来市场的竞争力的提高达下坚实的基础。

如今,不管是小学、初中、高中、甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理。但是人工管理成绩档案具有效率低、查找麻烦、可靠性不高、保密性低等因素。因此开发出一个不仅仅是适用于大中专院校以及其它高校通用的学生成绩管理系统是必要的。

本系统主要用于学校学生信息管理,特别是学生成绩的管理,采用面向对象的设计思想,以菜单和表单的形式进行各表单的调用,主要任务是计算机对学生信息进行日常管理,如查询、修改、增加、删除,另外考虑到学生选课。针对这些要求,设计这些要求,设计了学生成绩管理系统。

因此,本系统应该主要完成和实现如下功能:

1.系统登陆功能。要求系统登陆时有密码管理功能,可分为管理人员登陆和普通用户登陆两种方式,只有身份和密码全正确才能成功登陆。

2.基本数据管理功能。此功能主要是用于对学生的基本情况的管理,如学生所在的系、班级、以及所学的专业、课程等内容。管理人员登陆后可对系统内的信息进行修改。

3.学生信息管理功能。此功能主要是用于对学生信息的录入和管理。包括信息添加,信息浏览等。

4.学生成绩管理功能。此功能主要是用于对学生成绩的录入和管理包括考试成绩添加,成绩浏览等。

5.学生查询功能。此功能主要用于对学生信息的查询和统计,并打印相关信息,包括学习成绩等。

二、基本要求

完成上述五项要求,设计好以下界面:1.登陆界面;2.课程管理界面;3.学生信息管理界面;4.学生成绩管理界面; 5.学生查询界面。

最终完成一个高校的学生成绩管理系统,并给出部分相应的编程。

三.参考资料

VFP应用系统 篇3

关键词:SNS;SNS网站;VFP教学

一、SNS

社会性网络服务,即 Social Networking Services,简称SNS。既为拥有相同兴趣与活动的人群创建在线平台,为用户提供各种联系,是帮助用户建立社会性网络关系的互联网平台。目前国外的SNS网站具有代表性是 Myspace和Facebook,国内的SNS网站具有代表性是人人网和开心网。

二、SNS网站应用到VFP教学的目的

计算机课程教学离不开计算机,VFP课程更是离不开计算机,计算机网络的发展为VFP提供了很好的学习环境。同时由于计算机网络的诱惑,也使得学生在学习过程中很容易把注意力集中到娱乐中,不会在集中精力去学习。而网络社区的发展,网络社区在学生中的盛行,为利用网络促进学生学习提供了可能,如何利用SNS网络把学生对计算机和网络的热情吸引到学习上来,形成师-生、生-生和生-师之间互动的学习氛围,来提高VFP课程的教学质量,是SNS网站应用到VFP教学的主要目的。

三、SNS网站应用到VFP教学的优势

1、SNS的网站有利于帮助VFP学习者获取所需资源

在传统的教学中,学习者主要通过教师讲授进行学习。很多学生课后不知道从而入手进行自学。即使通过网络学习,也很容易被其他信息分散注意力,影响学习效果。而在SNS网站中,学习者可以通过网站内的图书馆,站内邮件、短信、项目合作、名师教学、好友分享、好友日志、好友动态等栏目获得资源,把自己需要的资源放入网站的个人图书馆中。这有利于学习者积极主动地进行自学,提高自己的编程水平。

2、SNS的网站有利于帮助VFP学习者组建团队

在传统的教学中,学生只需完成教师布置的作业,通过考试即可,很难形成团队。而在SNS的网站,VFP学习者通过群组划分可以加入相应群组,在该群组中都是VFP的学习者。他们有共同的话题,且可互相帮助共同提高。在面对网站内的项目合作问题时,可以多人组团进行。这些人经过多次合作,很容易形成软件开发团队。

3、SNS的网站有利于实施过程评价

过程性评价的“过程”是相对于“结果”而言的,具有导向性,过程性评价不是只关注过程而不关注结果的评价,更不是单纯地观察学生的表现。

在传统的教学中,对学习者实施评价基本都是期末的成绩、学分。最终造成学习者考试成绩很好,但实际解决问题能力不足,自己无法把学到的知识应用于具体的软件项目开发。而在SNS的网站,可以提供学习者的过程性学习记录。记录下该学习者完成作业情况,参与的项目,开发的程序,参与的话题讨论,学习者的自我评价、小组互评和交互评价等,在网站中所有学习的过程都会留下记录。教师可以根据网站提供的数据及时了解各学习者学习情况。及时调节,使计划、方案不断完善,以便顺利达到预期的目的。

四、应用于VFP教学的SNS网站的基本功能及特点

应用于VFP教学的SNS网站的基本功能:

1、首页:用户登陆后看到的第一个界面;

2、项目合作:主要是相关软件开发信息公布,软件开发过程中的人员招聘信息,软件开发过程中的组团信息等;

3、教师风采:主要对热点教师进行的详细介绍,包括教师的教学课程、课件、科研、成果等;

4、名师教学:是指中国名校VFP学习的视频录像;

5、图书馆:分别设置为公众图书馆和个人图书馆,主要是在VFP学习过程中搜集到的精品资料,通过上传资料可获得积分;

6、学习交流:主要是指在学习过程中的交流互动。

应用于VFP教学的SNS网站必须有以下几个特点:

1、内容简洁,娱乐性内容少;

2、学习资料丰富,获取和上传容易;

3、有展现个人才能的空间;

4、能获取在线帮助,群体合作性强。

五 结语

在SNS网站平台,学习者可以找到学习的资料,当有困难时候,可以在这个平台上获得帮助,并认识一群共同学习者,促使形成学习团队;老师可以随时在这个平台上了解学生情况、对学生进行指导,并可以实施过程评价;同时经常搜集、发布一些小的外包信息,这样学习者就能学、用、实践相结合,并形成稳定的合作团队。(作者单位:江西科技学院计算机中心)

本文受江西科技学院教改课题“计算机高级语言实验教学体系改革研究”编号:jy1219资助。

参考文献

[1]肖广德、高丹阳,应用 SNS网站功能构建网络学习环境初探,中国电化教育,2010(4)

[2]张春红,于翠波,朱新宁,高雅.社交网络(SNS)技术基础与开发案例[M].北京:人民邮电出版社,2012

VFP图像技术分析与应用 篇4

关键词:VFP,图形图像,技术

Visual ForPro(简称VFP,下同)是微软旗下中小型MIS的经典开发平台,在我国拥有相当的用户群体。但VFP的图形图像处理能力相对薄弱,为此,笔者经仔细研究并归纳总结了一些基于VFP的图形图像处理技术,以飨读者。

1 概述

熟悉VFP的人都知道,自从微软收购Dbase/FoxBase+并发展到Visual Foxpro确实使VFP逐渐形成了自己的用户群体和定位。虽然VFP中的DBF开放式数据结构对安全构成一定的威胁,但因VFP可以完美的支持SQL Server数据库,若适当做加密处理,则在小型应用领域通过VFP加上SQL Server数据库引擎,仍具有不可动摇的优势。

VFP对开发技术水准要求不高,稍事学习即可上手。因VFP解释执行,所以调试程序非常方便,不用像C++/Delphi等需要全编译一个项目才能运行,它可让您直接Do/Run/?一下就可看到程序输出结果。VFP强劲的发展潜力和微软对它的信心等,从vfp7/8/9的推出就可看出。

特别是对于管理软件,因VFP本身就是数据库操作语言,它是从FoxBase发展而来的,一开始就是数据库操作语言,对象等流动特性是后来加上去的,故它的数据统计(诸如insert into,select,loacte…)等处理均非常方便。而其它语言,诸如VB,Delphi等的数据库操作功能是后来加上去的,只能依赖于数据库服务器,数据到了前台,处理起来非常麻烦,对ADO记录集只能用循环来逐条处理。因为通过ADO操作DBF和VFP直接操作DBF的方式毕竟有本质差异。

VFP作为微软一直坚持更新的软件之一。特别是在单机数据处理上,VFP处理数据之快,即使不使用Rushmore技术,也是绝对一流,何况就国内的目前情况看,能用上Rushmore技术的项目也不多。另外,要进行封装做成完善的、桌面型的数据库管理,Access和Execl等也无法与VFP相比,VFP比Access具有更强的编程性。

虽然VFP在专门领域表现相当出色,但它还是有一定的局限性,诸如:多媒体、网络、WEB设计、OS底层操作等方面。正因为VFP在多媒体方面相对较弱,笔者才对VFP中的图形图像技术格外关注,以企通过本文为广大VFP爱好者提供一些方便。

2 常规的VFP图形处理技术分析

在VFP中,常规的图形存储是利用通用字段(General),通过APPEND GENERAL命令来实现。即:APPEND GENERAL GeneralFieldName FROM PictureFileName。其中,GeneralFieldName为通用性字段名;PictureFileName为图形文件名,图形可以是bmp、jpg、gif…等。

使用该字段中的图形数据时,可于表单中加入图形控件(如Image对象),将图形控件的Picture属性设置为TableName.GeneralFieldName即可,其中,TableName是表名。此刻移动记录,则Image控件亦将随之改变其图形内容。

VFP支持用该方法保存和显示Bmp位图文件,但对Jpg、Gif等图像文件则无法直接显示,只能将其保存的图像文件名显示出来,但VFP支持自动调用Windows系统下的图形处理软件处理之。

另外,利用VFP中的Grid控件虽然可以显示图形,但当图形的尺寸不统一时,视觉效果不佳,且Grid本身无法克服该困难。尽管在VFP7以上的Grid增加了Autofit方法,但也帮助不大。

如果不是源于DBF中的Genaral图形数据,处理起来更加方便,下面就是一个利用Image控件浏览图形的简单实例。

2.1 设计表单及各控件属性

创建表单并修改其Caption属性为“浏览器”,为禁止用户调整表单可将其BorderStyle属性设为2,MaxButton和MinButton均置为.F.。

添加List控件并置其IntegralHeigh属性为.T.,以使其能自动调整显示所有文本。置MultiSelect为.T.,使用户可做多重文件选择。将其RowSource设为*.bmp,RowSourceType设为7,指定List的数据源Bmp图形文件。

再添加标签控件并置其Caption为“文件类型:”。添加组合框Combo1并置其RowSource为“*.bmp,*.cur,*.icq,*.jpg",明确它支持的图像文件类型。同时置其RowSourceType为1,Style为2,Value为*.bmp,即默认文件类型为Bmp文件。

最后,添加Image控件并置其Stretch为1,以使图片总能以相同的比例显示。

2.2 代码设计

表单创建时可考虑图形文件所在的具体路径,代码如下:

组合框将提供待显示的图形文件类型,其代码要设计为:

List控件是为了让用户选择待显示的图形文件,故其代码可设计为:

2.3 变相存储图形数据

虽然VFP中的通用字段可以存储图形数据,但其效果并不理想。特别是BMP图形文件虽然可在VFP中直接显示,但因其非压缩格式特点,使DBF文件异常庞大,转移困难。而JPG等文件又稍有不便,为此,笔者曾多次通过字符型字段存储图形文件路径的方法,来变相存储图形数据,效果颇佳。

即DBF中的图片等字段设置成字符型,长度视文件路径的具体情况而定,一般取40至60个字符即可。该字段保存相应图形文件的路径和文件名,而不是具体的文件内容。这样一来,DBF文件一般很小,移动时只要将其图形文件也相应移动即可,操作起来相对方便。

主要代码如下:

This.Image1.Picture=PhotoFieldNameInChar

其中,PhotoFieldNameInChar是保存有图形文件路径和名字的DBF表字段名。

3 基于二进制Memo字段存储图形

考虑Jpg文件的压缩型机制,故保存和显示Jpg等图像文件相当实用。这里不考虑用General字段,而是把图像文件保存到一个二进制的Memo型字段中,显示图像时再将Memo字段内容输出到一个临时文件中,然后再将临时文件名赋给Image控件中Picture属性即可。一般地,只需构造两个函数即可,一是将图像文件保存到Memo型字段中,再一个是将Memo型字段中的图像保存到一个外部文件中。

前者的主要内容包括检测字段类型是否为Memo,检测相应文件是否存在,接着通过JustFName()函数返回文件名,再通过Padr(函数将该文件名处理成一定长度(本例为64)的字符串,再通过Filetostr()函数将文件本身也转换成字符串。最后,将两个串并起来,替换到表中的相应Memo字段中即可。关键代码为:

Filetostr()返回的字符串可以很大。可由内存或硬盘的空间大小决定是否将该字符串保存到一个变量、数组元素或备注字段中。因VFP中字符字段限制为254个字符,对于一般的图形文件也只能存储在Memo型字段中。

后者的主要内容包括检测类型,检测字段,检测Memo字段保存的文件名长度是否后64,提取Memo字段中保存的文件名。先利用Justext()函数提取三个字母的文件扩展名,再通过Defaultext()生成一个带扩展名的完整文件名,接着借助函数Strtofile()将字符串的内容写入文件,并返回该文件名。关键代码为:

用该方法处理图像数据,一般对于不大于2M的文件,速度还是非常满意的。即使文件较大时,也仅仅在显示速度方面稍受影响。其实,显示速度受损也不全是算法所致,与电脑的显存及CPU速度等因素均有关。

4 结束语

本文是笔者在利用VFP开发过程中的一些经验或总结,其实,在VFP中保存和显示图形图像数据或许还有更好的办法,本文全作抛砖引玉,以期能给读者以参考。

图形图像处理的另一方面是动画设计,鉴于篇幅所限,笔者将另文描述,这里暂时从略。不妥和错误之处,敬请各位专家和读者批评指正!

参考文献

[1]鲁宝玉.用VFP管理远程数据库中的图像[J].计算机应用与软件,2005(7):42-43.

VFP应用系统 篇5

学籍管理是高校教务管理系统中的重要组成部分,主要包括学生基本情况(姓名,所在班级,所学专业,所在系等)、各系学籍情况(所含专业,所含班级,所含学生)、各专业学生情况(所含班级,所含学生,所在系别)、班级基本情况(所含学生,所含专业,所在系别)等的管理。管理所要达到的要求是不管以什么方向(学生、系、专业、班级等)为出发点都可以查到其相关的所有信息。如通过查单个学生的情况可以查询此学生的所有在校信息,而通过查询各系、各专业或各班也能同样得到所查对象的所有详细信息。并且还具备信息修改能力。如系名称的变更,学生退学等情况发生,学籍管理方式都必须能有很好的适应能力。也只有达到上面的所有要求才可以为政策的制定,教学安排,学生的管理提供可靠的依据。长期以来,学籍管理工作一直采用手工方式进行,劳动强度大,工作效率低,重复性劳动多,随着高等教育事业的发展和教学方式改革的深人,学校办学规模日益扩大,学籍管理就显得繁琐和复杂,传统的管理方法、手段以及工作效率已不适应发展了的新情况,并有碍于教学管理水平的进一步提高,将计算机引人教务管理工作,实现管理手段的现代化,就成为解决问题的唯一出路。本文也正是在此基础上提出了高校学生学籍管理系统开发方案。

1系统的开发原则

笔者在开发软件原则的制定上,进行了反复论证。因为这是一个新系统开发前最重要的准备工作,它将贯穿在功能设计、技术开发、安装调试、运行维护的全过程,也是一个系统能否成功的关键,经过研究确定系统的开发原则如下:

1.1采用面向对象编程(OOP)方式进行开发的原则

面向对象编程是目前软件开发的一个新标准,它与过去传统的过程化程序设计不同,程序设计采用事件驱动,这样程序员不再是控制者,相反用户成为控制者,这种方式能更有效地实现用户与应用程序之间的交互。

VFP是一种面向对象编程的软件开发工具,它使用了真正的类,包括继承性、封装性和多态性,它可使开发者快速开发出满足需要的应用程序,而且程序的可移植性好,基于这些,本系统的开发工具采用VFP。

1.2操作简便易学的原则

一个较好的管理系统都要以用户的习惯性操作为出发点,要让程序适应用户,不能让用户习惯程序。本系统采用了菜单和工具栏两种工作方式,用户通过菜单或工具栏上的快捷图标对系统进行操作,同时系统还给出实时在线帮助,保证用户很快地掌握系统的使用操作。

1.3反映高校学籍管理规律的原则

设计任何管理系统,都必须从客观实际出发,以解决现实问题为目的,学籍管理是一个动态过程,大量信息与数据处理的有序性、高效性是其突出的特征。开发学籍管理系统必须反映学籍管理的客观规律性及其基本特点,符合管理科学化、规范化要求,保证教学的各项工作,以适应新形势的发展和环境的变化,提高其适应能力与应变能力。同时也是学校教学改革的总体反映。

1.4结合学校实际的原则

目前本校的学籍管理工作主要采用手工方式进行,随着教学改革的深人,招生规模的不断扩大,用手工方式进行会极大地浪费人力、物力,使用本系统,可以很方便地进行修改,系统会自动生成相应的学籍数据,能大大提高工作效率。

2系统的数据结构设计

2.1系统数据库的建立

数据库的建库首先要考虑到有利于系统功能的实现,其次,尽可能考虑数据库操作和数据共享,以及采用字符型数据的压缩技术,减少数据冗余度,节省内存空间。本系统所建数据库包含四个基本数据表。

(1)部门信息表(系部.DBF):记录了全校所有的系(分院)、部的基本信息,可以随时根据学校部门的调整,对该库进行修改。

(2)部门信息表(专业.DBF):记录了各个系(分院)所设专业的信息,包括专业的名称、简称、简介及该专业对应的系(分院)等,用户可以根据学校的专业调整对本库内容进行修改。

(3)班级信息表(班级.DBF):记录了全校所有班级的信息,包括班级的建制时间,辅导员等信息,可以随时根据学校班级的调整,对该库进行修改。

(4)学生基本情况表(基本情况。DBF):记录了学生的基本情况,包括学生的姓名、性别、政治面貌、人学成绩、系别、专业、班级等信息,用户可以根据学生基本情况的变动情况对本库进行修改。

2.2各数据表间的关联

在2.1中所建的四个数据表中,以学生基本情况表为核心库,其它三个表的操作都以此表为基础。

在实现系统的过程中,将以上四个表用VFP自带的关联工具进行关联,在有些具体关联不能满足系统要求时,采用VFP编程的方法实现。实现数据表关联后,对于前言所介绍学籍管理要求的任意查询及连动修改功能就可轻松实现。如:在学生基本情况表中查某一学生时,同时根据其系列、专业、班级字段可同时查出其系、专业、班级的情况。而在学生基本情况表中查某一系时本系所含专业(在学生表中查)、本系基本情况(在系部表中查)、本系班级情况(在学生表中查)等信息就可一次得出。以此类推,以学生基本情况表为查询基础,可以查到所要查的任何信息,并且只要用户一次查询即可实现。而对于某一参数的修改由于建立了数据关联关系也是非常容易的。如:系名的变更,可先在系表中获得要变更的系,然后将系表中要更改的系名进行变更,随后在专业表、班级表、学生表中查询与要变更的系名相同的记录实现一次变更。其它信息的变更可以此类推。

3系统完成的功能及组成为了达到所设计数据库实现的功能,系统应当具备用户设置(对使用本系统的人员进行限定)、数据操作(对四个表的查询、浏览、删除、变更、打印等操作)、数据统计(对四个表的数据进行统计)、数据维护(备份数据、还原数据)、帮助功能。

3.1用户设里

系统有密码设定和退出功能。为了防止非法用户启动本系统,在系统中设定了口令密码,启动时只有输人正确的密码才能进人该系统,同时为了系统的安全性,用户只有时常更改密码,才会使系统更安全。通过密码设定功能,用户能随时更改密码来保证系统的安全性。退出功能可以使用户退出此系统,同时系统进行数据清理,把无用信息从系统中删除。

3.2数据操作

系统中的数据都存储在部门信息库、部门信息库、班级信息库、学生基本情况库四个基本数据库中,数据操作功能使用户对本系统中这四个数据库进行浏览、查询、增加记录、删除记录、编辑数据、打印数据等操作。

3.3数据统计

数据统计包括对学生的基本情况、学生的学籍变化等所作的统计,并将统计后的结果浏览、打印。

3.4数据维护

数据在任何系统中都是至关重要的,数据的完整性、可靠性直接影响到系统的查询结果,然而由于计算机的意外事故或操作人员的误操作,都有可能破坏系统中的数据,所以能够保护系统数据对于一个系统来说是很重要的。

本系统通过数据维护来实现对系统数据的保护,数据维护包括数据备份和数据恢复两个功能,利用数据备份功能可以把系统数据备份到软盘、硬盘等介质上,利用数据恢复功能可在系统数据遭受破坏时,从以前备份数据介质中把数据恢复到系统,使系统能正常运行。

3.5帮助

一个好的系统不仅要达到解决问题的目的,还要给出必要的帮助来协助用户很好地使用该系统。本系统也不例外,为了能使用户用好此系统,在系统中给出了所有的操作帮助,同时,在用户操作某一功能时,如果想了解相关的帮助,只需按一下F1键,系统会自动弹出对应操作的帮助信息,大大方便了用户。

4系统的封装

本系统涉及到数据库表、表单、报表、类代码等大量文件,系统在能独立运行前必须进行封装。封装的具体步骤是将数据库表及表单添加到项目文件中,然后经过“连编”、“编译成可执行文件”生成“学生学籍管理.EXE”文件,再利用“工具”菜单中的“安装”向导,制作基于Windows操作系统的安装盘(带VFP独立运行库VFP6R.DLL和VFP6RCHS.DLL)。利用生成的安装盘进行安装,系统即可脱离VFP,直接在Windows环境下运行。

5结论

VFP应用系统 篇6

一、职业技能鉴定工作的意义和作用

学校开展职业技能鉴定,推行国家职业资格证书制度,是国家人力资源能力建设的重要组成部分,是国家实施人才战略的主要举措。对学生开展职业技能培训鉴定,推行职业资格证书制度,以此推动学校的教学改革,提高学生实践能力和创新能力,拓宽就业空间的有效途径,也是学校适应新形势、确保高质量、办出新特色的重要举措。因此,职业技能鉴定在职业教育中起着重要的主导作用。

二、职业技能鉴定数据申报工作的思考

职业技能鉴定工作中常用的报名软件运行环境是Visual Foxpro(VFP),其数据库系统生成的文件以扩展名为DBF保存。一般各班主任、各科室收集的数据大多是Excel表。起初在录入数据过程中,按报名软件系统将每一个考生数据录入,数据录入的工作量大,容易出错。如果是多人合作输入,这时就应该按照预先分配、确定的顺序号“号码段”进行更改。为了管理方便,一般要求本批申报鉴定的考生录为一个“批次”,多人、多机分录的,要借助软件中“多批合并”菜单合并成一个“批次”,即一个数据库表,如果有考生放弃本次鉴定要删除一条或几条记录,或者有考生又想参加本次鉴定要增加一条或几条记录,这样数据只能在文件的末尾追加录入,一个班的考生报考号码就会分配不连续的几段。有没有更有效的办法呢?带着这个问题,笔者尝试用VFP的导入和导出功能,设计完成了Excel表和VFP表的数据互换。

三、具体设计思路与实现方法

1.VFP和Excel的优点

VFP是一种关系型数据库管理系统,由于其强大的数据处理能力及良好的兼容性和灵活性,成为许多数据库系统设计者钟爱的开发平台,是计算机科学技术中发展最快的领域之一,广泛应用于各个领域中。它已成为计算机信息系统的重要组成部分。而Excel则是一个优秀的电子表格处理软件,在兼容性和灵活性、操作界面、公式运算、图表等方面有着独到的优势,成为广大办公应用人员常用的工具。上述两种软件在各自的应用领域均得到广泛的应用,由于两种软件共同具有良好的兼容性和灵活性,为两者相辅相成、取长补短奠定了良好的基础。

2.实现方法及操作步骤

(1)建VFP表模板 ,在报名软件系统中输入1~2位学生的基本信息(包含学生姓名、性别、身份证号、出生日期、鉴定工种),保存为VFP表模板后退出报名软件。

(2) 建Excel表模板,启动VisualFoxpro 6.0,将上述刚保存的VFP表模板导出成Excel表模板,实现VFP表和Excel表数据一致性。

(3) 填充Excel表模板,将收集的全部学生的基本信息数据复制到导出的Excel表模板中,然后对考生要增加或要删除的数据信息进行修改。最后用填充柄的方法填入考生报考号码,其它相同的数据如:工种代码、工种名称、级别、鉴定日期等可用填充柄的方法,也可用复制、粘贴的方法完成。

(4) 转移数据操作,启动VisualFoxpro 6.0,将修改好的Excel模板表导入成VFP表,在VisualFoxpro6.0命令窗口中,利用Replace命令、iif()和substr()函数通过身份证号得到出生日期和性别字段数据。利用Replace命令和Ltrim()函数删除报考号码前空字符串。

具体命令格式为

Replace all 性别 withiif(substr(身份证号,17,1)=”0”.or. substr(身份证号,17,1)=”2”.or. substr(身份证号,17,1)=”4”.or. substr(身份证号,17,1)=”6”.or. substr(身份证号,17,1)=”8”,”女” ,”男”)

或者 Replace all 性别 withiif(substr(身份证号,17,1)=”1”.or. substr(身份证号,17,1)=”3”.or. substr(身份证号,17,1)=”5”.or. substr(身份证号,17,1)=”7”.or. substr(身份证号,17,1)=”9”,” 男” ,” 女”)

Replace all 出生日期 with substr(身份证号,7,4)+”-”+ substr(身份证号,11,2)+”-” substr(身份证号,13,2)

Replaceall 报考号码withLtrim(报考号码)

这样整个申报鉴定的数据库表就完成了,其特点是申报鉴定的考生数据量越多,显示出录入考生的数据工作越快,解决了多人、多机分录的问题,考生报考号码段分配不连续的问题,考生数据增加和删除的问题。以前几天要完成的工作量,通过这种方法只要几个小时就能完成。大大地提高了申报鉴定数据的工作效率。

3.操作注意事项

(1)在创建Excel表模板时, Excel表中列与VFP表中字段之间要一一对应关系,这是非常关键的一步。

(2)在Excel表模板创建好后,要确定Excel表模板转移数据的范围,也就是Excel表模板中某一行数据对应VFP表中相应的某一条记录。如在导入时应选择“字段名所在的行为1”,选择“导入起始行为2”。

(3)转移数据时要处理两表中数据不完整和类型宽度不一致的问题。利用Replace命令、iif()和substr()函数通过身份证号求出出生日期和性别字段数据,利用Replace命令和Ltrim()函数删除报考号码前空字符串。

技能鉴定的数据申报要求必须具备数据的准确性和规范性。笔者在几年的数据报表工作中,处理过许多Excel表与VFP表之间的数据转移工作,运用以上设计思路与实现方法,能够实现“灵活、快捷、高效”的数据统计与报表目标。

参考文献

1.徐春香.Visual FoxPro6.0数据库管理与应用[M].北京:中国劳动社会保障出版社,2008.

2.高长铎.计算机应用基础[M].北京:人民邮电出版社,2009.

3.卞兴江.浅论VFP数据库技术与应用[J].电脑知识与技术,2008.

WinRAR在VFP中的应用 篇7

1 WinRAR简介

WinRAR是一款非常实用的压缩软件,能够将数据压缩50%甚至更多,在使用软盘作为压缩文件存储介质时,当压缩文件大于软盘容量时,会自动将文件存储在多张软盘上,且支持命令行方式,功能十分强大。

WinRAR行命令基本语法如下:

WinRAR<命令>-<开关1>-<开关n><压缩文件><文件…><@列表文件…><解压路径\>。

这里主要运用WinRAR的a命令和e命令及-r开关:a命令可以添加文件到指定的压缩文件;e命令可将指定压缩文件解压还原到当前或指定的目录;-r开关用于指定在进行数据压缩时,包含当前目录中的所有子目录。

当用软盘存放压缩文件时,还需运用-v<n>开关及-vd开关:-v<n>用以创建卷及大小(如-v1440表示存储介质为1.44 M软盘,当压缩文件大于1.44 M时,系统会提示是否创建下一分卷,这样当第一张软盘存满时,系统便会自动提示换盘,继续在下一张软盘上存储压缩文件)。-vd在创建分卷压缩前清除

磁盘上的内容。

2 示例表单

要在VFP中调用WinRAR,只要将WinRAR.EXE直接拷贝到VFP的安装目录中即可,如需生成自解压文件还需将Default.SFX一同拷贝到VFP安装目录中。

创建表单(见图1)。

在表单中建立页框Pageframe1,设置页数为2:page1(数据压缩备份),page2(压缩数据还原)。

1)在page1(数据压缩备份)中建立如图1所示的各个对象,文本框:

text1,text2,text3;命令按钮:command1,command2,command3,command4。定义各对象的属性及事件过程,重点介绍如下:

2)在page2(压缩数据还原)中建立如图2所示的各个对象,文本框:

text1,text2;命令按钮:command1,command2,command3,command4。定义各对象的属性及事件过程,重点介绍command1及command3命令按钮事件过程,其他文本框、命令按钮的属性及事件过程同1):

3 函数及命令

在上述“WinRAR在VFP中的应用”示例中,主要运用了如下函数及命令:1)GETDIR()函数:用以显示“选择目录”对话框,从中可以选择目录或文件夹。2)GETFILE()函数:用以显示“打开”对话框,并返回选定文件的名称。3)RUN|!命令:用以执行外部操作命令或程序。

4 结语

上述表单示例已在VFP8.0下运行通过,由于WinRAR压缩软件支持命令行方式,所以在VFP中能够用RUN命令来调用,这样为对系统数据进行压缩备份与解压还原提供了极大的方便。在进行软件发布时,只需将WinRAR.EXE一并放入到程序安装包中即可。

摘要:对WinRAR软件进行了介绍,列举了WinRAR行命令的基本语法,详细介绍了在Visual FoxPro中调用WinRAR等压缩软件,实现对数据的压缩备份或解压还原,指出了WinRAR在VFP的应用中常用的函数及命令,从而推广WinRAR的应用。

关键词:VFP数据,存储,压缩,备份

参考文献

VFP中SQL语句的灵活应用 篇8

VFP是一个功能较强的小型关系型数据库管理系统,可以非常方便地对数据进行存储、编辑、显示和查询等操作。VFP提供了基本的数据显示、编辑和查询命令,如:LIST、DISPLAY、BROWSE、EDIT、CHANGE等命令,可以对表中的数据按指定的范围或指定的条件进行显示、编辑或查询。另外,VFP还提供了SQL结构化查询语言,它们可以更加方便、灵活地对单表或多表中的数据进行查询或编辑。VFP提供的SQL结构化查询语言主要有四条语句,分别是:SELECT(数据查询语句)、INSERT(数据插入语句)、UPDATE(数据更新语句)和DELETE(数据删除语句),其中功能最强使用最广的是SELECT语句,它构成了SQL结构化查询语言的核心。

2、表结构与数据的基本组成

为了方便举例,使用了下面的三张表:

(1) 职工.DBF(存放职工信息)

职工.DBF (职工号C (6) , 姓名C (8) , 性别C (2) , 婚否L (1) , 出生日期D (8) , 基本工资N (8.2) , 部门C (6) , 简历M (4) , 照片G (4) )

199701李长江男T 05/12/75 1000.00直销

199702张伟男F 06/23/76 2300.00零售

199801李四方男T 06/18/77 2000.00零售

……

(2) 销售.DBF(存放职工销售信息)

销售.DBF (职工号C (6) , 商品号C (4) , 数量N (8.2) , 金额N (12.2) )

199701 1001 80.00 4000.00

199702 1001 30.00 1500.00

199803 2003 15.00 645.00

……

(3) 商品.DBF(存放销售商品的信息)

商品.DBF (商品号C (4) , 商品名称C (20) , 类别C (4) , 库存量N (8.2) , 单价N (8.2) , 单位C (4) )

1001海飞丝洗涤700.00 50.00瓶

1002潘婷洗涤580.00 40.00瓶

1003沙宣洗涤360.00 47.00瓶

……

3、应用实例

下面分别介绍四条语句的格式及应用。

3.1 SELECT查询语句的使用

SELECT查询语句的基本格式:

SELECT表名1.字段名1[AS标题名1], 表名1.字段名2[AS标题名2], …

FROM数据库名!表名1[,数据库名!表名2][, 数据库名!表名3]

[WHERE选定条件]

[GROUP BY分组字段名]

[HAVING分组中的满足条件]

[ORDER BY排序字段名1[ASC|DESC][, 排序字段名2[ASC|DESC]...]]

[TO FILE文本文件名|INTO TABLE|INTO CURSOR表文件名]

其中:

功能:从一个表或多个表中筛选出满足给定条件的记录。

(1) 单表查询

SELECT语句针对一张表中的数据进行查询。

例1:查询1975年以后出生的职工信息。

SELECT*FROM职工WHERE YEAR (出生日期) >=1975

【注】:通过"WHERE"子句,可以查询符合条件的数据。"WHERE YEAR (出生日期) >=1975"表示出生日期在1975年以后。

例2:查询"直销"和"零售"部门的职工信息,以部门与职工号排序。

SELECT*FROM职工WHERE部门in ("直销", "零售") ;

ORDER BY部门, 职工号

【注】:子句"WHERE部门in ("直销", "零售") "表示符合条件"部门="直销"或部门="零售"。对数据进行排序,则可使用"ORDER BY"子句。其中的"ORDER BY部门, 职工号",表示数据先按部门排序,当部门相同时再按职工号排序。

例3:查询单价在30~50间的商品信息。

SELECT*FROM商品WHERE单价BETWEEN 30 AND50

【注】:子句"WHERE单价BETWEEN 30 AND 50"表示符合"单价在30至50间"的条件。

(2) 多表查询

SELECT语句可以通过连接其它表的方式方便地进行多张表中数据的查询。

例4:查询销售金额>=2000的人员信息,按销售金额从高到低排序。

SELECT职工.职工号, 姓名, 金额as[销售金额]FROM销售, 职工;

WHERE职工.职工号=销售.职工号AND金额>=2000;

ORDER BY金额DESC

【注】:可以通过子句"WHERE职工.职工号=销售.职工号"将职工表与销售表连接。子句"ORDER BY金额DESC"按金额从高到低排序。

例5:查询各位职工的销售数据。

SELECT姓名, 部门, 商品名称, 单价, 数量, 金额FROM职工, 销售, 商品;

WHERE职工.职工号=销售.职工号and销售.商品号=商品.商品号;

ORDER BY职工.职工号

也可采用下面的语句形式,查询的结果一样。

SELECT姓名, 部门, 商品名称, 单价, 数量, 金额FROM职工;

INNER JOIN销售ON职工.职工号=销售.职工号;

INNER JOIN商品on销售.商品号=商品.商品号;

ORDER BY职工.职工号

例6:查询各类商品的最高销售数量。

SELECT商品名称, 类别, MAX (数量) as[最高销售数量]FROM销售;

INNER JOIN商品on销售.商品号=商品.商品号;

GROUP BY类别

【注】:可以在SELECT语句中使用如下参数对数据进行统计:

MAX () 确定分组中的最大值。

MIN () 确定分组中的最小值。

SUM () 统计数值型数据分组的总和。

AVG () 计算数值型数据分组的平均值。

COUNT () 统计分组中行的数目。

例7:查询各销售人员的合计销售金额。

SELECT姓名, 部门, SUM (金额) as[销售金额合计]FROM职工;

INNER JOIN销售on职工.职工号=销售.职工号;

GROUP BY职工.职工号

例8:查询"零售"部门各职工销售的商品种数和销售的合计金额

SELECT姓名, 性别, count (销售.商品号) as[销售商品种数], ;

SUM (金额) as[销售金额合计]FROM职工, 销售;

WHERE职工.职工号=销售.职工号AND部门="零售";

GROUP BY职工.职工号ORDER BY职工.职工号

例9:查询销售金额合计前3名的职工信息。

SELECT TOP 3姓名, 性别, 部门, count (销售.商品号) as[销售商品种数], ;

SUM (金额) as[销售金额合计]FROM职工, 销售;

WHERE职工.职工号=销售.职工号;

GROUP BY职工.职工号;

ORDER BY销售金额合计DESC

【注】参数"TOP 3"表示查询只显示前三行数据,使用时必须与"ORDER BY"子句相结合。

例10:查询各职工销售的相关数据并保存到一张表中。

SELECT姓名, 性别, 部门, 商品名称, 类别, 数量, 金额FROM职工;

INNER JOIN销售ON职工.职工号=销售.职工号;

INNER JOIN商品ON销售.商品号=商品.商品号;

ORDER BY职工.职工号;

INTO TABLE XSXX

【注】:为了将查询的数据保存到表中,可以在查询语句中加入"INTO TABLE"子句,上例的"INTO TABLE XSXX"将查询数据保存到名为"XSXX"的表中,该表会自动创建。

例11:查询与职工"李长江"同性别的职工的相关信息。

SELECT姓名, 性别, 部门, 商品名称, 类别, 数量, 金额FROM职工;

INNER JOIN销售ON职工.职工号=销售.职工号;

INNER JOIN商品ON销售.商品号=商品.商品号

ORDER BY职工.职工号;

WHERE性别IN;

(SELECT性别FROM职工WHERE姓名="李长江")

【注】:本例采用了嵌套查询,即SELECT查询语句中又嵌套了一个或多个SELECT语句。

嵌套查询可以通过在<WHERE子句>中包含子查询,使用子查询必须有如下限制:

子查询必须用圆括号括起来。

子查询的<SELECT子句>(即返回列)只能有一个返回列。

只能在主查询中使用UNION合并查询和<ORDER BY子句>,而不能在子查询中使用它们。

例12:查询所有与职工"李长江"销售同样商品的职工信息。

SELECT姓名, 商品.商品号, 商品名称, 单价, 数量, 金额FROM职工;

INNER JOIN销售ON职工.职工号=销售.职工号;

INNER JOIN商品ON销售.商品号=商品.商品号;

WHERE销售.商品号IN;

(SELECT销售.商品号FROM职工, 销售;

WHERE职工.职工号=销售.职工号AND姓名="李长江")

【注】:本例通过一个内嵌的SELECT查询语句:

" (SELECT销售.商品号FROM职工, 销售WHERE职工.职工号=销售.职工号AND姓名="李长江") "获得职工"李长江"销售的商品的商品号。

3.2 INSERT数据插入语句

INSERT语句的基本格式:

INSERT INTO表名(字段列表)VALUE(取值列表)

功能:将数据值<VALUES子句>添加到目标表<INSERT子句>中。

例13:将一条销售数据加入销售表。

INSERT INTO销售 (职工号, 商品号, 数量, 金额) VALUES ("199803", "1001", 10, 500)

可以使用INSERT插入数据语句把查询结果插入到其它表。

例14:将销售金额>=2000的职工作为业绩优秀员工。

CREATE TABLE优秀员工 (职工号C (6) , 姓名C (8) , 部门C (4) , 销售金额N (8, 2) )

INSERT INTO优秀员工 (职工号, 姓名, 部门, 销售金额) ;

SELECT职工.职工号, 姓名, 部门, 金额FROM职工, 销售;

WHERE职工.职工号=销售.职工号AND金额>=2000

【注】:先使用语句"CREATE TABLE优秀员工 (姓名C (8) , 部门C (4) , 金额N (8, 2) ) "

新建一个名为"优秀员工"的表,其中有职工号(字符型6位长度)、姓名(字符型8位长度)、部门(字符型4位长度)和销售金额(数值型8位长度2位小数)等四个字段。

再使用INSERT INTO语句将业绩优秀员工的信息插入到刚建的"优秀员工"表中,而"优秀员工"的信息则是借助查询子句:

"SELECT职工.职工号, 姓名, 部门, 金额FROM职工, 销售;

WHERE职工.职工号=销售.职工号AND金额>=2000"

得到。语句执行后,实际将在"优秀员工"表中插入多行相关数据。

上面的INSERT语句也可写成:

INSERT INTO优秀员工 (职工号, 姓名, 部门, 销售金额) ;

SELECT职工.职工号, 姓名, 部门, 金额FROM职工;

INNER JOIN销售ON职工.职工号=销售.职工号;

WHERE金额>=2000

3.3 UPDATE更新数据语句

UPDATE语句的基本格式:

UPDATE表名SET字段名=<表达式>, 字段名=<表达式>, …

功能:更新<UPDATE子句>中满足条件<WHERE子句>的所有记录,修改为<SET子句>中指定的值。

例15:将职工"张伟"的婚否状态改为"已婚"。因职工表中婚否字段为逻辑型,所以,设置婚否=.T.。

UPDATE职工SET婚否=.T.WHERE姓名="张伟"

例16:将销售金额>=2000的职工的基本工资增加10%。

UPDATE职工SET基本工资=基本工资*1.1;

WHERE职工号IN;

(SELECT销售.职工号FROM销售WHERE金额>=2000)

3.4 DELETE数据删除语句

DELETE语句的基本格式:

DELETE[数据库表名]FROM数据表名WHERE条件

功能:删除表<DELETE子句>中满足条件<FROM子句和WHERE子句>的所有记录。

例17:将职工"张伟"的销售数据删除。

DELETE销售from职工;

where职工.职工号=销售.职工号AND姓名="张伟"

【注】:此语句执行时,职工表与销售表按职工号自动关联,实现删除"张伟"的销售数据。

例18:删除"张伟"的相关数据。

DELETE FROM销售WHERE职工号;

IN (SELECT职工号FROM职工WHERE姓名="张伟")

DELETE FROM职工WHERE姓名="张伟"

【注】:职工"张伟"的数据包括销售表中"张伟"的销售数据和职工表中"张伟"的职工数据。所以在删除"张伟"的相关数据时,使用了两个DELETE语句,第一个DELETE是在"销售"表中删除"张伟"的销售数据,第二个DELETE语句是在"职工"表中删除"张伟"的职工数据。

DELETE数据删除语句只是对记录作了逻辑删除,并没有真正删除记录,还可以使用VFP中的RECALL命令恢复删除的记录;如果要彻底删除,则可在DELETE语句执行后,再执行VFP的PACK命令。

参考文献

[1]王衍主编.数据库应用基础[M].北京:电子工业出版社, 2009.

[2]朱珍主编.Visual FoxPro数据库程序设计[M].北京:中国铁道出版社, 2005.

基于VFP开发的工资管理系统 篇9

关键词:Visual FoxPro6.0,开发,工资管理系统

21世纪是信息技术时代, 数字化时代。企业管理的现代化﹑办公自动化, 是现代企业发展的必然趋势。而企业职工的工资管理作为企业管理的一个重要方面, 由于其变化因素多, 人员流动性频繁, 数据量巨大, 人工管理复杂困难, 因此有必要开发一个基于VFP的工资管理系统。

一、系统需求分析

1.系统开发的意义和目标

工资管理系统的开发不仅可以提高企业职工工资管理的准确性, 将工资信息经过核实输入计算机进行存储, 保证统计原始数据的准确性, 在统计工作中尽可能减少人为的因素;还可以大大地提高工作效率, 充分发挥管理系统的统计和分析功能。企业职工工资管理信息系统可以根据实际的需要, 具备各种统计计算﹑报表输出的功能。

工资管理系统的目标是开发一套界面通用﹑编码规范﹑功能完善﹑使用方便的企业工资管理系统。

2.系统模块的划分

1) 系统管理:

主要功能如图所示。

2) 工资设定:

主要功能如图所示。

3) 工资查询:

主要功能如图所示。

4) 工资汇总:

主要功能如图所示。

3.模块功能描述

1) 系统管理。

开始使用企业工资管理系统其他功能模块之前, 利用系统管理建立用户基本信息表。用户基本信息表包括用户名、密码两项。每个用户名对应唯一的密码, 都输入正确后才能进入管理系统。进入系统后, 用户名和密码可以修改。

2) 工资设定。

(1) 修改个人工资:

利用本功能可以对每个职工的工资进行修改。

(2) 打印个人工资:

在完成对个人工资的修改后, 可以利用本功能直接打印出该职工的工资条。单击“打印”按钮即可。

(3) 新职工工资的录入:

利用本功能可以方便地将新来的职工工资情况录入数据库。

(4) 删除个人工资:

利用本功能可以对当前记录进行删除。

3) 工资查询。

(1) 顺序查询:

即向下查询一条记录, 单击“下一个”按钮, 查询下一条记录。

(2) 向上查询:

即向上查询一条记录, 单击“上一个”按钮, 查询上一条记录。

(3) 按某一条件查询:

可按编号、姓名等条件查询。

(4) 打印查询结果:

单击“打印”按钮, 可以打印查询的结果。

4) 工资汇总。

(1) 工资汇总, 显示所有职工工资的总和。

(2) 打印预览, 单击时模拟显示打印的效果。

(3) 工资打印, 单击时打印工资清单。

5) 退出:

单击时退出工资管理系统。

4.对性能和运行环境的规定

1) 精度。

工资总和双精度表示, 共计7位, 小数点后取两位, 具体表示为XXXXX.XX。

2) 灵活性。

除使用工具栏外, 还可以使用菜单栏上的菜单。获取信息的方式多样而且灵活。

3) 运行环境的设备要求。

微机CPU:1.0G, 硬盘:40G, 内存:256M, 显示器 17″。能够打印A4纸大小的打印机。

4) 支持软件。

(1) 开发工具及运行环境:

后台数据库工具我们采用Visual FoxPro6.0自带数据库, 前台则采用Visual FoxPro6.0作为开发工具, 系统运行环境为Windows 2000及以上的Windows操作系统平台。

(2) 开发平台:

操作系统 Windows xp。

(3) 开发工具:

Visual FoxPro6.0。

(4) 数据库:

Visual FoxPro6.0

5) 接口。

软件能够在Windows xp以上的平台上运行。Visual FoxPro6.0数据库与Visual FoxPro6.0前台的连接由Visual FoxPro6.0自身完成。

6) 出错处理。

出错处理主要指数据输入或传递发生错误和系统出现异常时, 在软件程序中设置对应的处理子程序, 以纠正错误。

本软件程序在设计中主要考虑对数据范围限制的超出警告、数据类型错误报警处理和异常中断处理三种情况。系统有足够的健壮性, 在程序崩溃时, 数据不会丢失。

二、系统开发环境的简介

Visual FoxPro6.0是Microsoft公司开发的新一代关系数据库管理系统。它易学易用, 功能完善, 深受广大用户的欢迎。它提供给用户一个32位、面向对象的应用程序开发环境, 使得用户组织数据、定义数据库规则及生成应用程序等工作更加快捷, 同时支持更多、更大容量的数据管理能力。

Visual FoxPro6.0为开发提供了全面、综合性的支持, 可以概括为以下几点:

1.事件驱动程序

Visual FoxPro6.0的应用程序是事件驱动的。即用户通过各种动作控制应用程序的流程。Visual FoxPro6.0给开发人员提供了一个集成环境。应用的各种成分包括窗口、菜单、事务逻辑、数据库存储、数据库生成、图形、报表、表单等全部都在 Visual FoxPro6.0内开发, 而不必再到其他环境中去做。

2.Visual FoxPro6.0语言与函数

Visual FoxPro6.0是新一代的关系型数据库系统, 它易学易用, 功能强大, 与以前的版本相比, 它的功能更加强大, 开发及操作界面更加友好。用Visual FoxPro语言编写的程序通常称为应用程序。应用程序是由FoxPro命令、函数和相应的某一事件所要完成的处理过程的语句所组成的, 它由几百个函数用于操作对象、数字、文字和日期等信息并全面支持的DDE和全文本的I/O。

3.面向对象的编程

在Visual FoxPro6.0中创建的每一个菜单和窗口都是一个模块称为对象 (Object) 。Visual FoxPro6.0应用程序基本的构建块是用户所创建的对象, 每一个对象都具有一些特性和行为 (属性、事件和功能) 利用诸如封装性、继承性和多态性这样的面向对象的编程技术。开发人员可以最有效利用所创建的每一个对象, 使应用程序具有可通用性, 可扩展性的功能。

三、系统设计与实现

管理系统的基础是数据库。所以对本工资管理系统来说, 数据库结构的设计就显得非常重要。数据库是若干个表、表单、视图、索引、关键字以及其他一些数据对象组成的存储应用系统数据的仓库。

1.数据字典

数据字典是对系统所用到的表结构的描述。

2.界面设计

1) 设计登陆界面。

在系统登陆窗口输入相应的用户名, 密码, 单击“确定”按钮, 检验正确后登陆到主界面 (见图1) 。

整个界面采用表单设计, 文件名为Mmk.scx, 由一组文字标签、四组文本框、两组命令按钮和一张图片组成, 具体设置方法如下:

(1) 文字标签:黑体, 居中, 40号字, 颜色灰色;

(2) 文本框:宋体12号, 颜色黑色, 白色背景的只具有提示作用, 提高程序可操作性, 白色背景的可以直接输入文本, 文本长度为3位。这里用户名为lch, 密码为0。

(3) 命令按钮:幼圆10号, 颜色蓝色。

2) 设计系统主界面。

在这个窗口中, 能够完成数据录入、修改、查询、汇总、打印等所有功能。如图2所示:

整个界面由一组文字标签、四组命令按钮和一张图片组成, 具体设置方法如下:

(1) 文字标签:一组文字标签为黑体, 居中, 40号字, 颜色蓝色

(2) 命令按钮:幼圆12号, 颜色黑色。单击时将运行程序组, 完成一定的功能。

单击“工资设定”按钮, 执行语句do form gzsd, 运行工资设定子程序;

单击“工资查询”按钮, 执行语句do form gzcx, 运行工资查询子程序;

单击“工资汇总”按钮, 执行语句do form gzhz, 运行工资查汇总、打印子程序;

单击“退出”按钮, 执行语句

thisform.release

clear events

quit

系统退出该程序。

(3) 图片:作为主界面的背景。

3.各模块设计

1) 工资设定模块设计。

工资设定模块采用表单进行设计。包括以下几项功能:

(1) 修改个人工资: 单击“编辑”按钮, 便可进行工资项目的修改, 单击“保存”按钮进行保存, 单击“还原”按钮将放弃修改。

(2) 打印个人工资:单击“打印”按钮, 便可进行所有记录或当前记录的打印。

(3) 增加新职工工资:单击“追加”按钮, 将在数据表的末尾增加一条空记录, 此时便可进行新职工工资的录入, 单击“保存”按钮进行保存, 单击“还原”按钮将放弃修改。

(4) 删除个人工资:对工作关系转出的职工工资从数据表中删除, 单击“删除”按钮, 系统提示“是否删除此记录”, 单击“Y是”按钮将删除当前记录, 单击“N否”按钮将放弃删除。

2) 工资查询模块设计。

工资查询模块采用表单设计方法。 包括以下几项功能:

(1) 顺序查询:单击“下一个”按钮, 将向下查询一条记录。

(2) 向上查询:单击“上一个”按钮, 将向上查询一条记录。

(3) 按某一条件查询:可按编号、姓名等条件查询, 单击“查找”按钮, 输入要查找的字段名, 单击“查找”, 将查找到满足条件的记录。

(4) 打印查询结果:单击“打印”按钮, 将对所有记录或当前记录进行打印。

3) 工资汇总模块设计。

工资汇总模块采用表单设计方法。包括以下几项功能:

(1) 工资汇总:单击时出现一个新的窗口, 以表格的形式显示所有职工的工资情况。

(2) 工资预览:单击时执行语句

close database all

report form gzhz to print preview

thisform.refresh

将汇总结果模拟显示在屏幕上。

(3) 工资打印:单击时执行语句

close database all

report form gzhz to print

将汇总结果以清单的形式打印出来。

(4) 退出:单击时执行语句

thisform.release

系统退出该程序。

四、性能测试与分析

性能测试是对所开发的程序进行测试, 检测是否能满足用户需求以及对程序内在问题的检验。在测试过程中, 对出现的问题进行必要的修改。

参考文献

[1]毛一心.中文版VISUALFOXPRO6.0应用及实例集锦[M].北京:人民邮电出版社, 2000.

[2]索梅.VISUAL FOXPRO6.0教程[M].北京:电子工业出版社, 2002.

VFP在学籍管理中的应用 篇10

传统的学籍管理工作很多环节一直采用手工方式进行, 尤其是随着各个学校办学规模的扩大, 带来的问题越来越多。为了适应新时代的发展, 采用现代化技术, 提高管理手段势在必行。虽然目前绝大部分高校都已购买综合教务系统, 但是由于系统不是定制开发, 部分功能与学校要求存在差异, 而修改程序花费较大。本文利用VFP (Visual Fox Pro) 编程技术开发了一系列适应实际工作的软件, 来提高学籍管理的质量与水平, 下文对软件中的一个程序进行了详细说明。

学生的学籍库是保存在DBF数据表中, 而VFP是一种面向对象的关系型数据库管理系统, 其提供了功能强大的DBF数据处理能力, 虽然目前微软已经停止对其进行开发, 但是VFP在学籍管理中地位不可替代, 基于这些, 本程序的开发工具采用VFP。

1 功能分析

在学籍管理的日常工作中, 经常需要给任课教师或辅导员提供班级名单。传统的工作方法是通过前期将班级的学生信息拷贝到一个单独的Excel表格中进行保存, 需要时进行打印, 但是这种传统的方式存在着很多缺点, 例如某个班级中有休学、退学或者转专业的同学, 则该班级的名单需要进行手工调整, 有时可能不单单需要调整一个班级的名单, 而在实际工作中有可能就忘记了修改班级名单, 这样就对任课教师造成了极大的不便。为了解决这种不便, 同时为了提供工作效率, 笔者决定开发一个简单但又实用的名单打印程序。

2 系统架构

本着实用的原则, 本程序力求将日常工作中需要的表格都集中在一起。本程序包括“打印学生成绩登记表”、“打印所有成绩登记表”、“打印两列学生名单”、“打印所有两列学生名单”、“打印教学记录表”、“打印所有教学记录表”、“导出excel表格”、“导出所有excel表格”8 个模块, 如图1 所示。可以根据班级进行筛选打印单独某个班级名单, 也可以进行年级、层级筛选一次打印多个班级的名单。

3 系统设计

3.1 报表设计

根据烟台大学文经学院学生成绩登记表及教学记录表的格式进行报表文件的设计, 力求做到与原表格式一致。在设计报表文件时将表格标题部分放置在报表设计器的页标头部分, 而需要显示的数据部分放置在细节区中, 如图2 所示。

3.2 Excel模板设计

因需要将班级名单导出为Excel表格, 所以需要事先设计好固定的格式, 如图3 所示。根据实际工作需要设计好Excel表格, 并保存到软件目录下。在导出数据时根据相应的数据库字段分别将数据写入到不同的Excel单元格中。

4 系统实现

4.1 开发难点

在本程序实现过程中最大的难点就是VFP与Excel的交互编程技术。其交互编程技术的核心问题就是要在VFP中创建一个Excel对象, 通过对其创建的对象进行VFP字段的写入, 通过循环语句将不同字段分别写入不同的位置, 当表格序号达到模板44 行即最下一行时, 切换到Excel模块第6 列的序号列继续写入直至循环结束, 后将该文件保存在当前目录下, 最后将创建的Excel对象释放, 以防止内存泄露问题。主要代码如下:

建一Excel对象

4.2 系统封装

本程序设计到数据表、表单、报表、类代码、Excel模板等大量文件, 程序在能独立运行前必须进行封装。封装的具体步骤是将数据表及表单添加到项目文件中, 然后经过“联编”、“编译成可执行文件”生成“名单打印.exe”文件。

5 结束语

本程序自投入使用来, 大大减轻了工作的劳动强度, 提供了工作效率, 减少了工作中出错的次数。如果出现学籍异动情况, 只需要将学籍表进行修改就可以完全解决以前出现的问题, 使学籍管理工作的执行更加规范化。

参考文献

[1]魏建斌.高等学校学籍管理工作中VFP的实践探究[J].资治文摘 (管理版) , 2009 (05) .

[2]刘洪华.浅谈VFP在高校学生学籍注册中的几点应用[J].学术问题研究, 2012 (01) .

[3]何文全.用VFP控制Excel[J].电脑学习, 2009 (01) .

浅析VFP程序设计教学的方法 篇11

关键词:数据库;多媒体;案例;可视化

中图分类号:G642

文献标识码:A

文章编号:1000-8136(2009)29-0096-02

Visual FoxPro作为数据库管理语言对于高职院校的学生而言具有相对的易学性,其数据库设计与开发、操作的可视性、程序语言的面向对象性,是它的特点,也是学生建立学习兴趣的所在,但也是VFP教学与学习过程中的3个难点。在学习可视化开发过程中,随着设计环境的改变,出现不同的窗口和大量控件及属性图标,记忆与使用起来较复杂;而在开始学习面向对象编程时,比较抽象,有一定的学习难度。在一个学期内解决好这些问题,是任课教师所面临的一大挑战,针对VFP的特点、难点和传统教学的缺陷,我们在VFP的教学中采用了以下方案。

1 尽量使用投影仪或者在计算机多媒体教室中进行教学

在计算机教室中安装好各种教学软件,如极域电子教室等,教师在教师机上使用与讲授VFP各种对象的可视化操作,学生在自己面前的学生机上可清晰地看到老师的操作过程,可以直观地理解VFP的各个菜单命令的使用方法和操作结果。这样的教学方式,可以极大地缩短学生接触与熟悉理论知识的时间,在有限的课时内,可以更多地进行实践操作与练习,与教师有较多的时间解决学习中的具体问题,能够进行更多的交流,从而达到事半功倍的教学效果。此外,为了更有效率地对学生进行练习,解决VFP内容多、课时少的矛盾,教师还可将相关的课件、VFP试题库存入教学机内让学生自主学习。

2采用一个典型的实用案例

如《学生信息管理系统》贯穿整个教学过程。这是一个学生身边的案例,学生通过它能够较容易地理解数据库的模型结构,能体会到数据表之间的关系,在初学阶段,学生能激发起较强的学习兴趣。所使用的案例系统、结构分为学籍管理和成绩管理2个子系统,各部分即独立又有显而易见的联系,学生易于建立结构,各功能要简单而实用,要分别实现信息及成绩的浏览、查询、修改等,学生易于明白所学重点,又为进一步的提高打好基础。这个案例使用了VFP各个知识点,从建立项目始、数据库表建立、查询视图建立、报表标签、表单到菜单的建立,其间融入了程序代码设计、表间关系的设定、各种对象的可视化属性的设置,锻炼学生分析设计各功能模块、理解解决的问题的思路、掌握相关知识内容,从少积多,在学生学习过程中形成一个能够初步解决实际问题的项目。在实际教学中通过案例教学,弱化了VFP的单纯理论教学方法,强化了学生对知识的可见性与可操作性,在学习上有了更多的主动性与灵活性;学生既从微观上掌握了VFP各个知识点的作用,又能在宏观上体会到各功能的有机联系,在学习中逐渐掌握数据库管理系统的开发方法和步骤。在课程实训阶段,要求学生仿照所学内容,设计一个管理信息系统,给出具体的设计要求,如职工管理系统,要求至少4个数据表以上。能够表间互相关联,能够实现某几个项目的查询,输出形式根据不同的结果采用不同的形式,同时应有友好的人机交互界面,用户登录和访问权限及系统设置功能等。通过实训,提高学生掌握与运用知识的能力,能够由一个数据库多表间的操作,扩展到多个数据库间的关联操作,综合掌握输入输出设计的灵魂——表单。

3重点学习表单的制作体现可视化开发的过程

掌握VFP表单设计技术是学习可视化开发技术及掌握面向对象的程序设计的一个重要过程,是进一步理解相关概念如对象及其属性、对象的事件及方法、类、容器、封装等的基础过程。VFP面向对象的功能在表单制作中极大地得到体现,表单的功能不再是一个简单的输入与输出界面,数据库管理功能也是在各种查询表单中实现,我们同时在表单中加入了如各命令按钮,设计了各种控制命令代码后,就可以用表单担负起一个数据库管理系统中的绝大部分功能。因此VFP应用系统实际开发过程的实现也主要是表单的制作技术。在讲述表单时,要尽可能掌握各种与实例相关的各表单的主要查询统计类型的制作步骤;而对于控件,则以介绍其常用属性的设置方法和主要事件的编码过程,其他的先暂时不提及,以免使学生感到杂乱无目的性。在表单教学中,应由表及里逐层进行。首先,创建表单。学习利用系统的表单向导建立新表单,然后再利用表单设计器创建修改表单,所建表单应至少包括普通表单和一对多两种样式。第二,练习表单的数据环境的设置。先掌握表单数据环境中表或视图的添加、移出的方法,再要求深入理解数据环境及其中各个表和视图属性的定义。第三,向表单中添加控制。用表单设计器设计一个较复杂的表单或表单集,向表单或表单集添加各种控制,并定义表或表单集以及各个控制的属性、事件与方法是我们学习VFP的重点。但表单只是一个基本的容器,必须添加一些对象,如:标签、文本框、编辑框、命令按钮等常用控制,这些控制可以灵活地进行多种排列组合,使用它们可以领略到可视化技术和面向对象设计方法的精华所在。但要真正灵活自如地使用这些控制,并不是一件简单的事情,需要必须对每种控制深入了解,能够根据设置各种控制的属性、事件和方法以及对应的控制代码。

VFP应用系统 篇12

随着改革开放的不断深入, 民营企业在国民经济中所占的地位越来越重要, 民营企业的数量和规模也在发生着非常明显的变化。但不断变化的环境使中小企业发展面临新的挑战。因此, 对中小企业的发展能力做一个综合评价有着极其重要的现实意义。面对种类繁多的数据和报表, 手工处理方式已经很难跟上现代化管理的步伐。运用先进的信息技术, 进行现代化的科学管理成为一种趋势。本文根据某县考核局的要求, 利用Visual Foxpro完成系统开发, 从而使县市的民营企业评估工作系统化、规范化、自动化, 达到提高效率的目的。

1系统设计

1.1 系统设计目标

民营企业评估信息系统的设计目标包括以下几方面:

(1) 实现用户登陆系统, 可以根据用户权限, 确定对应操作, 实现本人信息修改, 民营企业信息的录入、修改更新、查询、打印等功能;管理员可实现权限设定。

(2) 实现对民营企业信息、用户等数据库信息的管理。

1.2 系统总体设计

系统总体设计包括系统功能分析, 系统功能模块设计, 数据流程的分析, 数据库的定义与实现等方面的内容。

1.2.1 系统功能分析

根据系统设计的目标, 经过详细的调查分析, 本系统主要功能包括以下几个方面:

密码设置 每个操作人员均有自己的用户名称和用户密码, 可以防止非法用户进入本系统。

权限设置 设置系统管理员与普通用户的权限, 使系统使用者有个人的操作范围, 不能越权操作。一般只有系统管理员可以进行权限设置。

数据更新 本系统将每一个民营企业的信息存放在民营企业基本信息表中。信息更新包括对各记录的修改、录入、添加、删除等操作。

数据查询 可以按民营企业编号、企业名称、所在乡镇、投资规模、行业类别、申报时间、认定时间等条件来查询单个和一部分民营企业的信息。

打印输出 可以输出单个企业信息、某一类企业信息和所有信息到屏幕、Excel表格或打印机上。

其他操作 包括修改密码、密码表维护、添加删除用户等。

退出 可以退出正在进行的操作或直接退出本系统。

1.2.2 系统功能模块设计

在系统功能分析的基础上, 得到如图1所示的系统功能模块图。

在系统运行时, 首先通过系统的主程序的可执行文件, 启动欢迎界面, 然后进入系统权限认证窗口。在权限认证之后, 才能进入系统主窗口, 从而进行相应的操作。

2数据库设计

数据库结构设计的好坏直接关系到系统运行的效率和实现效果, 好的数据库结构设计会减少数据冗余、提高数据的完整性和一致性, 使应用系统具有较快的响应速度, 简化基于此数据库的应用程序的实现等。

在该评估系统中, 有多种形式的查询, 比如:按企业所在乡镇查询, 按上报年份查询等。同时需要设置系统用户的密码和等级。因此, 主要数据表有:

(1) 民营企业信息表 (保存民营企业信息) ;

(2) 用户密码表 (保存使用者的信息) ;

(3) 设备上报表 (保存各民营企业设备的基本信息) ;

(4) 土建上报表 (保存民营企业基本信息) 。

为了便于对系统信息的录入与管理, 还增加了乡镇名称表、企业名称表、行业类别等相关数据表, 为了便于查询, 还需要生成一些子表, 这些数据表的加入可以简化后期的数据处理。下面以民营企业信息表和用户密码表为例说明数据表的结构:

民营企业信息表 (企业编号、所在乡镇、企业名称、详细地址、法人代表、注册资金、联系电话、项目内容、项目性质、主要产品、生产能力、上报时间、认定时间、年缴纳税金、行业类别等基本需要信息) 以企业编号、企业名称为关键字段建立索引。

关键字段不能为空, 为方便处理, 上报时间、认定时间都设置为8位字符型;注册资金, 年缴纳税金设置为15位数值型, 小数点后保留两位有效数字, 其他字段都设置为字符型, 长度可以根据情况设置为最大长度。

用户表 (用户名、用户密码、用户等级) 以用户名为关键字建立索引。

用户名称, 设置为10位字符型, 升序不能为空;用户密码设置为6位字符型, 不能为空;用户等级设置为10位字符型, 不能为空。

3关键算法

以下的算法虽然非常简单, 但是实用性强, 可读性强。

3.1 关键算法

例如完成全县民营经济项目认定的查询, 可以做一个表单, 通过单选按钮选择不同的查询条件, 如图2所示。

其中以“认定月份”为查询条件的实现代码如下:

3.2 导出、导入的实现

由于基层人员对数据库知识掌握程度不够, 大都习惯于使用Excel电子表格对数据进行处理, 为了方便操作, 在本系统中, 还增加了导入、导出, 具体实现如下:

在相应表单加入两个Command按钮, 分别将Caption属性设为导出、导入, 以企业信息为例, 实现代码为:

4结语

本系统的使用简化了民营企业的信息上报程序, 缩短了评估时间, 提高了工作效率。

参考文献

[1]郭胜, 夏邦贵.Visual FoxPro数据库开发入门与范例解析[M].北京:机械工业出版社, 2004.

[2]赵东波.基于VFP的教师管理系统的设计与实现[J].现代电子技术, 2008, 31 (2) :95-97.

[3]陈松, 张增强.Visual FoxPro中文版入门与提高[M].北京:中国铁道出版社, 2003.

[4]方舟, 曾学龙.民营企业生命力与评估问题[J].广州社会主义学院学报, 2003 (1) :53-55.

[5]顾志群, 蔡月祥.中小企业竞争能力评价指标探讨[J].企业经济, 2001 (4) :26-27.

[6]马爱芳, 仲少云.基于VFP的资料室图书管理系统的设计[J].现代情报, 2004, 24 (3) :104-108.

上一篇:高职院校教学秘书工作下一篇:燃油火力发电机组