Delphi中用memo写的记事本程序_第1页
Delphi中用memo写的记事本程序_第2页
Delphi中用memo写的记事本程序_第3页
Delphi中用memo写的记事本程序_第4页
Delphi中用memo写的记事本程序_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论