文本编辑器Delphi课程设计报告书Word格式.docx
《文本编辑器Delphi课程设计报告书Word格式.docx》由会员分享,可在线阅读,更多相关《文本编辑器Delphi课程设计报告书Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
该程序界面有好,当把鼠标放在快捷工具栏上时,程序会给出快捷菜单提示,同时,在窗体下方的中间,也有该快捷命令的说明文字。
四、进度安排:
1、系统分析、设计准备阶段:
4学时
2、编程调试阶段:
44学时
3、总结和书写报告阶段:
10学时
4、考核阶段:
2学时
指导教师:
年月日
1、实验题目:
文本编辑器
2、项目概述
程序大部分菜单都在窗体中对应有一个快捷图标。
包括新建、打开、保存、剪切、复制、粘贴、左对齐、右对齐、居中、文字加粗、文字倾斜、文字加下划线和文字大小等命令,在菜单中还包括字体颜色、窗体背景颜色等命令。
利用这些基本命令,可以很方便地处理很多文本文档。
该程序界面友好,当把鼠标放在快捷工具栏上时,程序会给出快捷菜单提示,同时,在窗体下方的中间,也有该快捷命令的说明文字。
首先要解决窗体的布局和设计问题。
然后给各个菜单和快捷工具栏中的按钮添加相关程序代码。
这个文本编辑器与一般的简易的文字编辑程序的制作有所不同。
首先,必须设置好菜单的属性及功能;
其次,当所有的菜单都设计好之后,还必须对工具栏进行设计,工具栏的开发与设计是最具挑战性的工作,因为整个界面的美观都取决于工具栏的制作,而整个程序使用是否方便、快捷,也取决于工具栏的安排和属性的设置。
然后,还需进行一些细部的修饰,例如底部任务栏上的提示用语以及帮助菜单的设计等。
3、系统的功能需求
3.1总体设计
3.2系统功能
该文本编辑器具有完整的菜单,大部分菜单都在窗体对应有一个快捷图标。
3.3系统工作流程
4、文本编辑器的详细设计
4.1文本编辑器的界面设置
4.1.1新建工程
(1)启动Delphi7.0程序。
选择“文件”菜单下的“新建”命令,从弹出的子菜单中选择Application选项,则出现新建工程的Form1窗口。
(2)选择“文件”菜单下的“工程另存为”命令,弹出SaveUnit1As对话框。
在“保存在”列表框中选择需要存放该窗口文件所在的目录名;
在“文件名”编辑框中填写文件名,这里填写“Unit1”,点击“保存”按钮,保存上面的选项。
(3)执行上一步后,将弹出“工程另存为”对话框。
在“保存在”列表框中选择需要存放该工程的目录名,最好和第
(2)步选取相同的目录;
在“文件名”编辑框中填写保存处理该工程的源代码的文件名,这里填写“Project1”,点击“保存”按钮,保存上面的选项。
4.1.2修改窗口:
(1)激活Form1窗口,在“属性”面板中设置该窗体的Caption属性为“文本编辑器”,Color属性设置为“clBtnFace”。
(2)选择standerd页上的选择“标准”页上的MainMenu选项,在窗体中添加MainMenu控件。
双击MainMenu控件。
菜单设计如下:
文件(新建、打开、保存、退出),编辑(剪切、复制、粘贴、自动换行、全选),格式(对齐(左对齐、居中、右对齐),字体(加粗、倾斜、下划线、颜色),背景),帮助(关于)。
(3)依次选中各个菜单,在“属性”面板上设置其Name属性如下:
文件(filen1)、新建(filenew)、打开(fileopen)、保存(filesave)、退出(fileexit)、编辑(Editn2)、剪切(Editcut)、复制(Editcopy)、粘贴(Editpaste)、自动换行(auto1)、全选(selectall1)、格式(Formatn3)、对齐(align)、左对齐(leftalign)、居中(centeralign)、右对齐(rightalign)、字体(Font1)、加粗(bold1)、倾斜(italic)、下划线(underline1)、颜色(color1)、背景(background)、帮助(helpn4)、关于(aboutnotebook)。
(4)选择Win32页上的ToolBar选项,在窗体中添加ToolBar控件,调整其合适的大小和位置。
在“属性”面板上设置其Color属性为“clBtnFace”、设置其Align属性为“alTop”,使其居于窗体的最上方。
(5)选择“附加”页上的SpeedButton选项,在窗体中的ToolBar上添加12个SpeedButton控件。
(6)点击SpeedButton控件,在“属性”面板上设置Glyph属性,选择BMP格式的图片添加形象的图标。
(7)分别选中各个SpeedButton控件,在“属性”面板上设置其ShowHint属性均为“True”。
然后依次设置各个SpeedButton控件的Hint属性为“新建”、“打开”、“保存”、“剪切”、“复制”、“粘贴”、“左对齐”、“居中”、“右对齐”、“加粗”、“倾斜”和“下划线”。
(8)选择Win32页上的StatusBar选项,在窗体中添加StatusBar控件,在“属性”面板上设置其Align属性为“alBottom”,使其居于窗体的底部。
用鼠标点击其Panel属性右边的文本框(或者双击),打开StatusBar.Panels编辑框,在其中点击新建图标,新建提示文字“0-文本编辑器”,这将为窗体底部的任务栏添加提示文字。
(9)选择“对话框”页上的ColorDialog选项,在窗体中添加ColorDialog控件,在“属性”面板上设置其Name属性为“ColorDialog1”。
(10)选择“对话框”页上的FontDialog选项,在窗体中添加FontDialog控件,在“属性”面板上设置其Name属性为“FontDialog1”,Options属性为“fdEffects”。
(11)选择“对话框”页上的OpenDialog选项,在窗体中添加OpenDialog控件,在“属性”面板上设置其Name属性为“OpenDialog1”,设置其Filter属性为“文本文件(*.txt)|*.txt”,设置其Options属性为“[ofHideReadOnly,ofEnableSizing]”。
(12)选择“对话框”页上的SaveDialog选项,在窗体中添加SaveDialog控件,在“属性”面板上设置其Name属性为“SaveDialog1”,设置其Filter属性为“文本文件(*.txt)|*.txt”,设置其Options属性为“[ofHideReadOnly,ofEnableSizing]”。
(13)选择“标准”页上的Memo选项,在窗体中添加Memo控件,在“属性”面板上设置其Name属性为“Memo1”,Color属性为“clWindow”,对齐方式Align属性为“alClient”,使其占据窗体剩下空间。
4.2文本编辑器的详细代码分析
(1)选择文件菜单下的新建命令,则新建一个文本文件,并将所有相关属性初始化。
代码如下:
procedureTForm1.filenewClick(Sender:
TObject);
begin
Memo1.Clear;
Memo1.SetFocus;
Memo1.Color:
=clMenu;
Memo1.Font.Color:
=clBlue;
Memo1.Font.Size:
=10;
end;
(2)打开文件和保存文件的代码如下:
procedureTForm1.fileopenClick(Sender:
//打开
ifopendialog1.Executethen
Memo1.Lines.LoadFromFile(opendialog1.FileName);
procedureTForm1.filesaveClick(Sender:
//保存
ifsavedialog1.Executethen
Memo1.Lines.SaveToFile(savedialog1.FileName);
(3)退出文本编辑器的代码如下:
procedureTForm1.fileexitClick(Sender:
//退出
close;
(4)因为利用了ColorDialog和FontDialog控件,相关的字体编辑部分的代码很简单,具体代码如下:
procedureTForm1.editcutClick(Sender:
//剪切
Memo1.CutToClipboard;
procedureTForm1.editcopyClick(Sender:
//复制
Memo1.CopyToClipboard;
procedureTForm1.editpasteClick(Sender:
//粘贴
Memo1.PasteFromClipboard;
procedureTForm1.selectall1Click(Sender:
//全选
Memo1.SelectAll;
procedureTForm1.auto1Click(Sender:
//自动换行
auto1.Checked:
=notauto1.Checked;
ifauto1.Checkedthen
memo1.WordWrap:
=true
else
=false;
procedureTForm1.leftalignClick(Sender:
//左对齐
leftalign.Checked:
=notleftalign.Checked;
ifleftalign.Checkedthen
Memo1.Alignment:
=taLeftJustify;
procedureTForm1.centeralignClick(Sender:
//居中
centeralign.Checked:
=notcenteralign.Checked;
ifcenteralign.Checkedthen
=taCenter;
procedureTForm1.rightalignClick(Sender:
//右对齐
rightalign.Checked:
=notrightalign.Checked;
ifrightalign.Checkedthen
memo1.Alignment:
=taRightJustify;
procedureTForm1.bold1Click(Sender:
//字体加粗
bold1.Checked:
=notbold1.Checked;
ifbold1.Checkedthen
memo1.Font.Style:
=memo1.Font.Style+[fsBold]
=memo1.Font.Style-[fsBold]
procedureTForm1.italicClick(Sender:
//字体倾斜
italic.Checked:
=notitalic.Checked;
ifitalic.Checkedthen
=memo1.Font.Style+[fsItalic]
=memo1.Font.Style-[fsItalic]
procedureTForm1.underline1Click(Sender:
//字体加下划线
underline1.Checked:
=notunderline1.Checked;
ifunderline1.Checkedthen
memo1.Font.style:
=memo1.Font.Style+[fsunderline]
=memo1.Font.Style-[fsunderline]
procedureTForm1.color1Click(Sender:
//字体颜色
ifcolordialog1.Executethen
memo1.Font.Color:
=colordialog1.Color;
procedureTForm1.backgroundClick(Sender:
//窗体背景颜色
memo1.Color:
procedureTForm1.Memo1Change(Sender:
Begin
End.
5.心得体会:
生活中我们经常需要用电脑编写一些文档来保存文件,本课程设计是运用了delphi软件开发工具开发的应用软件。
Delphi是上学期学的,记得的东西不大多了,开始看到这个题目的时候不知道应该怎么做,只能翻翻书看看,网上资料找找,图书馆书找找。
有些地方是有说明的,比如运用什么样的控件,属性的功能之类的。
打开了Delphi7,一次次的尝试需要达到的效果,菜单啊,快捷键形象的图标啊之类的。
特别是在快捷键的图标这块,我想了很多,思考了很多。
开始尝试的时候是运用了ImageList控件,但是在选择图标加载完全后没有办法在speedbutton控件中体现出来,问了同学说可以用pagecontrol控件,添加pagecontrol控件,右击选择newpage,然后在属性面板的images选择ImageList1,可以添加图标但后面有字,也不知道怎么把它消除掉。
最后的尝试也是在写日志的时候发现的,写“SpeedButton控件添加图片”去XX,一下就找到了我要的答案,通过右下方的Glyph来选择电脑中的图片,而且所截的图片是需要bmp格式的图片,之前的那些截图都是png格式的。
这就是这次课程设计中比较让我头疼的一个。
还有这次的课程设计所需的代码,因为有好几个功能是相似的,所以写起来也没那么麻烦了。
这次的课程设计巩固深化了我的的理论知识,提高编程水平,并在此过程中培养严谨的科学态度和良好的工作作风;
提高综合运用所学的理论知识和方法独立分析和解决问题的能力。
6.参考文献
[1]目海,
delphi应用程序设计枣庄学院计算机科学系
[2]豫龙何旭洪,
delphi数据库系统开发实例导航(第二版)人民邮电
[3]子锐,delphi数据开发自学教程人民邮电
[4]田守瑞、永清,Delphi
7.0实例入门中国青年
[5]毅,Delphi程序设计入门科学
[6]网冠科技,Delphi
7.0程序设计基础百例机械工业
[7]华民、梁水、方超,Delphi函数参考大全
人民邮电
7.致
作为计算机科学与技术的学生,我觉得能做类似的课程设计是十分有意义,而且是十分必要的。
我们在课堂上掌握的仅仅是专业基础课的理论面,做类似的大作业就为我们提供了良好的实践平台。
为了让自己的设计更加完善,更加符合软件工程标准,一次次翻阅各种参考资料是十分必要的,同时也是必不可少的。
作为一名专业学生掌握一门或几门程序设计语言是必不可少的,由于本次课程设计要求用delphi进行开发,在这过程中我对各种的开发环境进行了探索,这使我对delphi的集成开发环境有了更深刻的理解虽然去从未独立应用过它们,但是由于水平有限,难免会有错误,还望老师批评指正。
8.附录
2014/5/26
刚拿到课题的时候完全不知道怎么办,dephi是上学期学的,很多也忘的差不多了,看了看文本编辑器所需要的功能,大概的翻看了下dephi书中基础的怎样建立程序。
2014/5/27
这个课题要做的是一个介于记事本和word之间的文本编辑器,它功能比记事本多,与记事本一样小巧便捷,功能虽然没用word强大,但是比word更易打开更方便操作。
设置菜单的属性功能。
2014/5/28
去图书馆查阅相关资料,大概的设计了下需要用到的图标命令等的位置和所需容。
2014/5/29
上网查阅了些资料,设计了下流程图。
2014/6/2
这周开始是准备把上周分析的系统功能通过软件实现,先把框架做好,划分几块,分几个功能。
用memo控件画一个框,点击MainMenu控件放在框里面。
把MainMenu1主菜单中的的文件、编辑、格式、帮助以及这些里面分别包含的其他功能放在下拉菜单里,其中格式中的对齐和字体也分为几个小块,开始的时候不知道怎么再分,找了一下试了一些键,发现是通过右击的createsubmenu实现。
想把菜单下面一排变成点击图片就能实现的样式,通过toolbar和SpeedButton实现,寻找小图标也成了问题,截图出来的小图标没有办法放上去。
2014/6/3
昨天遗留下来的小图标问题,把可以将图片放入的可能性都试了一遍还是没有办法把图标放入,通过image功能把图片加载进去了,图标也没能出来。
仔细看了右下方的那些功能,没有什么进展。
这个问题困扰了我好久,看了书问了同学也没有会的,很头疼。
一直想着它的时候没有进展,脑袋像堵住了一样不灵活。
下午写日志的时候突然发现可以用SpeedButton控件添加图片去XX,一下就找到了我要的答案,通过右下方的Glyph来选择电脑中的图片,而且是需要bmp格式的图片,那些截图都是png格式,可能这也是没能成功的原因之一吧。
XX上没有打开之类的小图标,只能去word里截图,把原本的word中相应的功能截图下来。
2014/6/4
在memo框中放入colordialog颜色图标、fontdialog字体图标、opendialog打开图标、savedialog保存图标,查找资料,看看书把简单的打开、保存之类的小的程序编好,调试修改。
2014/6/5
将图片的功能与文字的功能结合起来编程,很多还是有不明白的地方,在书和网上查了些资料,进行调试,发现有的会有好多编程的小毛病,不加分号或多加分号,输入法没有改过来。
2014/6/6
对于,昨天遇到的困难,想了很多。
今天老师是来看做的情况,我去一班那边看了下,老师说可以添加些图片像qq表情之类的,然后回来查了下资料,看了些网上的东西。