VB程序设计报告.docx
《VB程序设计报告.docx》由会员分享,可在线阅读,更多相关《VB程序设计报告.docx(16页珍藏版)》请在冰豆网上搜索。
VB程序设计报告
广西大学
课程程序设计说明书
课题名称简易记事本的模仿设计
学院电气工程学院
专业自动化
班级093班
姓名谢金富(0902100513)
指导教师:
陈苏
2011年12月22日
简易记事本的模仿设计
RichTextBox控件是用于输入和编辑文本的控件,但它比常规的TextBox控件具有更高级的格式特性。
RichTextBox控件提供了一些属性,通过这些属性,可对该控件中任何部分的文本使用不同的格式。
用这些属性,可以将文本变为粗体或斜体、改变文本的颜色、创建上标或下标、调整段落的左右缩进值、使用悬挂式缩进以及动态地向该控件中充填嵌入位图(.BMP)、图标(:
lc.ICO)、MicrosoftExcel的电子表格和MicrosoftWord文档等对象。
RichTextBox控件对于内容的处理提供了多种手段。
打开时,可以用RTF格式或ASCII文本格式打开或保存文件;可以使用该控件的方法(LoadFile和SaveFile),直接读写文件;也可以用该控件的属性,比如SelRTF和TextRTF,结合文件输入、输出语句读写文件,将.rtf文件的内容装入RichTextBox控件。
编辑时,可将其它文件(比如从“资源管理器”中)的内容直接拖人该控件;或者将其它应用程序(比如MicrosoftWord)中使用文件的突出显示部分直接拖人该控件;还可以通过设置FileName属性,将.rtf或.txt文件的内容装入该控件。
打印时,可用SelPrint方法打印RichTextBox控件中的全部或部分文本。
将RichTextBox控件绑定到Data控件,可以处理MicrosoftAccess数据库的Memo字段或者其它大型数据库中的文字段(例如Sybase数据库、MicrosoftSQLServer数据库中的TEXT数据类型)。
RichTextBox件的主要用途是其一作为“无底”的文本框,可用于编写阅读较大的文本文件的应用程序;其二在应用程序中实现功能完备的文本编辑器。
一、预定功能
新建:
新建立一个记事本文档。
保存:
重命名一个名字,保存文档。
打开:
将打开一个已经存储在计算机中的文件(*.txt或*.rtf文件)。
退出:
指退出这个记事本程序。
编辑:
能对文本进行复制、剪切、粘贴,也可以改变文本字体、颜色、大小。
查找:
类似Word文档的查找功能,通过输入关键字,词进行查找。
二、设计界面
记事本界面有以下几部分组成:
标题栏:
自定义图标和记事本标题。
菜单栏:
包括文件、编辑、搜索和帮助主题。
三、主要功能说明
主要功能:
(1)文本打开、新建、保存等基本操作:
(2)文本编辑功能:
(3)文本查找功能:
(4)记事本帮助主题:
功能说明:
(1)基本操作:
能够打开计算机中存储的*.txt或*.rtf文件,进行读写操作,记事本拥有一个很好的优点:
就是打开速度快,文件小。
通过记事本可以很方便地打开比较小文本文档。
(2)编辑操作:
对文本匡中的文档内容进行编辑。
通过对文本进行复制、剪切、粘贴,方便了用户的操作。
使得记事本能够像Word一样,不仅可以查看文本,还能对其进行修改。
(3)搜索操作:
如果一篇文章太长,使用搜索功能可以马上找到要寻找的内容,通过输入关键字进行查找。
如果要查找多个相同文本内容,可以通过“查找下一个”来逐一查找。
(4)使用说明:
一个简单的记事本使用指南。
“关于”的内容一般都是作者的版权说明以及程序版本。
四、运行效果
新建:
通过文件---新建,来打开一个新文档,新建后的文档是以“未命名”为标题的
打开操作:
文件----打开,选择要打开的文档“新建文档.txt”
保存操作:
文件----保存;另存为xie,txt保存在F盘。
2.编辑操作:
复制:
打开123.txt,选中第一句,复制到第二句中间
剪切和粘贴:
把复制的内容剪切掉,粘贴在最后一句后面。
3.查找操作
查找:
搜索---查找,通过查找“二极管”两个字为例
程序不足之处:
当点击右上角关闭按钮时,不能弹出保存对话框给读者进行
操作,容易丢失数据,其次是没有对字体进行设计,,再者,没有如同word文档一样有快捷键设置,程序的运行界面也没有很好的进行设置,这些都是需要改进的地方。
五、程序设计过程
第一步:
界面设计
新建一个标准EXE工程,将其Caption属性改为“记事本”,点击Icon属性给它找个合适的Icon图标。
单击菜单“工程”-“部件”,在弹出的“部件”对话框里找到MicrosoftRichTextBox6.0和公共对话框MicrosoftCommonDialog6.0并选中它们,单击“确定”按钮。
这时左边的工具栏上出现了刚才新添的两个控件。
在窗体上绘制RichTextBox和CommnDialog,其中RichTextBox的大小和位置可不用理睬,可以在代码中处理它,要把它的ScrollBar属性设为2-rtfVertical,这样在打开和编辑文件时垂直滚动条才可用。
第二步:
编辑菜单。
调出菜单编辑器,做如下几个菜单:
一.文件菜单:
文件(第一层)mnuFile
新建(第二层)mnuNewCtrl+N
打开(第二层)mnuOpenCtrl+O
保存(第二层)mnuSaveCtrl+S
退出(第二层)mnuExitF5
二.编辑菜单:
编辑(第一层)mnuEdit
复制(第二层)mnuCopyCtrl+C
剪切(第二层)mnuCutCtrl+T
粘贴(第二层)mnuPasteCtrl+V
删除(第二层)deleteDel
全选(第二层)mnuSelecAllCtrl+A
三.搜索菜单:
搜索(第一层)mnuSearch
查找(第二层)mnuFindCtrl+F
查找下一个(第二层)mnuFindOnF3
四.帮助菜单:
帮助(第一层)mnuHelp
使用说明(第二层)mnuUsage
关于(第二层)mnuAbout
六、心得体会
通过编这个简易记事本,我觉得编程不是一项轻松的活,尤其是一个人开发制作软件时,那工作量就多了。
没有一定的坐功、细心程度及耐性那是绝对做不到的。
有时,把程序做完了需要调试运行,但是就是不能达到自已设计的效果和目的,也许就是因为一个符号或一个字母,就得花上个几个小时,半天,甚至更长。
越是这样越不能灰心,应该放松心态,一点一滴的去查。
只要有一颗永不退缩的心,我们就一定能找到问题所在,最后一定能露出开心的笑容,也一定能找到成功者的感觉。
所以编程能很好的锻炼人的意志。
同时,我觉得良好的编程习惯是必不可少的。
在很多人的编程语言中,用“+”来连接字符串,这样容易导致歧义。
良好的习惯是用“&”来连接字符串。
此外,变量命名应大小写,语句错落有秩。
还有,尽量使用Debug.print进行调试,在很多人的调试中,习惯用MsgBox来跟踪变量值。
其实用Debug.print不仅可以达到同样的功效,而且在程序最后编译过程中,会被忽略.而MsgBox必须手动注释或删除。
附录:
程序代码
DimsFindAsString
DimFileType,FiTypeAsString
PrivateSubdelete_Click()
RichTextBox1.SelText=""
EndSub
PrivateSubForm_Load()
Me.Height=6000
Me.Width=9000
EndSub
PrivateSubForm_Resize()
OnErrorResumeNext
RichTextBox1.Top=20
RichTextBox1.Left=20
RichTextBox1.Height=ScaleHeight-40
RichTextBox1.Width=ScaleWidth-40
EndSub
PrivateSubmnuNew_Click()
DimiAsInteger
i=MsgBox("是否保存",4,"警告")
Ifi<>7Then
CommonDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
CommonDialog1.ShowSave
FileType=CommonDialog1.FileTitle
FiType=LCase(Right(FileType,3))
FileName=CommonDialog1.FileName
Else
RichTextBox1.Text=""
FileName="未命名"
Me.Caption=FileName
EndIf
EndSub
PrivateSubmnuOpen_Click()
CommonDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
CommonDialog1.ShowOpen
RichTextBox1.Text=""
FileName=CommonDialog1.FileName
RichTextBox1.LoadFileFileName
Me.Caption="私人记事本:
"&FileName
EndSub
PrivateSubmnuSave_Click()
CommonDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
CommonDialog1.ShowSave
FileType=CommonDialog1.FileTitle
FiType=LCase(Right(FileType,3))
FileName=CommonDialog1.FileName
SelectCaseFiType
Case"txt"
RichTextBox1.SaveFileFileName,rtfText
Case"rtf"
RichTextBox1.SaveFileFileName,rtfRTF
Case"*.*"
RichTextBox1.SaveFileFileName
EndSelect
Me.Caption="私人记事本:
"&FileName
EndSub
PrivateSubmnuExit_Click()
DimiAsInteger
i=MsgBox("是否保存",4,"警告")
Ifi<>7Then
CommonDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
CommonDialog1.ShowSave
FileType=CommonDialog1.FileTitle
FiType=LCase(Right(FileType,3))
FileName=CommonDialog1.FileName
SelectCaseFiType
Case"txt"
RichTextBox1.SaveFileFileName,rtfText
Case"rtf"
RichTextBox1.SaveFileFileName,rtfRTF
Case"*.*"
RichTextBox1.SaveFileFileName
EndSelect
Else
End
EndIf
EndSub
PrivateSubmnuCopy_Click()
Clipboard.Clear
Clipboard.SetTextRichTextBox1.SelText
EndSub
PrivateSubmnuCut_Click()
Clipboard.Clear
Clipboard.SetTextRichTextBox1.SelText
RichTextBox1.SelText=""
EndSub
PrivateSubmnuSelectAll_Click()
RichTextBox1.SelStart=0
RichTextBox1.SelLength=Len(RichTextBox1.Text)
EndSub
PrivateSubmnuPaste_Click()
RichTextBox1.SelText=Clipboard.GetText
EndSub
PrivateSubmnuFind_Click()
sFind=InputBox("请输入要查找的字、词:
","查找内容",sFind)
RichTextBox1.FindsFind
EndSub
PrivateSubmnuFindOn_Click()
RichTextBox1.SelStart=RichTextBox1.SelStart+RichTextBox1.SelLength+1
RichTextBox1.FindsFind,,Len(RichTextBox1)
EndSub
PrivateSubmnuAbout_Click()
MsgBox"私人记事本.版权所有.翻版必究",vbOKOnly,"关于"
EndSub
PrivateSubOLE1_Updated(CodeAsInteger)
EndSub
PrivateSubmnuUsage_Click()
OnErrorGoTohandler
RichTextBox1.LoadFile"Readme.txt",rtfText'注释:
请写好Readme.txt文件并存入程序所在文件夹中
Me.Caption="私人记事本:
"&"使用说明"
ExitSub
handler:
MsgBox"使用说明文档可能已经被移除,请与作者联系。
",vbOKOnly,"错误信息"
EndSub
PrivateSubRichTextBox1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
IfButton=2Then
PopupMenumnuEdit,vbPopupMenuLeftAlign
Else
ExitSub
EndIf
EndSub
PrivateSubRichTextBox1_KeyUp(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=vbKeySpaceThen
RichTextBox1.SelFontName=CommonDialog1.FontName
EndIf
EndSub
PrivateSubForm_QueryUnload(CancelAsInteger,UnloadModeAsInteger)
IfMsgBox("是否需要保存?
",vbQuestion+vbYesNo)=vbYesThen
CommonDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
CommonDialog1.ShowSave
FileType=CommonDialog1.FileTitle
FiType=LCase(Right(FileType,3))
FileName=CommonDialog1.FileName
SelectCaseFiType
Case"txt"
RichTextBox1.SaveFileFileName,rtfText
Case"rtf"
RichTextBox1.SaveFileFileName,rtfRTF
Case"*.*"
RichTextBox1.SaveFileFileName
EndSelect
Else
Cancel=False
EndIf
EndSub
参考资料:
(1)《Visualbasic程序设计教程》第三版龚沛曾杨志强等编,高等教育出版社
(2)
(3)
(4)