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