目录课程设计任务书 (2)1、实验题目: (3)2、项目概述 (3)3、系统的功能需求 (3)3.1总体设计 (3)3.2系统功能 (3)3.3系统工作流程 (4)4、文本编辑器的详细设计 (4)4.1文本编辑器的界面设置 (4)4.1.1新建工程 (4)4.1.2修改窗口: (4)4.2文本编辑器的详细代码分析 (7)5.心得体会: (10)6.参考文献 (11)7.致谢 (11)8.附录 (12)课程设计任务书班级姓名1、实验题目:文本编辑器2、项目概述程序大部分菜单都在窗体中对应有一个快捷图标。
包括新建、打开、保存、剪切、复制、粘贴、左对齐、右对齐、居中、文字加粗、文字倾斜、文字加下划线和文字大小等命令,在菜单中还包括字体颜色、窗体背景颜色等命令。
利用这些基本命令,可以很方便地处理很多文本文档。
该程序界面友好,当把鼠标放在快捷工具栏上时,程序会给出快捷菜单提示,同时,在窗体下方的中间,也有该快捷命令的说明文字。
首先要解决窗体的布局和设计问题。
然后给各个菜单和快捷工具栏中的按钮添加相关程序代码。
这个文本编辑器与一般的简易的文字编辑程序的制作有所不同。
首先,必须设置好菜单的属性及功能;其次,当所有的菜单都设计好之后,还必须对工具栏进行设计,工具栏的开发与设计是最具挑战性的工作,因为整个界面的美观都取决于工具栏的制作,而整个程序使用是否方便、快捷,也取决于工具栏的安排和属性的设置。
然后,还需进行一些细部的修饰,例如底部任务栏上的提示用语以及帮助菜单的设计等。
3、系统的功能需求3.1总体设计3.2系统功能该文本编辑器具有完整的菜单,大部分菜单都在窗体对应有一个快捷图标。
包括新建、打开、保存、剪切、复制、粘贴、做对齐、右对齐、居中、文字加粗、文字倾斜、文字下划线和文字大小等命令,在菜单中还包括字体颜色、窗体背景颜色。
利用这些命令,可以很方便地处理很多文本文档。
该程序界面有好,当把鼠标放在快捷工具栏上时,程序会给出快捷菜单提示,同时,在窗体下方的中间,也有该快捷命令的说明文字。
3.3系统工作流程4、文本编辑器的详细设计4.1文本编辑器的界面设置4.1.1新建工程(1)启动Delphi 7.0 程序。
选择“文件”菜单下的“新建”命令,从弹出的子菜单中选择Application 选项,则出现新建工程的Form1 窗口。
(2)选择“文件”菜单下的“工程另存为”命令,弹出Save Unit1 As 对话框。
在“保存在”列表框中选择需要存放该窗口文件所在的目录名;在“文件名”编辑框中填写文件名,这里填写“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)选择Win 32 页上的ToolBar 选项,在窗体中添加ToolBar 控件,调整其合适的大小和位置。
在“属性”面板上设置其Color 属性为“clBtnFace”、设置其Align 属性为“alTop”,使其居于窗体的最上方。
(5)选择“附加”页上的SpeedButton 选项,在窗体中的ToolBar 上添加12 个SpeedButton 控件。
(6)点击SpeedButton 控件,在“属性”面板上设置Glyph属性,选择BMP格式的图片添加形象的图标。
(7)分别选中各个SpeedButton 控件,在“属性”面板上设置其ShowHint 属性均为“True”。
然后依次设置各个SpeedButton 控件的Hint 属性为“新建”、“打开”、“保存”、“剪切”、“复制”、“粘贴”、“左对齐”、“居中”、“右对齐”、“加粗”、“倾斜”和“下划线”。
(8)选择Win 32 页上的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)选择文件菜单下的新建命令,则新建一个文本文件,并将所有相关属性初始化。
代码如下:procedure TForm1.filenewClick(Sender: TObject);beginMemo1.Clear;Memo1.SetFocus;Memo1.Color:=clMenu;Memo1.Font.Color:=clBlue;Memo1.Font.Size:=10;end;(2)打开文件和保存文件的代码如下:procedure TForm1.fileopenClick(Sender: TObject); //打开beginif opendialog1.Execute thenMemo1.Lines.LoadFromFile(opendialog1.FileName);end;procedure TForm1.filesaveClick(Sender: TObject); //保存if savedialog1.Execute thenMemo1.Lines.SaveToFile(savedialog1.FileName);end;(3)退出文本编辑器的代码如下:procedure TForm1.fileexitClick(Sender: TObject); //退出beginclose;end;(4)因为利用了ColorDialog 和FontDialog 控件,相关的字体编辑部分的代码很简单,具体代码如下:procedure TForm1.editcutClick(Sender: TObject); //剪切beginMemo1.CutToClipboard;end;procedure TForm1.editcopyClick(Sender: TObject); //复制beginMemo1.CopyToClipboard;end;procedure TForm1.editpasteClick(Sender: TObject); //粘贴beginMemo1.PasteFromClipboard;end;procedure TForm1.selectall1Click(Sender: TObject); //全选beginMemo1.SelectAll;end;procedure TForm1.auto1Click(Sender: TObject);//自动换行beginauto1.Checked:=not auto1.Checked;if auto1.Checked thenmemo1.WordWrap:=trueelsememo1.WordWrap:=false;end;procedure TForm1.leftalignClick(Sender: TObject);//左对齐leftalign.Checked:=not leftalign.Checked;if leftalign.Checked thenMemo1.Alignment:=taLeftJustify;end;procedure TForm1.centeralignClick(Sender: TObject); //居中begincenteralign.Checked:=not centeralign.Checked;if centeralign.Checked thenMemo1.Alignment:=taCenter;end;procedure TForm1.rightalignClick(Sender: TObject);//右对齐beginrightalign.Checked:=not rightalign.Checked;if rightalign.Checked thenmemo1.Alignment:=taRightJustify;end;procedure TForm1.bold1Click(Sender: TObject);//字体加粗beginbold1.Checked:=not bold1.Checked;if bold1.Checked thenmemo1.Font.Style:=memo1.Font.Style+[fsBold]elsememo1.Font.Style:=memo1.Font.Style-[fsBold]end;procedure TForm1.italicClick(Sender: TObject);//字体倾斜beginitalic.Checked:=not italic.Checked;if italic.Checked thenmemo1.Font.Style:=memo1.Font.Style+[fsItalic]elsememo1.Font.Style:=memo1.Font.Style-[fsItalic]end;procedure TForm1.underline1Click(Sender: TObject);//字体加下划线underline1.Checked:=not underline1.Checked;if underline1.Checked thenmemo1.Font.style:=memo1.Font.Style+[fsunderline]elsememo1.Font.Style:=memo1.Font.Style-[fsunderline]end;procedure TForm1.color1Click(Sender: TObject);//字体颜色beginif colordialog1.Execute thenmemo1.Font.Color:=colordialog1.Color;end;procedure TForm1.backgroundClick(Sender: TObject);//窗体背景颜色beginif colordialog1.Execute thenmemo1.Color:=colordialog1.Color;end;procedure TForm1.Memo1Change(Sender: TObject);Beginend;End.5.心得体会:生活中我们经常需要用电脑编写一些文档来保存文件,本课程设计是运用了delphi 软件开发工具开发的应用软件。