VB课程设计文本编辑器.docx

上传人:b****7 文档编号:10009219 上传时间:2023-02-07 格式:DOCX 页数:14 大小:144.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课程设计报告

——文本编辑器

 

学院名称

学生姓名

专业名称

班级

 

一、课程设计题目

用VisualBasic程序设计语言编写一个简易的文本编辑器

要求:

有最基本的文本编辑功能,包括复制、剪切、粘贴、字体设置、背景颜色设置、字体颜色设置;同时拥有文本管理功能,包括打开文件、保存文件;以及完整的系统运行退出等功能,所有的操作可选择设定的快捷键。

二、课程设计目的

虽然本学期的VisualBasic课程是自学的,相对于课堂学习有些不足,但通过平时的上机实验,初步掌握了VB程序设计的各种方法,学会了编写最基本的VB程序;对于完整的VB程序设计来讲是很不足的,平时掌握的只是单独的窗体(Form)程序编写,以及各种简单控件的使用,没有做到很好连贯性,所以有必要做一次完整的VB程序设计,结合所学的基本知识,使用多个窗体自成一套系统,加上各种控件的综合运用,初步设计一个合格的VB应用程序;这样在巩固VB所学的同时,更好地学会程序设计的一些思想和方法,对于以后的编程学习或是工作有重要的实践意义。

3、课程设计说明

题目为文本编辑器,即是最基本的文本编辑程序,首先必须做好文本编辑器本身的功能,然后对其完善,做成一个完整的小程序

功能设计说明:

功能是这个文本编辑器的核心内容,也就是程序的作用,它是用来做什么的;本程序就是用来编写文本的,编写过程中要利用到窗体(Form)一个,控件包括:

RichTextBox1(超文本框)、CommonDialog(通用对话框),以及InputBox(消息框)、菜单编辑器等,。

要做的工作就是编写代码把这些控件和窗体等结合为一体,使得程序能够成为一体,顺畅运行。

本次设计在按照题目要求的前提下,为了完整地展示一个应用程序,在最初就设计为最基本的文本的编辑器,所以取名为“易记本”,就是简易记事本的简称,然后加入图标,在程序完成之后还进行了大包操作,得到应用程序的安装文件,最后安装在电脑上运行使用。

4.源代码

PrivateSubCommand1_Click()

DimiAsInteger

IfText2.Text<>"123456"Then

i=MsgBox("密码错误",5+vbExclamation,"警告")

Ifi<>6Then

End

Else

Text2.Text=""

Text2.SetFocus

EndIf

EndIf

Form1.Hide

Form2.Show

EndSub

PrivateSubForm_Load()

Text1.Text=""

Text1.MaxLength=6

Text2.Text=""

Text2.MaxLength=6

Text2.PasswordChar="*"

EndSub

PrivateSubText1_LostFocus()

IfNotIsNumeric(Text1.Text)Then

MsgBox"帐号必须为数字",,"警告"

Text1.Text=""

Text1.SetFocus

EndIf

EndSub

PrivateSubCommand1_Click()

Form2.Hide

Form3.Show

EndSub

PrivateSubCommand2_Click()

Form2.Hide

Form4.Show

EndSub

PrivateSubCommand3_Click()

Form2.Hide

Form5.Show

EndSub

PrivateSubColor_Click()

CommonDialog1.Action=3

Text1.ForeColor=CommonDialog1.Color

EndSub

PrivateSubCommand1_Click()

Form3.Hide

Form2.Show

EndSub

PrivateSubCopy_Click()

DimstAsString

st=Text1.SelText

EndSub

PrivateSubCut_Click()

DimstAsString

st=Text1.SelText

Text1.SelText=""

EndSub

PrivateSubExit_Click()

End

EndSub

PrivateSubFont_Click()

CommonDialog1.Flags=cdlCFBothOrcdlCFEffects

CommonDialog1.Action=4

Text1.FontName=CommonDialog1.FileName

Text1.FontSize=CommonDialog1.FontSize

Text1.FontBold=CommonDialog1.FontBold

Text1.FontItalic=CommonDialog1.FontItalic

Text1.FontStrikethru=CommonDialog1.FontStrikethru

Text1.FontUnderline=CommonDialog1.FontUnderline

Text1.ForeColor=CommonDialog1.Color

EndSub

SubNew_Click()

Text1.Text=""

Me.Caption=File

EndSub

SubOpen_Click()

CommonDialog1.Action=1

Text1.Text=""

OpenCommonDialog1.FileNameForInputAs#1

DoWhileNotEOF

(1)

LineInput#1,inputdata

Text1.Text=Text1.Text+inputdata+vbCrLf

Loop

Close#1

EndSub

PrivateSubPaste_Click()

Text1.SelText=st

EndSub

PrivateSubPrint_Click()

CommonDialog1.Action=5

Fori=1ToCommonDialog1.Copies

Printer.PrintText1.Text

Nexti

Printer.EndDoc

EndSub

PrivateSubSaveAs_Click()

CommonDialog1.FileName="vb课设用.txt"

CommonDialog1.DefaultExt="txt"

CommonDialog1.Action=2

OpenCommonDialog1.FileNameForOutputAs#1

Print#1,Text1.Text

EndSub

DimarrAsLong,sumAsLong,aAsInteger

PrivateSubCommand1_Click()

a=HScroll1.Value

Text1.Text=plus(a)

Callisprime(a)

EndSub

PrivateSubCommand2_Click()

End

EndSub

PrivateSubHScroll1_Change()

Label2.Caption=HScroll1.Value

EndSub

Subisprime(maxAsInteger)

DimxAsInteger,iAsInteger,jAsInteger

Fori=2Tomax

x=0

Forj=2Toi-1

IfiModj=0Thenx=1

Nextj

Ifx=0ThenLabel2.Caption=Label2.Caption&i&""

Nexti

EndSub

Functionplus(aAsInteger)AsLong

Fori=1Toa

sum=sum+i

Nexti

plus=sum

EndFunction

Dimx1AsInteger

Dimy1AsInteger

Dimx2AsInteger

Dimy2AsInteger

DimflagAsBoolean

PrivateSubCommand1_Click()

OnErrorResumeNext

CommonDialog1.CancelError=True

CommonDialog1.DialogTitle="颜色"

CommonDialog1.ShowColorIfErr<>32755Then

Picture1.ForeColor=CommonDialog1.Color

EndIf

EndSub

PrivateSubCommand2_Click()

Picture1.Cls

EndSub

 

PrivateSubCommand3_Click()

Form5.Hide

Form6.Show

EndSub

PrivateSubOption1_Click()

Picture1.DrawWidth=1

EndSub

PrivateSubOption2_Click()

Picture1.DrawWidth=2

EndSub

PrivateSubOption3_Click()

Picture1.DrawWidth=4

EndSub

PrivateSubOption4_Click()

Picture1.DrawWidth=8

EndSub

PrivateSubForm_Load()

Picture1.Scale(0,0)-(400,400)

flag=False

EndSub

PrivateSubPicture1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

flag=True

x1=X

y1=Y

EndSub

PrivateSubPicture1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

Ifflag=FalseThen

ExitSub

EndIf

Ifflag=TrueThen

x2=X

y2=Y

Picture1.Line(x1,y1)-(x2,y2)

x1=x2

y1=y2

EndIf

EndSub

PrivateSubPicture1_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

flag=False

EndSub

DimctPAsSingle,ctDu()AsSingle,ctDuSAsLong

PrivateSubCommand1_Click()

Picture1.AutoRedraw=True:

ctP=3.1415926

Timer1.Interval=20:

Timer1.Enabled=NotTimer1.Enabled

EndSub

PrivateSubCommand2_Click()

Form7.Hide

Form6.Show

EndSub

PrivateSubForm_Load()

Me.Caption="旋转的椭圆":

Command1.Caption="转/停"

Text1.Text="9个":

Timer1.Enabled=False

EndSub

PrivateSubText1_Change()

ctDuS=Val(Text1.Text)

IfctDuS>200ThenText1.Text="200"

IfctDuS<1ThenctDuS=1

ReDimctDu(0ToctDuS)

EndSub

PrivateSubTimer1_Timer()

DimIAsLong

Picture1.DrawWidth=3

Picture1.Cls

ForI=0ToctDuS

ctDu(I)=ctDu(I)+ctP*0.01*I/9

IfctDu(I)>ctP*2ThenctDu(I)=ctDu(I)-ctP*2

Show1ctDu(I),&HFFFFFF/(ctDuS+1)*I*0.6

Next

DimxAsSingle,yAsSingle

StaticJAsSingle

Picture1.DrawWidth=15

x0=Picture1.ScaleWidth*0.5:

y0=Picture1.ScaleHeight*0.5

Picture1.PSet(x0,y0),255

x=1200:

y=0:

J=J-0.05

IfJ<-ctP*2ThenJ=J+ctP*2

ZhuanJ,x,y

Picture1.PSet(x0+x,y0+y),RGB(0,0,255)

EndSub

PrivateSubShow1(ToJAsSingle,SeAsLong)

DimIAsSingle,xAsSingle,yAsSingle,x0AsSingle,y0AsSingle

DimaAsSingle,bAsSingle,x1AsSingle,y1AsSingle

IfPicture1.ScaleWidth

a=Picture1.ScaleWidth*0.45

Else

a=Picture1.ScaleHeight*0.45

EndIf

b=a*0.25

x0=Picture1.ScaleWidth*0.5:

y0=Picture1.ScaleHeight*0.5

x=-a:

y=0:

ZhuanToJ,x,y

x1=a:

y1=0:

ZhuanToJ,x1,y1

Picture1.Line(x0+x,y0+y)-(x0+x1,y0+y1),Se

x=0:

y=-b:

ZhuanToJ,x,y

x1=0:

y1=b:

ZhuanToJ,x1,y1

Picture1.Line(x0+x,y0+y)-(x0+x1,y0+y1),Se

ForI=0ToctP*2Step0.1

x=a*Sin(I):

y=b*Cos(I)

ZhuanToJ,x,y

Picture1.Line-(x0+x,y0+y),Se

Next

x=a*Sin(I):

y=b*Cos(I)

ZhuanToJ,x,y

Picture1.Line-(x0+x,y0+y),Se

EndSub

PrivateSubZhuan(ToJAsSingle,xAsSingle,yAsSingle)

DimSAsSingle,JAsSingle

S=Sqr(x^2+y^2)

IfS=0ThenJ=0ElseJ=y/S

IfAbs(J)>=1Then

IfJ>0ThenJ=ctP*0.5ElseJ=-ctP*0.5

Else

J=Atn(J/Sqr(-J*J+1))

EndIf

Ifx<0ThenJ=-ctP-J

x=S*Cos(J+ToJ):

y=S*Sin(J+ToJ)EndSub

PrivateSubCommand1_Click()

End

EndSub

五、运行结果

六.心得体会

通过本次课程设计,使我对VB的认识更加深入了一层,VB主要由两部分组成,一个是Visual可视化界面设计,另一个是Basic程序设计。

对于第一部分,我觉得还是比较容易的,因为它比较直观。

就目前我所学的,对于第二部分还是比较困难。

在做设计的过程中发现自己存在不少问题,由于word知识欠缺,我没有办法为我的课程设计创建目录,这让我觉得很遗憾,尤其是对VB编程语句的不熟悉而造成在运行过程的很多次出错。

具体说文本编辑器的设计,首先是控件的使用要注意,例如不能使用平时一般的Text文本框,因为其只适用于一般的文本显示,使用RichTextBox,可拥有文本的完整功能,不用再添加滚动条等控件,而是使用其自带的滚动条;其实是菜单的设计,应注意菜单的名称书写,不能出现重复现象,否则要使用索引,不仅增加麻烦更不利于程序编写,然后编写代码的时候应注意必须与菜单中的名字一一对应,否则会出现错误;最后要注意程序的完整性以及实用性、便捷性,能够有友好的UI设计,给用户最好的体验。

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

当前位置:首页 > 经管营销 > 金融投资

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

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