VFP论文.docx
《VFP论文.docx》由会员分享,可在线阅读,更多相关《VFP论文.docx(24页珍藏版)》请在冰豆网上搜索。
VFP论文
基于VFP的个人收支管理系统
摘要………………………………………………2
引言………………………………………………3
一、需求分析…………………………………...3
二、可行性分析…………………………………3
三、系统目标设计………………………………4
四、系统功能模块划分…………………………5
五、个人收支管理系统的详细设计……………6
六、数据库结构的实现…………………………7
七、各个功能模块的创建………………………8
八、系统封装……………………………………18
九、结束语………………………………………18
摘要:
随着计算机的普及以及计算机技术的发展,一些基于计算机技术所设计的系统在日常生活中起到了极大的影响,本文重点介绍的即是基于VFP的个人收支管理系统的设计过程,并对系统目标、功能以及应用等方面作了阐述。
关键词:
VFP、个人收支、应用程序
Abstract:
Withthedevelopmentofcomputer’sextendandthespreadoftechnology,somesystemsbasedoncomputertechnologyhasvebeenplayingamoreandmoreimportantroleinpeople’sdailylife.Andthisarticlewillintroducetheprocessofthecontrolsystemaboutpersonalincomeandoutlay.Besides,Iwillstatetheaim,functionandapplyofthesystem.
Keywords:
VFP、personalincomeandoutlay、applicationsystem.
引言
VisualFoxpro是一个数据库应用程序面向对象的开发环境,它提供了功能完备的工具、极其友好的用户界面、简单的数据存储方式、特殊的跨平台技术。
基于此等优点,使用visualfoxpro设计出一个个人收支管理系统成为可能。
一、需求分析
现今的年轻人已经没有了上代人记录生活账的习惯,以至于缺乏资金管理能力已经成为了现今年轻人的一大生活问题,月月花光,却不知道自己的收入都花到什么地方去,针对于这个问题,我设计了这个收支管理系统,用以提供给用户一个快捷明了的方式来记录自己的收支,以达到明确自己的日常收支情况。
二、可行性分析
VisualFoxpro是Microsoft公司推出的全新的pc平台关系数据库管理系统。
VisualFoxpro是一个32位的数据库开发系统,可运行于Window98和Windowsxp操作系统。
提供了“向导”、“设计器”和“生成器”等工具,使的数据库的管理工作变的容易。
相比于其他的程序开发程序,VisualFoxpro拥有开发成本低、简单易学、方便用户等优点,它采用了可视化的、面向对象的程序设计方法,大大简化了应用系统的开发过程。
以其强大的性能、无与匹敌的速度、完整而丰富的工具、及其友好的图形用户界面、简单得数据存取方式、良好的兼容性、独一无二的跨平台特性及真正的可编译性。
所以,在技术上是可行的。
随着社会的发展以及计算机的普及,年轻一族基本已经达到了用计算计算机处理日常事务的标准。
硬件成本的下降导致计算机购买成本的降低,类于利于日常管理的管系统,在年轻一族中受欢迎程度很高,所以该套管理系统在操作推广上是可行的。
三、系统目标设计
按照系统的主要功能,将其划分为:
用户管理、收入信息管理和支出信息管理3三个部分。
1、收入信息管理部分功能如下:
(1)浏览收入信息
(2)维护收入信息
(3)浏览所有、某时间段的收入信息
2、支出信息管理部分如下:
(1)浏览支出信息
(2)维护支出信息
(3)浏览所有、某时间段的支出信息
四、系统功能模块划分
可将系统划分为2个主要模块:
查询和修改维护,模块划分如图:
五、个人收支管理系统的详细设计
1、数据库需求分析
系统主要的功能是信息的存储、查询、统计和维护以及定期的统计管理,主要管理信息是:
收入、支出的时间、类别和数量信息,所以本系统所需有2张表:
收入信息表和支出信息表。
信息表的内容包括:
时间、金额和类别。
2、数据库概念设计
在这个系统中,我选择的是多对多联系,即:
一个时间有不同类别的活动进行,不同类别的活动也会多个时间进行。
实体联系图
3、数据库的逻辑设计
表1、收入信息表结构
表2、支出信息表结构
六、数据库结构的实现
6、1创建项目
CREATEPROJECT“个人收支管理系统”
6、2创建数据库表:
单击“全部”—“数据库”—“添加”—输入数据库名如“我的数据”,保存—打开数据库设计器—点击“新建表”建立五、3中的“表1”和“表2”
6、3创建表之间的联系
项目管理器—数据—数据库—我的数据—本地视图—新建—新建视图
添加“收入信息表”“支出信息表”选择连接后如图:
七、各个功能模块的创建
7、1登陆界面的表单设计
(1)表单设计如图
(2)相关代码如下:
“系统登录“表单中“确定”按钮的“Click”事件代码:
*---精确比较
SETEXACTON
*---判断是否输入用户名
IFALLTRIM(THISFORM.Textdser.VALUE)--“”
MESSAGEBOX(“请输入用户名”,48,“进收支管理系统”)
THISFORM.TEXTUser.SetFous
Return
ENDIF
*---获取输入的信息
USER__N=ALLTRIM(THISFORM.TextUser.VALUE)
USER__P=ALLTRIM(THISFORM.TextUser.VALUE)
*---定义逻辑变量is_user,用于判断是否为合法用户
LOCALIs-Uuser
Is-Uuser=.F.
*---遍历用表中所有的记录
*---判断输入的用户名称和用户密码是否存在
SELECT用户信息
GOTOP
DOWHILE.NOT.EOF()
*---寻找与输入的用户名和密码匹配的记录
ISUser=(USER_N=用户信息.用户名).AND.(USER_P=用户信息.密码)
*---如果找到
IFIS_USER
EXIT
ELSE
SKIP
ENDIF
ENDDO
*---如果正确
IFIS——USER
*---保存登录用户
cCurUser=ALLTRIM(THISFORM.TextUser.Value)
*---调用主界面
DOFORMMainForm
*---推出当前表单
THISFORM.RELEASE
*---如果登录不正确
ELSE
MESSAGEBOX(“用户名或用户密码不正确!
”,0+16,”进收支管理系统”)
THISFORM.TextUser.Value=””
THISFORM.TextPass.Value=””
THISFORM.TextUser.SetFocus
ENDIF
*---模糊比较
SEREXACTOFF
“取消”按钮的”Click”事件代码如下:
*---释放登录表单
THISFORM.RELEASE
*---清除事件循环
ClearEVENTS
*---退出VisualFoxPro
QUIT
7、2菜单
(1)创建菜单
“项目管理器”—“其他”—“菜单”—“新建”
输入各项菜单设计:
“查询”“修改”“帮助”“退出”及各项快捷键
查询:
CTRL+F
修改:
CTRL+R
帮助:
F1
退出:
CTRL+E
(2)创建菜单项
在输入各项菜单设计后,依次单击各条目中的“编辑”设置结果及命令,如图
各子菜单执行命令如下:
查询:
“收入信息”
doform“C:
\programfiles\vfp\个人收支管理系统\收入信息.Scx”
“支出信息”
doform“C:
\programfiles\vfp\个人收支管理系统\收入信息.Scx”
修改:
“收入信息”
doform“C:
\programfiles\vfp\个人收支管理系统\修改收入信息.Scx”
“支出信息”
doform“C:
\programfiles\vfp\个人收支管理系统\修改收入信息.Scx”
帮助:
设置菜单项如图:
过程执行代码:
Tempstr=“个人收支管理系统”+CHR(13)+“版本号2.0”
MESSAGEBOX(tempstr,0+64,“个人收支管理系统”)
退出:
过程代码:
Tempstr=“确定要退出吗?
”,1+32+256,“个人收支管理系统”
Iftempstr=6
RELEASTALL
CLEAREVENTS
&&终止事件处理
ENDIF
(3)运行菜单代码:
SETSYSMENUTO
SETSYSMENUAUTOMATIC
DEFINEPAD_1tm0m7egaOF_MSYSMENUPROMPT"查询"COLORSCHEME3;
KEYCTRL+F,"CTRL+F"
DEFINEPAD_1tm0m7egbOF_MSYSMENUPROMPT"修改"COLORSCHEME3;
KEYCTRL+R,"CTRL+R"
DEFINEPAD_1tm0m7egcOF_MSYSMENUPROMPT"帮助"COLORSCHEME3;
KEYF1,"F1"
DEFINEPAD_1tm0m7egdOF_MSYSMENUPROMPT"退出"COLORSCHEME3;
KEYCTRL+E,"CTRL+E"
ONPAD_1tm0m7egaOF_MSYSMENUACTIVATEPOPUP查询
ONPAD_1tm0m7egbOF_MSYSMENUACTIVATEPOPUP修改
ONPAD_1tm0m7egcOF_MSYSMENUACTIVATEPOPUP帮助
ONPAD_1tm0m7egdOF_MSYSMENUACTIVATEPOPUP退出
DEFINEPOPUP查询MARGINRELATIVESHADOWCOLORSCHEME4
DEFINEBAR1OF查询PROMPT"收入信息"
DEFINEBAR2OF查询PROMPT"支出信息"
ONSELECTIONBAR1OF查询doform“C:
\programfiles\vfp\个人收入管理系统、收入信息.SCX
ONSELECTIONBAR2OF查询doform“C:
\programfiles\vfp\个人收支管理系统、支出信息.SCX”
DEFINEPOPUP修改MARGINRELATIVESHADOWCOLORSCHEME4
DEFINEBARdoformOF修改PROMPT"收入信息"
DEFINEBAR2OF修改PROMPT"支出信息"
ONSELECTIONBARdoformOF修改;
DO_1tm0m7ege;
INLOCFILE("个人收支管理系统\菜单1","MPX;MPR|FXP;PRG","WHEREis菜单1?
")
ONSELECTIONBAR2OF修改;
DO_1tm0m7egf;
INLOCFILE("个人收支管理系统\菜单1","MPX;MPR|FXP;PRG","WHEREis菜单1?
")
DEFINEPOPUP帮助MARGINRELATIVESHADOWCOLORSCHEME4
DEFINEBAR1OF帮助PROMPT"关于...";
KEYF1,"F1"
ONSELECTIONBAR1OF帮助;
DO_1tm0m7egg;
INLOCFILE("个人收支管理系统\菜单1","MPX;MPR|FXP;PRG","WHEREis菜单1?
")
DEFINEPOPUP退出MARGINRELATIVESHADOWCOLORSCHEME4
DEFINEBAR1OF退出PROMPT"退出";
KEYCTRL+E,"CTRL+E"
ONSELECTIONBAR1OF退出;
DO_1tm0m7egh;
INLOCFILE("个人收支管理系统\菜单1","MPX;MPR|FXP;PRG","WHEREis菜单1?
")
**********************************************************
**
**_1TM0M7EGEONSELECTIONBAR1OFPOPUP修改
**
**ProcedureOrigin:
**
**FromMenu:
菜单1.MPR,Record:
9
**CalledBy:
ONSELECTIONBAR1OFPOPUP修改
**Prompt:
收入信息
**Snippet:
1
**
**********************************************************
*
PROCEDURE_1tm0m7ege
doform"C:
\programfiles\vfp\个人收支管理系统\修改收入信息.Scx"
**********************************************************
**
**_1TM0M7EGFONSELECTIONBAR2OFPOPUP修改
**
**ProcedureOrigin:
**
**FromMenu:
菜单1.MPR,Record:
10
**CalledBy:
ONSELECTIONBAR2OFPOPUP修改
**Prompt:
支出信息
**Snippet:
2
**
**********************************************************
*
PROCEDURE_1tm0m7egf
doform"C:
\programfiles\vfp\个人收支管理系统\修改收入信息.Scx"
**********************************************************
**
**_1TM0M7EGGONSELECTIONBAR1OFPOPUP帮助
**
**ProcedureOrigin:
**
**FromMenu:
菜单1.MPR,Record:
13
**CalledBy:
ONSELECTIONBAR1OFPOPUP帮助
**Prompt:
关于...
**Snippet:
3
**
**********************************************************
*
PROCEDURE_1tm0m7egg
Tempstr="个人收支管理系统"+CHR(13)+"版本号2.0"
MESSAGEBOX(tempstr,0+64,"个人收支管理系统")
**********************************************************
**
**_1TM0M7EGHONSELECTIONBAR1OFPOPUP退出
**
**ProcedureOrigin:
**
**FromMenu:
菜单1.MPR,Record:
16
**CalledBy:
ONSELECTIONBAR1OFPOPUP退出
**Prompt:
退出
**Snippet:
4
**
**********************************************************
*
PROCEDURE_1tm0m7egh
tempstr="确定要退出吗?
",1+32+256,"个人收支管理系统"
Iftempstr=6
RELEASTALL
CLEAREVENTS
&&终止事件处理
ENDIF
7、4个人收支查询表单设计如图:
“确认”控件的“Click”事件代码:
IFbol1.Text=“所有”
&&显示所有收入信息
SELECT类别.income;
FromincomeINNERJOIN收入;
ONincome.收入=类别;
Orderbyincome.类别,income.年份,income,月份;
INTOCURSORtemp
Thisform.grid1.refresh
ENDIF
“退出”控件的“Click”事件代码:
thisForm.R&&elease
7、4构造主文件,主控程序代码如下:
CLEARALL
SETTALKOFF
SETDEBUGOFF
DOFORM"C:
\programfiles\vfp\个人收支管理系统\用户登录界面.scx
READEVENTS
RELEASEALL
CLEARALL
SETDEBUGOFF
********main.prg********
********进行程序初始化-********
SETTALKOFF
SETDELEON
SETSAFEOFF
_SCREEN.VISIBLE=.F.
Oldpath=SYS(5)+SYS(2006)
Newpath=sys(16)
Newpath=getpath(newpath)
Opendatedate\dbcustom
Sele0
Usedate\thlcustom
Sele0
Usedate\tbldiary
Sele0
Usedate\thlkeyword
Sele0
Usedate\thluser
**全局变量,分别为登录名,登录密码****
PUBLICg_uid,g_time,g_dom(19)
G_uid=’’
G_time=TTOC(DATETIME())
G_dom=1
****启动主菜单,执行登录表单,进入事件循环
DOFORMfrmlogin
READEVENT
*****获取去掉文件名的路径*******
FUNCATIONgetpath
PARAmpath
Rm=RAT(’\’,mpath)
Im=at(’\’,mpath)
IF(rm=lm)&&:
c:
\的情形
Result=SUBSTR(mpath,1,lm)
ELSE
RESULT=SUBSTR(mpath,1,rm-1)
ENDIF
RETURNresult
ENDFUNC
完成后将其设为主文件
7、6设置项目包含文件和项目信息
Main:
mainpro.prg
Include:
用户登录界面.scx
Exclude:
收入信息.dbc、支出信息.dbc
八、系统的封装
本系统涉及到数据库表、表单、报表、类代码等大量文件,系统在能独立运行前必须进行封装。
封装的具体步骤是将数据库表及表单添加到项目文件中,然后经过“连编”、“编译成可执行文件”生成“个人收支管理.EXE”文件,再利用“工具”菜单中的“安装”向导,制作基于Windows操作系统的安装盘(带VFP独立运行库VFP6R.DLL和VFP6RCHS.DLL)。
利用生成的安装盘进行安装,系统即可脱离VFP,直接在Windows环境下运行。
结束语
经过了这一段时间的努力,这个粗糙的个人收支管理系统终于完成了,很欣慰,很开心,很轻松。
在这个过程中,我学会了很多以前自己不知道的知识,学会了查资料,学会了虚心向人请教更是学会了坚持,我认为这比完成一篇论文更为可贵。
由于本人的水平有限,文中可能有多出错误,还望老师和同学不吝指正。
参考文献
【1】陈博周晓杰等VisualFoxpro8.0数据库开发实例教程清华大学出版社2004.5
【2】何玉辉VisualFoxpro程序设计教程西安电子科技大学出版社2003
【3】谢辉杨亚辉基于VFP的新生分班系统陕西国防工业职业技术学院学报2005.6总第23期
【4】任真等浅谈基于VFP的应用系统开发科技信息2012第1期
【5】张福堂等VisualFoxpro数据库应用技术上海财经大学出版社2001
【6】沈晨鸣关于VFP教学过程若干问题的探讨扬州职业大学学报2002.12第6卷第4期
学年论文指导教师评分表
学院:
班级:
姓名:
评价指标
评价要素(参考标准,评阅人有权根据学术实际决定)
分值
得分
选题意义
论文选题的理论或实践意义,以及论文对本论题及相关问题的综述
选题得当;有学术意义或实践意义;论题明确、一目了然;论文在引言或者沿革部分对论题的观点进行概述
10
文献掌握程度
论文参考文献(论文、论著)的丰富程度
标准为:
优=10篇以上;良=7-9篇;合格=4-6篇;差=3篇以下。
评价时可以视论文对同一作者的同类著述的引用情况多少决定。
15
引用文献可靠
论文参考文献(资料)来源的可靠性
根据论文有关资料数据的运用和学术观点等引用情况判断。
标准为:
优=真实,有引注;良=真实,但引注大多为转引;合格=真实,但无引注;差=来源不明
10
基本观点正确
论文基本观点的正确性、新颖性、独特性
标准为:
优=独特、正确;良=独特、基本正确;合格=无错误;差=不正确
15
写作规范
论文的写作方法符合规定的写作方法
具体参照规范的要求结合文字表述、文笔流畅程度、书写格式、语法等。
15
体现作者专业功底
从论文的写作方法与研究思路评价
主要从论文写作所反应作者的专业功底进行评价。
标准为:
优=扎实;良=比较扎实;合格=基本掌握;差=论文多处出现常识性错误。
10
论文写作进程
论文写作计划和实际写作的进程
从论文写作计划进程表和中期检查情况评价
15
总体评价
论文整体水平的体现
以上评价指标外,论文评阅人根据论文完成情况酌定
10
论文成绩
(百分制)
对论文的文字意见(主要为优缺点)
指导教师签名:
评阅时间:
年月日
注:
指导教师评语字数不得少于30字。