VB大作业.docx
《VB大作业.docx》由会员分享,可在线阅读,更多相关《VB大作业.docx(10页珍藏版)》请在冰豆网上搜索。
![VB大作业.docx](https://file1.bdocx.com/fileroot1/2022-10/27/a202ddeb-b7d7-45e4-9508-648967aa24bb/a202ddeb-b7d7-45e4-9508-648967aa24bb1.gif)
VB大作业
机械工程学院
《VB程序设计》大作业
题目:
电子日记本
*******
学号:
*********
班级:
机械10801班
*******
日期:
2010年12月14日
一、选材过程
1、许多人都写过日记,都有自己的日记本,我也一样,但写日记时存在种种问题,如界面不美观、、不易修改、容易被别人偷看等等,那么我就想能不能做一个电子版的日记本呢?
这样就能够使界面更美观,修改起来更方便,隐私不易泄漏跟安全等等。
2、老师在上课时也建议我们做一个自己的电子日记本,可以充分利用我们书本里所学的知识,把知识转化成为实用的东西。
二、总体设计目标
1、友好的操作界面;
2、可以实现身份验证;
3、日记隐私的安全性;
4、熟悉运用和掌握所学的VB知识。
三、总体设计结构
1、设计结构图
2、功能介绍
(1)、账号注册:
通过对输入两Textbox内账号和密码的属性,如长度、数据类型等的设置,并把输入的账号写入磁盘上的文本上,把输入的密码加密后保存在同一文本内,实现记忆功能。
(2)、用户登陆:
通过把用户输入的账号和密码与注册时的账号和密码进行配对校验,对用户的身份进行确认,只要身份正确才能进入。
(3)、登陆后,用户可以在当前界面的文本框内写日记,保存日记,浏览日记,以及对日记文本的属性进行更改,使界面友好。
四、设计结果
五、设计总结
1、心得体会:
通过做这个大作业,自动动手编写程序,使我对课本上的知识有了一个更深层次的了解,使我对VB面向对象编程有了一个比较全面的了解,大大的吸引了我学习语言的兴趣。
在设计过程中,我养成了仔细检查程序的好习惯,学会了如何一步步去调试程序,找出错误并加以改正。
2、遇到的问题:
例如在编写对文本内容加密过程中,按照课本上老师所讲的方法,并不能实现对所有的汉字进行正确的加密解密,遇到问题后,我去图书馆查找相关资料,在网上查看相关加密算法,最终找到了解决问题的方法,可以实现对基本上所有的汉子及其他字符的加密加密。
另外,还有如何通过磁盘文件实现窗体直接相互传值引用等等,最终都在查阅资料以及同学的帮助下顺利解决了。
3、存在的问题:
次程序功能简单,而且界面并没有达到理想的效果,例如可以在此基础上实现给文本加上各式各样漂亮的背景,可以在主界面上加上一个音乐播放器,使在写日记过程中可以边写边听音乐等等。
没有做不到,只有想不到。
这个程序我会努力修改,使之更加完美!
六、附录
1、登陆窗体代码
PrivateSubCommand1_Click()'实现日记操作的登陆
CurDir
Open"Data.txt"ForInputAs#1'打开账号和密码存放文件
DimzhAsString
Dimmm1AsString
DimmmAsString
Input#1,zh
Input#1,mm1
mm=Jm(mm1,5)'对解密了的账号和密码进行解密
IfText1.Text=zhAndText2.Text=mmThen'进行账号和密码校验
Form1.Hide
Form2.Show
Else
MsgBox"账号或密码错误",,"警告"
Text1.Text=""
Text2.Text=""
EndIf
Close#1'关闭文件
EndSub
PrivateSubCommand2_Click()'进入注册界面
Form1.Hide
Form3.Show
EndSub
PrivateSubForm_Load()'加载窗体
Text1.Text=""
Text2.Text=""
EndSub
2、注册窗体代码
PrivateSubCommand1_Click()'注册账号并保存账号和密码
IfText3.Text<>Text2.TextThen
MsgBox"两次密码输入不一样",,"警告"'确认两次输入的密码相同
Text2.Text=""
Text3.Text=""
Else
MsgBox"注册成功!
",0+64,"注册"
EndIf
Open"Data.txt"ForOutputAs#1'将账号和密码加密后写入Data.txt里面
Print#1,Text1.Text
Print#1,Code(Text2,5)
Close#1
EndSub
PrivateSubCommand2_Click()'返回登陆界面
Form3.Hide
Form1.Show
EndSub
PrivateSubForm_Load()'窗体加载
Text1.Text=""
Text2.Text=""
Text3.Text=""
EndSub
PrivateSubText2_LostFocus()'判定输入的密码是否包含汉字
DimcAsString
DimiAscAsDouble
IfText2.Text=""Then
MsgBox"密码不能为空",,"警告"
Text2.Text=""
Text2.SetFocus
GoToM
EndIf
Fori=1ToLen(Text2.Text)
s=Mid(Text2.Text,i,1)
iAsc=Asc(s)
IfiAsc<0Then
MsgBox"密码不能出现汉字",,"警告"
Text2.Text=""
Text2.SetFocus
GoToM
EndIf
Nexti
M:
EndSub
3、主界面代码
DimstAsString
PrivateSubColor_Click()'修改当前显示文本的颜色
CommonDialog1.Action=3
Text1.ForeColor=CommonDialog1.Color
EndSub
PrivateSubCopy_Click()'复制当前选中的文本
st=Text1.SelText
EndSub
PrivateSubCut_Click()'剪切当前选中的文本
st=Text1.SelText
Text1.SelText=""
EndSub
PrivateSubFont_Click()'修改当前显示文本字体属性
CommonDialog1.Action=4
CommonDialog1.Flags=cdlCFBothOrcdlCFEffects
Text1.FontName=CommonDialog1.FontName
Text1.FontSize=CommonDialog1.FontSize
Text1.FontBold=CommonDialog1.FontBold
Text1.FontStrikethru=CommonDialog1.FontStrikethru
Text1.ForeColor=CommonDialog1.Color
EndSub
PrivateSubForm_Load()'加载时钟窗体,并显示当前时间
Text1.Text=""
Text1.Visible=False
Timer1.Interval=1000
EndSub
PrivateSubTimer1_Timer()'显示当前时间
Picture2.Cls
Picture2.PrintNow
EndSub
PrivateSubForm_Unload(CancelAsInteger)'在关闭程序时提示是否保存文本
DimChoiceAsVbMsgBoxResult
Choice=MsgBox("是否保存文本",vbYesNoCancel+vbQuestion,"提示")
IfChoice=vbCancelThen
Cancel=1
Form2.Show
ElseIfChoice=vbYesThen
CommonDialog1.Action=2
CommonDialog1.DefaultExt="Txt"
OpenCommonDialog1.FileNameForOutputAs#1
Print#1,Code1(Text1.Text,5)
Close#1
Else
Cancel=0
End
EndIf
EndSub
PrivateSubNew_Click()'写日记
Text1.Visible=True'定义写入文本的属性
Image2.Visible=False
Text1.Text=""
Text1.FontUnderline=True
Text1.FontSize=14
Text1.ForeColor=RGB(0,0,255)
EndSub
PrivateSubPaste_Click()'粘贴已选中的文本
Text1.SelText=st
EndSub
PrivateSubSaveAs_Click()'保存当前所写日记
CommonDialog1.Action=2
CommonDialog1.DefaultExt="Txt"
OpenCommonDialog1.FileNameForOutputAs#1
Print#1,Code1(Text1.Text,5)'将日记文本加密后保存到磁盘上
Close#1
EndSub
PrivateSubScan_Click()'浏览已存在的日记
Text1.Visible=True
Image2.Visible=False
CommonDialog1.ShowOpen
Text1.Text=""
OpenCommonDialog1.FileNameForInputAs#1'打开日记文件
DoWhileNotEOF
(1)
LineInput#1,inputdata
Text1.Text=Text1.Text+Jm1(inputdata,5)+vbCrLf'将日记文件进行解密后输出
Text1.FontUnderline=True
Text1.FontSize=14
Text1.ForeColor=RGB(0,0,255)
Loop
Close#1'关闭文件
EndSub