




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验四 Delphi组件应用综合实验指导实验目的 掌握公共对话框组件的属性、事件及应用方法。 掌握应用程序界面设计方法。 掌握基本组件的综合应用。 掌握常用函数的应用。实验内容 设计一个文本编辑器实验要求 参照windows记事本程序,编写类似的程序。要求应用公共对话框、菜单组件、工具栏组件、备注框组件,完成菜单设计,工具栏设计,实现文件打开、保存、关闭、文字编辑(修改、查找、替换),文字格式设置等功能,保证主菜单、弹出式菜单、工具栏同步。 此编辑器主要由一个主菜单,一个工具栏,和一个快捷菜单组成,主要功能如下:主菜单:文件(新建,保存,另存为,打开,打印,退出),编辑(剪切,复制,黏贴,删除
2、,查找,替换),更改(字体,背景),关于(是对此程序的制造者说明)。工具栏:保存,新建,打开,打印,字体,粗体,斜体,下划线。此工具栏是让用户更方便地使用按键。快捷菜单:复制,剪切,黏贴。可以自行设计其他功能,完善文本编辑器。1、 代码实现unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ComCtrls, ImgList, ToolWin, ExtDlgs;type TForm1 = clas
3、s(TForm) MainMenu1: TMainMenu; E1: TMenuItem; O1: TMenuItem; V1: TMenuItem; N3: TMenuItem; C1: TMenuItem; P2: TMenuItem; F2: TMenuItem; R1: TMenuItem; W1: TMenuItem; N4: TMenuItem; N5: TMenuItem; N1: TMenuItem; N2: TMenuItem; O2: TMenuItem; S1: TMenuItem; A1: TMenuItem; U1: TMenuItem; P1: TMenuItem;
4、 X1: TMenuItem; N6: TMenuItem; N7: TMenuItem; PopupMenu1: TPopupMenu; Edit1: TEdit; ToolBar1: TToolBar; ImageList1: TImageList; ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; ToolButton7: TTo
5、olButton; ToolButton8: TToolButton; ToolButton9: TToolButton; ToolButton10: TToolButton; ToolButton11: TToolButton; N8: TMenuItem; N9: TMenuItem; N10: TMenuItem; N11: TMenuItem; N12: TMenuItem; N13: TMenuItem; N14: TMenuItem; N15: TMenuItem; N16: TMenuItem; N17: TMenuItem; N18: TMenuItem; N19: TMenu
6、Item; N20: TMenuItem; FontDialog1: TFontDialog; ColorDialog1: TColorDialog; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; PrintDialog1: TPrintDialog; FindDialog1: TFindDialog; ReplaceDialog1: TReplaceDialog; PageSetupDialog1: TPageSetupDialog; Memo1: TMemo; D1: TMenuItem; L1: TMenuItem; w2: TM
7、enuItem; procedure ToolButton8Click(Sender: TObject); procedure ToolButton9Click(Sender: TObject); procedure ToolButton10Click(Sender: TObject); procedure N11Click(Sender: TObject); procedure N12Click(Sender: TObject); procedure N15Click(Sender: TObject); procedure N16Click(Sender: TObject); procedu
8、re N17Click(Sender: TObject); procedure N18Click(Sender: TObject); procedure N19Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure C1Click(Sender: TObject); procedure P2Click(Sender: TObject); procedure Memo1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y:
9、Integer); procedure N8Click(Sender: TObject); procedure N9Click(Sender: TObject); procedure N10Click(Sender: TObject); procedure ToolButton11Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure P1Click(Sender: TObject); procedure
10、 A1Click(Sender: TObject); procedure N20Click(Sender: TObject); procedure X1Click(Sender: TObject); procedure U1Click(Sender: TObject); procedure R1Click(Sender: TObject); procedure F2Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); pr
11、ocedure O2Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure S1Click(Sender: TObject); procedure N14Click(Sender: TObject); procedure N13Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure D1Click(Sender: TObject); procedure L1Click(Sender: TObject); / procedure
12、N21Click(Sender: TObject); procedure FindDialog1Find(Sender: TObject); procedure ReplaceDialog1Replace(Sender: TObject); procedure ReplaceDialog1Find(Sender: TObject); private Private declarations public Public declarations end;var Form1: TForm1; filename:string;implementation$R *.dfm procedure TFor
13、m1.Memo1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); /鼠标选中文本,剪切,复制,等按钮才生效beginif memo1.SelLength0 thenbegin n3.Enabled:=true; C1.Enabled:=true; n8.Enabled:=true; n9.Enabled:=true; D1.Enabled:=true; L1.Enabled:=true; end else begin n3.Enabled:=false; C1.Enabled:=
14、false; n8.Enabled:=false; n9.Enabled:=false; D1.Enabled:=false; L1.Enabled:=false; end; end;procedure TForm1.N2Click(Sender: TObject); /新建(主菜单)begin if (memo1.Lines.Text) then begin if MessageDlg(记事本中还有文本内容未保存,是否保存?,mtWarning,mbyes,mbno,0)=mrok then ToolButton1.Click ; end; memo1.clear;end;procedure
15、 TForm1.O2Click(Sender: TObject); /打开(主菜单)begin if OpenDialog1.Execute then memo1.lines.LoadfromFile(OpenDialog1.Filename);/把在打开文件对话框中选中的文件装载到 文本框中end;procedure TForm1.S1Click(Sender: TObject); /保存(主菜单)begin if filename= thenbeginif savedialog1.Execute thenbeginmemo1.Lines.SaveToFile(savedialog1.Fil
16、eName);filename:=savedialog1.filename;endendelse memo1.Lines.SaveToFile(savedialog1.FileName); / 把文件保存到已打开的文本中end;procedure TForm1.A1Click(Sender: TObject); / 另存为(主菜单)begin if savedialog1.Execute thenbeginmemo1.Lines.SaveToFile(savedialog1.FileName);filename:=savedialog1.filename; end;end;procedure
17、TForm1.U1Click(Sender: TObject); /页面设置(主菜单)?begin PagesetupDialog1.Execute;end;procedure TForm1.P1Click(Sender: TObject); /打印(主菜单)begin PrintDialog1.Execute;end;procedure TForm1.X1Click(Sender: TObject); /退出begin close;end;procedure TForm1.N3Click(Sender: TObject); /剪切 (主菜单)beginmemo1.CutToClipboard
18、;n3.Enabled:=false;C1.Enabled:=false;n8.Enabled:=false;n9.Enabled:=false;end;procedure TForm1.C1Click(Sender: TObject); /复制 (主菜单)begin memo1.CutToClipboard; n3.Enabled:=false; C1.Enabled:=false; n8.Enabled:=false; n9.Enabled:=false;end;procedure TForm1.P2Click(Sender: TObject); /粘贴 (主菜单)beginmemo1.P
19、asteFromClipboard;end;procedure TForm1.F2Click(Sender: TObject); /查找(主菜单)? ?begin /FindDialog1.Execute; /FindDialog1.Position:=Point(memo1.Left+memo1.Top,memo1.Width);/memo1.Lines.Text:=FindDialog.FindText;end; procedure TForm1.R1Click(Sender: TObject); /替换(主菜单)? ?begin ReplaceDialog1.Execute;end; p
20、rocedure TForm1.N11Click(Sender: TObject); /字体-粗体(主菜单)begin if memo1.font.Style*fsbold= then begin memo1.font.Style:=memo1.Font.Style+fsbold; n11.checked:=true; ToolButton8.Down:=true; end else begin memo1.font.Style:=memo1.Font.Style-fsbold; n11.checked:=false; ToolButton8.Down:=false; end;end;proc
21、edure TForm1.N12Click(Sender: TObject); /字体-斜体(主菜单)begin if memo1.font.Style*fsitalic= then begin:=memo1.Font.Style+fsitalic; n12.checked:=true; ToolButton9.Down:=true; end else begin memo1.font.Style:=memo1.Font.Style-fsitalic; n12.checked:=false; ToolButton9.Down:=false; end;end;procedure TForm1.N
22、15Click(Sender: TObject); /背景色-银色(主菜单)begin memo1.color:=clsilver;end;procedure TForm1.N16Click(Sender: TObject); /背景色-灰色(主菜单)beginmemo1.color:=clgray;end;procedure TForm1.N17Click(Sender: TObject); /背景色-黑色(主菜单)begin memo1.color:=clblack;end;procedure TForm1.N18Click(Sender: TObject); /背景色-红色(主菜单)be
23、gin memo1.color:=clred;end;procedure TForm1.N19Click(Sender: TObject); /背景色-白色(主菜单)begin memo1.color:=clwhite;end;procedure TForm1.N20Click(Sender: TObject); /字体颜色 (主菜单)begin with ColorDialog1 do if execute then memo1.Font.Color:=ColorDialog1.Color;end;procedure TForm1.ToolButton1Click(Sender: TObje
24、ct); /保存(工具栏)beginS1.Click;end;procedure TForm1.ToolButton2Click(Sender: TObject); / 新建文件(工具栏)begin if (memo1.Lines.Text) then begin if MessageDlg(记事本中还有文本内容未保存,是否保存?,mtWarning,mbyes,mbno,0)=mrok then ToolButton1.Click ; end; memo1.clear;end;procedure TForm1.ToolButton3Click(Sender: TObject); /打开(工具
25、栏)begin if OpenDialog1.Execute=true thenfromFile(OpenDialog1.Filename);/把在 打开文件对话框中选中的文件装载到 文本框中end;procedure TForm1.ToolButton5Click(Sender: TObject); /打印(工具栏)begin PrintDialog1.Execute;end; procedure TForm1.ToolButton11Click(Sender: TObject);/字体(工具栏)begin FontDialog1.font:=memo1.Font; with FontDia
26、log1 do if execute then memo1.Font:=FontDialog1.Font;end;procedure TForm1.ToolButton8Click(Sender: TObject); /粗体 (工具栏)begin if memo1.font.Style*fsbold= then begin memo1.font.Style:=memo1.Font.Style+fsbold; n11.checked:=true; ToolButton8.Down:=true; end else begin memo1.font.Style:=memo1.Font.Style-f
27、sbold; n11.checked:=false; ToolButton8.Down:=false; end;end;procedure TForm1.ToolButton9Click(Sender: TObject); /斜体 (工具栏)begin if memo1.font.Style*fsitalic= then begin memo1.font.Style:=memo1.Font.Style+fsitalic; n12.checked:=true; ToolButton9.Down:=true; end else begin memo1.font.Style:=memo1.Font.
28、Style-fsitalic; n12.checked:=false; ToolButton9.Down:=false; end;end;procedure TForm1.ToolButton10Click(Sender: TObject); /下划线 (工具栏)begin if memo1.font.Style*fsunderline= then begin memo1.font.Style:=memo1.Font.Style+fsunderline; ToolButton10.Down:=true; end else begin memo1.font.Style:=memo1.Font.S
29、tyle-fsunderline; ToolButton10.Down:=false; end;end;procedure TForm1.N8Click(Sender: TObject); /复制(弹出式菜单)begin memo1.CutToClipboard;n3.Enabled:=false;C1.Enabled:=false;n8.Enabled:=false;n9.Enabled:=false;end;procedure TForm1.N9Click(Sender: TObject); /剪切(弹出式菜单)beginmemo1.CutToClipboard;n3.Enabled:=f
30、alse;C1.Enabled:=false;n8.Enabled:=false;n9.Enabled:=false;end;procedure TForm1.N10Click(Sender: TObject); /粘贴(弹出式菜单)begin memo1.PasteFromClipboard;end;procedure TForm1.N13Click(Sender: TObject); /查找(弹出式菜单)?begin FindDialog1.Execute; memo1.SelStart:=0;end;procedure TForm1.N14Click(Sender: TObject);
31、/替换(弹出式菜单) ?begin ReplaceDialog1.Execute; memo1.SelStart:=0;end; procedure TForm1.N5Click(Sender: TObject);begin showmessage(欢迎使用本程序!+#13编者姓名:卢慧琳);end;procedure TForm1.D1Click(Sender: TObject);beginmemo1.SelText:=;end;procedure TForm1.L1Click(Sender: TObject);begin memo1.SelText:=;end;procedure TFor
32、m1.FindDialog1Find(Sender: TObject); /查找Varselpos,startpos,toend:integer;t:string;beginstartpos:=memo1.SelStart+memo1.SelLength+1;toend:=Length(memo1.lines.Text)-startpos+1;t:=copy(memo1.Lines.Text,startpos,toend);selpos:=pos(finddialog1.FindText,t);if selpos0 thenbeginselpos:=selpos+startpos-1;memo
33、1.setfocus;memo1.SelStart:=selpos-1;memo1.SelLength:=Length(FindDialog1.FindText);endelse showmessage(不能找到+finddialog1.findtext);end; procedure TForm1.N21Click(Sender: TObject); /查找下一个begin if finddialog1.FindText= then finddialog1.Execute else finddialog1Find(sender);end; procedure TForm1.ReplaceDi
34、alog1Replace(Sender: TObject);var selpos:integer;begin selpos:=Pos(ReplaceDialog1.FindText ,Memo1.Lines.Text ); if selpos0 then begin Memo1.SelStart :=selpos-1; Memo1.SelLength :=Length(ReplaceDialog1.FindText ); Memo1.SelText :=ReplaceDialog1.ReplaceText ; end else showmessage(不能找到+ReplaceDialog1.F
35、indText);end;procedure TForm1.ReplaceDialog1Find(Sender: TObject);beginForm1.FindDialog1Find(Sender);end;end.unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ComCtrls, ImgList, ToolWin, ExtDlgs;type TForm1 = class(TForm) Ma
36、inMenu1: TMainMenu; E1: TMenuItem; O1: TMenuItem; V1: TMenuItem; N3: TMenuItem; C1: TMenuItem; P2: TMenuItem; F2: TMenuItem; R1: TMenuItem; W1: TMenuItem; N4: TMenuItem; N5: TMenuItem; N1: TMenuItem; N2: TMenuItem; O2: TMenuItem; S1: TMenuItem; A1: TMenuItem; U1: TMenuItem; P1: TMenuItem; X1: TMenuI
37、tem; N6: TMenuItem; N7: TMenuItem; PopupMenu1: TPopupMenu; Edit1: TEdit; ToolBar1: TToolBar; ImageList1: TImageList; ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; ToolButton7: TToolButton; T
38、oolButton8: TToolButton; ToolButton9: TToolButton; ToolButton10: TToolButton; ToolButton11: TToolButton; N8: TMenuItem; N9: TMenuItem; N10: TMenuItem; N11: TMenuItem; N12: TMenuItem; N13: TMenuItem; N14: TMenuItem; N15: TMenuItem; N16: TMenuItem; N17: TMenuItem; N18: TMenuItem; N19: TMenuItem; N20:
39、TMenuItem; FontDialog1: TFontDialog; ColorDialog1: TColorDialog; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; PrintDialog1: TPrintDialog; FindDialog1: TFindDialog; ReplaceDialog1: TReplaceDialog; PageSetupDialog1: TPageSetupDialog; Memo1: TMemo; D1: TMenuItem; L1: TMenuItem; w2: TMenuItem; pr
40、ocedure ToolButton8Click(Sender: TObject); procedure ToolButton9Click(Sender: TObject); procedure ToolButton10Click(Sender: TObject); procedure N11Click(Sender: TObject); procedure N12Click(Sender: TObject); procedure N15Click(Sender: TObject); procedure N16Click(Sender: TObject); procedure N17Click
41、(Sender: TObject); procedure N18Click(Sender: TObject); procedure N19Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure C1Click(Sender: TObject); procedure P2Click(Sender: TObject); procedure Memo1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); p
42、rocedure N8Click(Sender: TObject); procedure N9Click(Sender: TObject); procedure N10Click(Sender: TObject); procedure ToolButton11Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure P1Click(Sender: TObject); procedure A1Click(Se
43、nder: TObject); procedure N20Click(Sender: TObject); procedure X1Click(Sender: TObject); procedure U1Click(Sender: TObject); procedure R1Click(Sender: TObject); procedure F2Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure O2C
44、lick(Sender: TObject); procedure N2Click(Sender: TObject); procedure S1Click(Sender: TObject); procedure N14Click(Sender: TObject); procedure N13Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure D1Click(Sender: TObject); procedure L1Click(Sender: TObject); / procedure N21Click(Se
45、nder: TObject); procedure FindDialog1Find(Sender: TObject); procedure ReplaceDialog1Replace(Sender: TObject); procedure ReplaceDialog1Find(Sender: TObject); private Private declarations public Public declarations end;var Form1: TForm1; filename:string;implementation$R *.dfm procedure TForm1.Memo1Mou
46、seUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); /鼠标选中文本,剪切,复制,等按钮才生效beginif memo1.SelLength0 thenbegin n3.Enabled:=true; C1.Enabled:=true; n8.Enabled:=true; n9.Enabled:=true; D1.Enabled:=true; L1.Enabled:=true; end else begin n3.Enabled:=false; C1.Enabled:=false; n8.E
47、nabled:=false; n9.Enabled:=false; D1.Enabled:=false; L1.Enabled:=false; end; end;procedure TForm1.N2Click(Sender: TObject); /新建(主菜单)begin if (memo1.Lines.Text) then begin if MessageDlg(记事本中还有文本内容未保存,是否保存?,mtWarning,mbyes,mbno,0)=mrok then ToolButton1.Click ; end; memo1.clear;end;procedure TForm1.O2C
48、lick(Sender: TObject); /打开(主菜单)begin if OpenDialog1.Execute then memo1.lines.LoadfromFile(OpenDialog1.Filename);/把在打开文件对话框中选中的文件装载到 文本框中end;procedure TForm1.S1Click(Sender: TObject); /保存(主菜单)begin if filename= thenbeginif savedialog1.Execute thenbeginmemo1.Lines.SaveToFile(savedialog1.FileName);file
49、name:=savedialog1.filename;endendelse memo1.Lines.SaveToFile(savedialog1.FileName); / 把文件保存到已打开的文本中end;procedure TForm1.A1Click(Sender: TObject); / 另存为(主菜单)begin if savedialog1.Execute thenbeginmemo1.Lines.SaveToFile(savedialog1.FileName);filename:=savedialog1.filename; end;end;procedure TForm1.U1Cl
50、ick(Sender: TObject); /页面设置(主菜单)begin PagesetupDialog1.Execute;end;procedure TForm1.P1Click(Sender: TObject); /打印(主菜单)begin PrintDialog1.Execute;end;procedure TForm1.X1Click(Sender: TObject); /退出begin close;end;procedure TForm1.N3Click(Sender: TObject); /剪切 (主菜单)beginmemo1.CutToClipboard;n3.Enabled:=false;C1.Enabled:=false;n8.Enabled:=false;n9.Enabled:=false;end;procedure TForm1.C1Click(Sender: TObject); /复制 (主菜单)begin memo1.CutToClipboard; n3.Enabled:=false; C1.Enabled:=false; n8.Enabled:=false; n9.Enabled:=false;end;procedure TForm1.P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 康复医疗考试题(含参考答案)
- 高级营销员试题库(附参考答案)
- 远程办公服务平台租赁协议
- 农业生产资料集中采购合作协议
- 无人机飞航测绘合作协议
- 2023年计算机软考考试模拟试题及答案
- 道交法试题及答案解说
- 2025福建南平市供电服务有限公司招聘52人笔试参考题库附带答案详解
- 2025江苏亚威铸造材料科技有限公司招聘41人笔试参考题库附带答案详解
- 纺织品设计的供应链管理方法试题及答案
- 《零星工程项目监理方案》
- 2024年度电子烟产品OEM定制与合作协议
- 矿山植被恢复治理方案
- 年度污水处理托管服务 投标方案(技术标 )
- 2025新外研社版英语七年级下单词表
- 急救救援知识培训
- 牧场物语-矿石镇的伙伴们-完全攻略
- ISO 22003-1:2022《食品安全-第 1 部分:食品安全管理体系 审核与认证机构要求》中文版(机翻)
- 合规培训计划方案
- 大气简约南昌大学校园文化介绍宣传
- 行贿忏悔书-保证书
评论
0/150
提交评论