VB设计报告李菊.docx

上传人:b****5 文档编号:6840906 上传时间:2023-01-11 格式:DOCX 页数:14 大小:20.43KB
下载 相关 举报
VB设计报告李菊.docx_第1页
第1页 / 共14页
VB设计报告李菊.docx_第2页
第2页 / 共14页
VB设计报告李菊.docx_第3页
第3页 / 共14页
VB设计报告李菊.docx_第4页
第4页 / 共14页
VB设计报告李菊.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

VB设计报告李菊.docx

《VB设计报告李菊.docx》由会员分享,可在线阅读,更多相关《VB设计报告李菊.docx(14页珍藏版)》请在冰豆网上搜索。

VB设计报告李菊.docx

VB设计报告李菊

 

西安邮电大学

 

VB程序设计实验报告

 

学院:

计算机学院

专业:

网络工程

班级:

1003

姓名:

李菊

学号:

04102068(06)

 

一.需求分析

对于广大用户的需求分析,现在各种文档编辑器数不胜数,有EmEditor,UEStudio,GridinSoftNotepad,Notepad++,win32pad,SkimEdit等等。

功能也是应有尽有,有能改变字体的,有能改变文字颜色的。

但是,这些软件又存在各种各样的瑕疵或问题:

有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。

仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。

本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。

功能需求分析

(1).菜单中有“文件”,“编辑”,“格式”,“查看”,“帮助”五个主菜单。

(2)“文件”有“新建”“打开”“保存”“退出”等几个基本菜单:

分别用于新

建文件,打开文件,保存文件,退出记事本等功能。

(3)“编辑”中有“剪切”“复制”“粘贴”等几个基本菜单:

用于剪切文字,复制文字,粘贴文字。

(4)“格式”有“设置字体”,“设置颜色”两个菜单,用于对字体的设置。

(5)“查看”中有“状态栏”用于查看当前鼠标处于哪行哪列。

(6)“帮助”中有“关于记事本”,“记事本主题”两个菜单,用于相关查看。

二.设计课题编辑记事本

三.设计目的通过编写记事本,熟悉并掌握所学VB的程序语言,锻炼编程思想,从而触类旁通发挥自己的创造力编辑自己的作品。

是自己的能力得到一定的锻炼。

四.设计要求

(1)记事本文件菜单的新建、打开、保存、另保为、退出功能。

(2)记事本编辑菜单的剪切、复制、粘贴、查找、全选,日期等功能。

(3)记事本格式菜单的字体、字体颜色、功能。

(4)记事本查看菜单的状态栏。

(5)记事本的帮助对话。

五.设计思路及过程

(1)设计思路:

首先绘制界面,其次编辑菜单,按Ctrl+E调出菜单编辑器,我们来做“文件”,“查看”等几个菜单,接着编写各功能模块具体代码。

(2)设计具体过程

1.绘制界面

新建一个标准EXE工程,将其Caption属性改为“超级记事本”,点击Icon属性给它找个合适的Icon图标。

单击菜单“工程”-“部件”,在弹出的“部件”对话框里找到MicrosoftRichTextBox6.0和公共对话框MicrosoftCommonDialog6.0并选中它们,单击“确定”按钮。

这时左边的工具栏上出现了我们刚才新添的两个控件了。

在窗体上绘制RichTextBox和CommnDialog,其中RichTextBox的大小和位置可不用理睬,我们将在代码中处理它,当然,有必要把它的ScrollBar属性设为2-rtfVertical,这样在打开和编辑文件时垂直滚动条才可用。

2.编辑菜单

按ctrl+E调出菜单编辑器,来做如下几个菜单:

(1)文件菜单:

文件(第一层)file,新建(第二层)new,打开(第二层)open

保存(第二层)save,另存为(第二层)lingsave,打印(第二层)print,退出(第二层)exit

(2)编辑菜单:

编辑(第一层)edit,撤销(第二层)cancel,剪切(第二层)qie,

复制(第二层)copy,粘贴(第二层)tie,删除(第二层)delete,查找(第二层)find,全选(第二层)selectall,时间/日期(第二层)date

(3)格式菜单:

格式(第一层)style,自动换行(第二层)autozhuan,字体(第二层)font

(4)查看菜单:

查看(第一层)cha,状态栏(第二层)state

(5)帮助菜单:

帮助(第一层)help,帮助主题(第二层)topic,关于记事本(第二层)about

3.编辑代码

新建:

PrivateSubnewCreate_Click()

s=MsgBox("是否保存?

",33,"我的记事本")

Ifs=1Then

DimFileType,FiTypeAsString

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

EndIf

Ifs=2Then

RichTextBox1.Text=""'清空文本框

FileName="未命名"

Me.Caption=FileName

EndIf

EndSub

打开:

PrivateSubopen_Click()

DimFileType,FiTypeAsString

CommonDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"

CommonDialog1.ShowOpen

RichTextBox1.Text=""'清空文本框

FileName=CommonDialog1.FileName

RichTextBox1.LoadFileFileName

Me.Caption="超级记事本:

"&FileName

EndSub

保存:

PrivateSubsave_Click()

DimFileType,FiTypeAsString

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

退出:

PrivateSubEND_Click()

End

EndSub

剪切:

PrivateSubcut_Click()

IfRichTextBox1.SelLength>0Then

Clipboard.SetTextRichTextBox1.SelText

RichTextBox1.SelText=""

paste.Enabled=True

EndIf

EndSub

复制

PrivateSubcopy_Click()

IfRichTextBox1.SelLength>0Then

Clipboard.SetTextRichTextBox1.SelText

paste.Enabled=True

EndIf

EndSub

粘贴:

PrivateSubpaste_Click()

RichTextBox1.SelText=Clipboard.GetText

EndSub

全选:

PrivateSubquanxuan_Click()

RichTextBox1.SelStart=0

RichTextBox1.SelLength=Len(RichTextBox1.Text)

EndSub

查找:

PrivateSubFIND_Click()

form2.Show

EndSub

PrivateSubCommand1_Click()

DimconBtnsAsString

DimWAsInteger

ConstconMsgAsString="找不到所查内容"

DimintRetValAsInteger

DimintFoundPosAsInteger

IfCheck2.Value=vbCheckedThen

W=0

Else

W=1

intFoundPos=InStr(1,form1.txt.Text,Text1.Text,W)

EndIf'查找字符

IfintFoundPos=0Then'未找到相应的字符

intRetVal=MsgBox(conMsg,vbDefaultButton2,"Find")

Else

form1.txt.SelStart=intFoundPos-1'选择字符长度

form1.txt.SelLength=Len(Text1.Text)

EndIf

form1.txt.SetFocus'找出相应字符

EndSub

查找下一个:

PrivateSubNEXTFIND_Click()

form2.Show

EndSub

替换:

PrivateSubREPLACE_Click()

Form3.Show

EndSub

当点击“替换”出现以下对话框的示图及代码:

PrivateSubCommand1_Click()“查找下一个”按钮

DimconBtnsAsString

StaticQAsInteger

ConstconMsgAsString="找不到所查内容"

DimintRetValAsInteger

DimintFoundPosAsInteger

intFoundPos=InStr(Q+1,form1.txt.Text,Text1.Text,0)'查找字符

IfintFoundPos=0Then'未找到相应的字符

intRetVal=MsgBox(conMsg,vbDefaultButton2,"Find")

Else

form1.txt.SetFocus

form1.txt.SelStart=intFoundPos-1'选择字符长度

form1.txt.SelLength=Len(Text1.Text)

EndIf

Q=intFoundPos

EndSub

PrivateSubCommand3_Click()“全部替换”按钮

DimAAsString,bAsInteger

StaticnAsInteger

A=InStr(b+1,form1.txt.Text,Text2.Text,1)'查找字符

n=form1.txt.SelStart=A-1

form1.txt.SelLength=Len(Text1.Text)

form1.txt.SelText=Text2.Text

form1.txt.SetFocus

EndSub

PrivateSubCommand2_Click()“替换”按钮

form1.txt.SelText=Text2.Text'替换

form1.txt.SetFocus'得到焦点

EndSub

转到下一行:

PrivateSubREPEAL_Click()

Form4.Show

EndSub

当点击“转行”出现以下对话框的示图及代码

PrivateSubCommand2_Click()

Unloadform2

EndSub

自动换行:

PrivateSubZDHH_Click()

IfZDHH.Checked=FalseThen

ZDHH.Checked=True'如果自动换行

txt.Visible=False'文本框2隐藏

Text2.Visible=True'文本框1显现

Text2.Text=Text1.Text'将文本框2的内容赋给文本框1

Else:

Change.Checked=False'如果不自动换行

Text2.Visible=False'文本框1隐藏

Text1.Visible=True'文本框2显现

Text1.Text=Text2.Text'把文本框1的内容赋给文本框2

EndIf

EndSub

字体:

PrivateSubsize_Click()

CommonDialog1.Flags=1

CommonDialog1.Action=4

RichTextBox1.SelFontSize=CommonDialog1.FontSize

RichTextBox1.SelFontName=CommonDialog1.FontName

RichTextBox1.SelBold=CommonDialog1.FontBold

RichTextBox1.SelItalic=CommonDialog1.FontItalic

RichTextBox1.SelUnderline=CommonDialog1.FontUnderline

RichTextBox1.SelStrikeThru=CommonDialog1.FontStrikethru

EndSub

字体颜色:

PrivateSubcolor_Click()

CommonDialog1.Action=3

RichTextBox1.SelColor=CommonDialog1.color

EndSub

状态栏:

PrivateSubZTL_Click()

ZTL.Checked=NotZTL.Checked

IfZTL.Checked=TrueThen

txt.Visible=True

Else

txt.Visible=False

EndIf

EndSub

关于记事本:

PrivateSubabout_Click()

frmAbout.Show

Form1.Enabled=True

EndSub

帮助主题:

PrivateSubusage_Click()

OnErrorGoTohandler

RichTextBox1.LoadFile"Readme.txt",rtfText'请写好Readme.txt文件并存入程序所在文件夹中

Me.Caption="我的记事本:

"&"使用说明"

ExitSub

handler:

MsgBox"使用说明文档可能已经被移除,请与作者联系。

"

EndSub

工具栏:

PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComCtlLib.Button)

OnErrorResumeNext

SelectCaseButton.Key

Case"保存"

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

Case"打开"

CommonDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"

CommonDialog1.ShowOpen

RichTextBox1.Text=""'清空文本框

FileName=CommonDialog1.FileName

RichTextBox1.LoadFileFileName

Me.Caption="记事本:

"&FileName

Case"新建"

wang=MsgBox("是否保存?

",33,"记事本")

Ifwang=1Then

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

EndIf

Ifwang=2Then

RichTextBox1.Text=""'清空文本框

FileName="未命名"

Me.Caption=FileName

EndIf

Case"复制"

IfRichTextBox1.SelLength>0Then

Clipboard.SetTextRichTextBox1.SelText

mnupaste.Enabled=True

EndIf

Case"查找"

DimsFindAsString

sFind=InputBox("请输入要查找的字、词:

","查找内容",sFind)

RichTextBox1.findsFind

Case"剪切"

IfRichTextBox1.SelLength>0Then

Clipboard.SetTextRichTextBox1.SelText

RichTextBox1.SelText=""

mnupaste.Enabled=True

EndIf

Case"删除"

RichTextBox1.Text=""

Case"粘贴"

RichTextBox1.SelText=Clipboard.GetText

Case"打印"

CommonDialog1.Action=5

Case"帮助"

OnErrorGoTohandler

RichTextBox1.LoadFile"Readme.txt",rtfText'请写好Readme.txt文件并存入程序所在文件夹中

Me.Caption="记事本:

"&"使用说明"

ExitSub

handler:

MsgBox"请进行上网查询。

"

EndSelect

EndSub

编辑:

PrivateSubedit_Click()

Iftxt.SelText=""Then'从TXT控件中删除被选中的文本

cut.Enabled=False'剪切控件为假

copy.Enabled=False'复制控件为假

Else

cut.Enabled=True'剪切控件为真

copy.Enabled=True'复制控件为真

EndIf

Iftxt.SelText=""Then'从TXT控件中删除被选中的文本

cut.Enabled=False

copy.Enabled=False

Else

cut.Enabled=True

copy.Enabled=True

EndIf

IfClipboard.GetText=""Then'从剪贴板上获取文本

paste.Enabled=False'粘贴控件为假

Else

paste.Enabled=True'粘贴控件为真

EndIf

EndSub

制作完成后的界面

六.心得体会

VB程序设计这门课属于自学课,所以这门课的学习主要是自己借助于图书馆与网络进行学习,由于自己平时比较懒散,没有严格按照课程安排进行上课学习,所以对于这次记事本程序设计的完成还是感觉相当艰难的,但在书本和网络资源的帮助下还是完成了作业,经过这段时间也对vb有了一定的掌握,从刚开始练软件如何运行都有点困难到最后成功完成作业,这个过程学到了很多知识。

经过这段时间的学习,现在已经拥有一个像模像样的记事本了。

这个记事本由于用了RichText控件,理论上它能打开和编辑任意大的文档,使用起来的确比Windows自带的记事本方便得多。

当然,肯定还有一些其它的功能需要添加和完善。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1