VB课程设计报告.docx
《VB课程设计报告.docx》由会员分享,可在线阅读,更多相关《VB课程设计报告.docx(17页珍藏版)》请在冰豆网上搜索。
VB课程设计报告
VB课程设计报告
——文本编辑器
学院名称
:
计算机学院
学生姓名
:
专业名称
:
计算机科学与技术
班级
:
一、课程设计题目
用VisualBasic程序设计语言编写一个简易的文本编辑器
要求:
有最基本的文本编辑功能,包括复制、剪切、粘贴、字体设置、背景颜色设置、字体颜色设置;同时拥有文本管理功能,包括打开文件、保存文件;以及完整的系统运行退出等功能,所有的操作可选择设定的快捷键。
二、课程设计目的
(1)目标:
实现类似与WINDOWS平台下的记事本程序。
(2)涉及功能:
新建、打开、保存、另存为、退出、编辑、撤销、复制、粘贴、剪切、删除、查找、全选、打印、格式、字体、颜色、查看、状态栏、帮助、关于等
三、课程设计说明
1创建应用程序界面
2设置属性
3编写代码
4保存应用程序
5调试,运行应用程序
6生成可执行文件
四、源代码
DimfilecountAsInteger
DiminputdataAsString
DimTargetPositionAsInteger
DimposAsInteger
DimtargeyAsString
DimneirongAsString
PrivateSubA_Click()
OnErrorResumeNext
cmndlg1.Filter="文本文件|*.txt"
cmndlg1.CancelError=True
cmndlg1.Action=2
Opencmndlg1.FileNameForOutputAs#1
Print#1,Text1.Text
Close#1
EndSub
PrivateSubC_Click()
EndSub
PrivateSubD_Click()
EndSub
PrivateSubForm_Load()
Text1.Text=""
Text1.Left=0
Text1.Top=550
Text1.Width=Form1.ScaleWidth
Text1.Height=Form1.ScaleHeight
mnucut.Enabled=False
mnucopy.Enabled=False
mnudelete.Enabled=False
mnuselectall.Enabled=False
mnupaste.Enabled=True
mnuleft.Checked=True
EndSub
PrivateSubForm_Resize()
'如果窗体不处于最小化text1状态,改变text1大小以适应窗体大小变化
IfForm1.WindowState<>1Then
Text1.Width=Form1.Width-120
IfForm1.Height<1200Then
Form1.Height=1200
EndIf
Text1.Height=Form1.Height-1350
EndIf
EndSub
PrivateSubForm_Unload(CancelAsInteger)
DimmsgAsInteger
IfText1.Text<>neirongThen
msg=MsgBox("内容已被修改,是否保存文件",48+vbYesNoCancel,"提示")
Ifmsg=vbYesThen
OnErrorGoToErr
cmndlg1.DialogTitle="保存文件"
cmndlg1.Filter="文本文件|*.txt"
cmndlg1.CancelError=True
cmndlg1.ShowSave
Opencmndlg1.FileNameForOutputAs#1
Print#1,Text1.Text
Close#1
Err:
IfErr.Number=cdlCancelThen
Cancel=True
EndIf
ElseIfmsg=vbNoThen
End
ElseIfmsg=vbCancelThen
Cancel=True
EndIf
Else
End
EndIf
EndSub
PrivateSubmnucopy_Click()'复制利用SetText方法,将选中的文本放入剪贴板上
Clipboard.SetTextText1.SelText
EndSub
PrivateSubmnucut_Click()'剪切
Clipboard.SetTextText1.SelText
Text1.SelText=""
EndSub
PrivateSubmnudelete_Click()'删除
Text1.SelText=""
EndSub
PrivateSubmnuedit_Click()'编辑菜单项代码
'如果文本框中没有选中的内容,则剪切\复制\删除和粘贴菜单无效,否则有效
IfText1.SelLength<>0Then
mnucut.Enabled=True
mnucopy.Enabled=True
mnudelete.Enabled=True
mnupaste.Enabled=True
Else
mnucut.Enabled=False
mnucopy.Enabled=False
mnudelete.Enabled=False
EndIf
EndSub
PrivateSubmnuexit_Click()'退出
End
EndSub
PrivateSubmnufind_Click()'查找
FindText1
mnuNext.Enabled=True
EndSub
PrivateSubmnufont_Click()'字体
OnErrorGoToA:
cmndlg1.Flags=cdlCFBothOrcdlCFEffects
cmndlg1.ShowFont
Ifcmndlg1.FontName>""Then
Text1.FontName=cmndlg1.FontName
EndIf
Text1.FontSize=cmndlg1.FontSize
Text1.FontBold=cmndlg1.FontBold
Text1.FontItalic=cmndlg1.FontItalic
Text1.FontStrikethru=cmndlg1.FontStrikethru
Text1.FontUnderline=cmndlg1.FontUnderline
Text1.FontBold=cmndlg1.FontBold
Text1.ForeColor=cmndlg1.Color
A:
IfErr.Number<0Then
ExitSub
EndIf
EndSub
PrivateSubmnufontcolor_Click()'字体颜色
cmndlg1.ShowColor
Text1.ForeColor=cmndlg1.Color
EndSub
PrivateSubmnuleft_Click()'左对齐
Text1.Alignment=0
mnuleft.Checked=True
mnuright
(1).Checked=False
mnuright
(2).Checked=False
EndSub
PrivateSubmnunew_Click()'新建
Text1.Text=""
EndSub
PrivateSubFindTex(ByValstart_atAsInteger)
targey=targey
pos=InStr(start_at,Text1.Text,targey)
Ifpos>0Then'找到了匹配字符串
TargetPosition=pos
Text1.SelStart=TargetPosition-1
'选中找到的字符串
Text1.SelLength=Len(targey)
Text1.SetFocus
Else'没有找到匹配的字符串
MsgBox"没找到匹配的字符串",48,"提示"
Text1.SetFocus
EndIf
EndSub
PrivateSubmnuNext_Click()'查找下一个
FindTexTargetPosition+1
EndSub
PrivateSubmnuopen_Click()'打开
DiminputdataAsString
OnErrorGoTonofile
cmndlg1.Filter="文本文件|*.txt"
cmndlg1.CancelError=True
cmndlg1.ShowOpen
Text1.Text=""
Ifcmndlg1.FileName<>""Then
Opencmndlg1.FileNameForInputAs#1
DoWhileNotEOF
(1)
LineInput#1,inputdata
Text1.Text=Text1.Text&inputdata&vbCr
Loop
Close#1
EndIf
ExitSub
nofile:
IfErr.Number=32755ThenExitSub
EndSub
PrivateSubFindText(ByValstart_atAsInteger)
'获取用户输入的要查找的字符串
targey=InputBox("请输入要查找的内容","查找")
pos=InStr(start_at,Text1.Text,targey)
Ifpos>0Then'找到了匹配字符串
TargetPosition=pos
Form1.Text1.SelStart=TargetPosition-1
'选中找到的字符串
Form1.Text1.SelLength=Len(targey)
Form1.Text1.SetFocus
Else'没有找到匹配的字符串
MsgBox"没找到匹配的字符串",48,"提示"
Form1.Text1.SetFocus
EndIf
EndSub
PrivateSubmnupaste_Click()'粘贴用GetText1方法,将剪切板中的内容粘贴到光标所在位置
Text1.SelText=Clipboard.GetText()
EndSub
PrivateSubmnuprint_Click()'打印
OnErrorResumeNext
cmndlg1.ShowPrinter
Printer.Copies=cmndlg1.Copies
Printer.PrintText1.Text
EndSub
PrivateSubmnuright_Click(IndexAsInteger)'右对齐\居中菜单代码
SelectCaseIndex
Case1
Text1.Alignment=1
mnuleft.Checked=False
mnuright
(1).Checked=True
mnuright
(2).Checked=False
Case2
Text1.Alignment=2
mnuleft.Checked=False
mnuright
(1).Checked=False
mnuright
(2).Checked=True
EndSelect
EndSub
PrivateSubmnusave_Click()'保存
OnErrorResumeNext
cmndlg1.DialogTitle="保存文件"
cmndlg1.Filter="文本文件|*.txt"
cmndlg1.CancelError=True
cmndlg1.ShowSave
Opencmndlg1.FileNameForOutputAs#1
Print#1,Text1.Text
Close#1
EndSub
PrivateSubmnuselectall_Click()'全选
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
EndSub
PrivateSubText1_Change()
IfText1.Text=""Then
mnufind.Enabled=False
mnuNext.Enabled=False
Else
mnufind.Enabled=True
mnuselectall.Enabled=True
EndIf
EndSub
PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)
SelectCaseButton
Case"新建"
Callmnunew_Click
Case"打开"
Callmnuopen_Click
Case"剪切"
Callmnucut_Click
Case"复制"
Callmnucopy_Click
Case"粘贴"
Callmnupaste_Click
Case"保存"
Callmnusave_Click
Case"查找"
Callmnufind_Click
EndSelect
EndSub
PrivateSubtre_Click()
Shell("notepad使用说明.txt")
EndSub
PrivateSubxufeng_Click()
Form2.Visible=True
EndSub
5、运行结果
保存功能
查找功能
打开功能
颜色修改功能
字体修改功能
七、心得体会
作为一名计算机专业的学生,在接触了C语言、数据结构与C++课程后,对计算机语言有了一定的兴趣,于是在这个学期我毫不犹豫的选择了VB课程(算法与程序设计)。
VB程序设计的入门学习并不难,但却是一个十分重要的过程,因为程序设计思想的形成,以及之前学习积累的经验,很快就对VB有了一定的了解。
下面就是我这段时间学习的新的与体会。
我认为作为学习程序设计最重要的一点是要注重理解一些重要的概念.VB程序设计本身并不复杂,翻开一本程序设计学习的书籍,看到的无非就是变量,函数,条件语句,循环语句等概念.但要真正能进行程序设计,需要深入理解这些概念.因此,在程序入门阶段还是应该重视概念的学习.我们学习VB并没有从正常的途径,可以说VB语言相对来说比其他语言简单,从他的语法就可以看出
其次,自己动手编写程序。
程序设计入门阶段要经常自己动手抄写或编写一些小程序,亲自动手进行程序设计是创造性思维应用的体现,是培养逻辑思维的好方法.因此一定要多动手编写程序,而且要从小程序开发开始,逐渐提高写程序的能力.只有不断的从自己的程序中积累经验,从中进步,才能写出好的程序。
程序设计课是高强度的脑力劳动,不是听会的,也不是看会的,而是练会的.只有自己动手,编写一些程序,才会有成就感,进而对课程产生兴趣,学起来才比较从容.动手能力的培养是这门课和以往课程最大的不同之处.重点放在思路,算法,编程构思和程序实现上.语句只是表达工具,要求堂上积极思考,尽量当堂学懂,并做到灵活应用.编程序不像做其它的事情,写程序之前一定要计划周详,把所有的可能性都想到,并想好相应的解决方法,不然思想会很混乱,很容易出现错误。
还有就是编程序最重要的其实是思想,思想确定之后用什么语言或什么方法就简单了,接下来就是设计并写成代码的事情了
好的程序员就是这样一步一步炼成的。
在者,阅读,借签别人设计的好程序。
多看别人设计好的程序代码,包括教材上的例题程序.在读懂别人程序后,要想他为什么这么设计能不能将程序修改完成更多的功能则可以学到别人优秀的东西,帮助自己提高自身水平.
通过这次学习,我越来越喜欢上计算机语言,我相信在计算机语言上会走的更远。