,确定完成本日记录后,点击保存即可。
部分代码如下:
DimbSavedAsBoolean,bCF
IftxtDate=""OrtxtMemo=""ThenExitSub'如果记录未填,则退出
Ifriji.Tag="addnew"Then
IfgiRecordCount>=1Then'新增时,检查记录是否重复
gsSql=frminput.txtDate
bCF=FindData(gsSql)
IfbCFThen
MsgBox"今天你已经写过日记了!",vbExclamation+vbOKOnly,"每日一记"
txtMemo.SetFocus
ExitSub
EndIf
EndIf
giRecordCount=giRecordCount+1
bSaved=WriteData()
ElseIfriji.Tag="modify"Then'
bSaved=ModifyData()
EndIf
IfbSaved=TrueThen
AddNext=MsgBox("保存完毕!",vbExclamation+vbOKOnly,"每日一记")
EndIf
UnloadMe
由于此段代码中用到了一个模块,在模块中定义了很多过程,各过程实现功能及代码如下所示:
读取数据:
PublicSubReadData(curRecordAsInteger)'读取数据
ResumeNext
Dimstrcaption$
riji.txtDate=goDiarys(curRecord).fldDate
riji.txtMemo=goDiarys(curRecord).fldMemo
strcaption="每日一记["&Date&"]"&Time&""&WeekdayName(Weekday(Date))&"记录:"&giCurrentRecord&"/"&giRecordCount
riji.Caption=strcaption
EndSub
查询数据:
PublicFunctionFindData(sqlAsString)AsBoolean'查询数据
ResumeNext
DimI%
ForI=1TogiRecordCount
IfgoDiarys(I).fldDate=sqlThen
giCurrentRecord=I
FindData=True
ExitFor
EndIf
Next
ReadDatagiCurrentRecord
EndFunction
新增数据:
PublicFunctionWriteData()AsBoolean'新增数据
ResumeNext
DimiFreefile%,I%
iFreefile=FreeFile()
OpengsPath&"DATA.DAT"ForRandomAs#iFreefileLen=en(goDiary)
ReDimPreservegoDiarys(giRecordCount)
goDiarys(giRecordCount).fldDate=frminput.txtDate
goDiarys(giRecordCount).fldMemo=frminput.txtMemo
goDiary=goDiarys(giRecordCount)
Put#iFreefile,giRecordCount,goDiary
giCurrentRecord=giRecordCount
ReadData(giCurrentRecord)
Close#iFreefile
WriteData=True
EndFunction
修改数据:
PublicFunctionModifyData()AsBoolean'修改数据
ResumeNext
DimiFreefile%,I%
iFreefile=FreeFile()
OpengsPath&"DATA.DAT"ForRandomAs#iFreefileLen=len(goDiary)
goDiarys(giCurrentRecord).fldDate=frminput.txtDate
goDiarys(giCurrentRecord).fldMemo=frminput.txtMemo
goDiary=goDiarys(giCurrentRecord)
Put#iFreefile,giCurrentRecord,goDiary
ReadData(giCurrentRecord)
Close#iFreefile
ModifyData=True
EndFunction
删除数据:
PublicSubDeleteData()'删除数据
ResumeNext
DimiFreefile%,I%,J%
I=1:J=1
iFreefile=FreeFile()
OpengsPath&"temp.dat"ForRandomAs#iFreefileLen=Len(goDiary)
goDiarys(giCurrentRecord).fldMemo="IWantToKillIt*"&goDiarys(giCurrentRecord).fldMemo'加删除标记
ForI=1TogiRecordCount'无删除标记的记录保存到临时文件,TEMP.DAT
IfLeft(goDiarys(I).fldMemo,14)<>"IWantToKillIt*"Then
goDiary=goDiarys(I)
Put#iFreefile,J,goDiary'在此必须有I,J两个变量,因为使用二进制保存文件,
J=J+1'从1开始到后面,中间如有间隔就会出现乱码
EndIf
Next
Close#iFreefile
KillgsPath&"data.dat"
NamegsPath&"temp.dat"AsgsPath&"data.dat"
riji.txtDate=""
riji.txtMemo=""
EndSub
说明:由于本人能力有限,对文件部分还不算是很了解,这个功能的实现主要是借用了网上的一个电子记事本。本人只是对其做了一些修改,做成了这个每日一记,但个人认为此功能还算是可以。
4.10Help制作
Help文档的制作也标志着本软件基本完成。制作help文档需要一个专业制作软件,本人使用的是破解版的QuickCHM,此软件无论在功能上还在是操作上用起来都是很方便。
QuickCHM软件的界面及其使用如下:
图4.23QuickCHM软件的界面
它属于一个傻瓜型的制作软件,利用它可以快速的制作出各种你所需要的帮助文档。但是如果想制作出如下图所示的文档,那么需要使用制作网页的软件把内容先做成html形式,然后在用此软件进行加载,最后生成chm文档。
在制作前要制作出相差的网页形式,本人使用Dreamweaver。用它先做出要用到的相差页面,大约一共为十个。然后在用QuickCHM把所有的网页添加进去,然后对QuickCHM进行各项设置,最后点击编译即可生成help文档,后缀为.Chm。在本管理软件中可以按F1或点击帮助菜单下的帮助主题即可显示该帮助文档,调用的过程也很简单,两条语句即可以实现。代码如下:
在主窗体的load事件中添加下面语句:
App.HelpFile=App.Path&"\help.chm"
在帮助主题的click事件中添加下面语句:
SendKeys"{F1}"
上面这两条语句即可以实现调用帮助文档的功能。
第五章系统测试
编写出的各功能模块需要进行测试,对于模块化应用程序,软件开发的最后一部分便是不断的测试程序最终编译成可执行的.exe文件,该阶段主要对系统的正确性及完整性等方面进行测试。主要进行:功能确认测试、运行测试、健壮性测试、安全性测试以及查错方面的测试等,系统测试的测试人员由测试组成员(或质量保证人员)或测试组成员与用户共同测试,在整个系统开发完成,即将交付用户使用前进行。在这一阶段,对整个系统进行测试,系统测试结束后我们应该打软件打包,使其脱离VB的环境下也能正常运行。打包应将所有程序需要的文件加载进去,如数据库(DB.MDB),每日一记和帮助的文件都要进行加载。
在调试程序过程中,由于某些内在的错误影响程序的运行,在采用上述调试方法对程序进行调试后,程序运行情况良好,达到了预期的设计目标,基本上满足了用户的需要。
总结
到目前为止,高校固定资产管理系统基本开发完毕,软件界面美观,运行时间短,执行功能强,其功能基本符合用户需求。能够完成对学生公寓中学生基本资料的存储和查询,并提供数据转换、数据备份等系统维护功能,可以使用查找、修改、添加和删除对高校固定资产管理系统的操作等。
由于本人知识有限,又是刚初学软件,时间比较仓促,又缺乏经验,必定有不足和不周之处,希望各位老师给予指导,本人将继续完善修改,使此系统能更好地发挥性能。
参考文献
[1]VisualBasic程序设计王栋清华大学出版社
[2]VisualBasic高级编程宋伟吴建国清华大学出版社
[3]VisualBasic6.0入门与提高戴红陈哲清华大学出版社
[4]VisualBasic6.0应用指南何斌王运坚
冯峰刘醒人民邮电出版社
[5]VisualBasic高级编程技术陈明
杨劲松北京希望电子出版社
[6]VisualBasic实用教程陈弘原中国水利水电出版社
[7]数据库系统概论 萨师煊、王珊高等教育出版社
[8]软件系统开发技术 潘锦平
施小姚西安电子科技大学出版
??
??
??
??
3
上一篇:
vb餐饮酒店管理系统(论文和程序)
下一篇:
白色姜花,略微开了