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