本文整理自网络,侵删。
这里只放主要代码:
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ImgList, ComCtrls, ToolWin, ExtCtrls, StdCtrls, Menus, ExtActns, StdActns, ActnList;
type TForm1 = class(TForm) ImageList1: TImageList; ToolBar1: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; ToolButton7: TToolButton; ToolButton8: TToolButton; ToolButton9: TToolButton; StatusBar1: TStatusBar; Timer1: TTimer; OpenDialog1: TOpenDialog; RichEdit1: TRichEdit; SaveDialog1: TSaveDialog; ToolButton11: TToolButton; FontDialog1: TFontDialog; ToolButton12: TToolButton; FindDialog1: TFindDialog; ToolButton13: TToolButton; ReplaceDialog1: TReplaceDialog; ToolButton14: TToolButton; ColorDialog1: TColorDialog; ToolButton15: TToolButton; PrintDialog1: TPrintDialog; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; 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: TMenuItem; N21: TMenuItem; N22: TMenuItem; N23: TMenuItem; N24: TMenuItem; ActionList1: TActionList; EditCut1: TEditCut; EditCopy1: TEditCopy; EditPaste1: TEditPaste; EditSelectAll1: TEditSelectAll; EditUndo1: TEditUndo; EditDelete1: TEditDelete; RichEditBold1: TRichEditBold; RichEditItalic1: TRichEditItalic; RichEditUnderline1: TRichEditUnderline; N25: TMenuItem; PopupMenu1: TPopupMenu; Copy1: TMenuItem; Paste1: TMenuItem; Cut1: TMenuItem; SelectAll1: TMenuItem; Delete1: TMenuItem; N26: TMenuItem; N27: TMenuItem; N28: TMenuItem; Help1: TMenuItem; About1: TMenuItem; Contents1: TMenuItem; RichEditAlignLeft1: TRichEditAlignLeft; RichEditAlignRight1: TRichEditAlignRight; RichEditAlignCenter1: TRichEditAlignCenter; Center1: TMenuItem; AlignLeft1: TMenuItem; AlignRight1: TMenuItem; C1: TMenuItem; N29: TMenuItem; N30: TMenuItem; N31: TMenuItem; procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure RichEdit1SelectionChange(Sender: TObject); procedure RichEdit1Change(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton11Click(Sender: TObject); procedure ToolButton12Click(Sender: TObject); procedure FindDialog1Find(Sender: TObject); procedure ToolButton13Click(Sender: TObject); procedure ReplaceDialog1Replace(Sender: TObject); procedure ToolButton14Click(Sender: TObject); procedure ToolButton15Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure About1Click(Sender: TObject); procedure Contents1Click(Sender: TObject); procedure C1Click(Sender: TObject); procedure N30Click(Sender: TObject); procedure N31Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
uses Unit2, Unit3, Unit5, Unit6;
{$R *.dfm}
{此过程用于窗口创建时状态栏时间的显示}procedure TForm1.FormCreate(Sender: TObject);begin StatusBar1.Panels[3].Text:=DateTimeToStr(Now);end;
{此过程用于 动态修改状态栏时间}procedure TForm1.Timer1Timer(Sender: TObject);begin StatusBar1.Panels[3].Text:=DateTimeToStr(Now);end;
{此过程用于显示光标所在的位置}procedure TForm1.RichEdit1SelectionChange(Sender: TObject);begin StatusBar1.Panels[0].Text:='位置:'+IntToStr(RichEdit1.CaretPos.Y+1)+'行' +IntToStr(RichEdit1.CaretPos.X)+'列';end;
{此过程用于在状态栏显示文件是否被修改}procedure TForm1.RichEdit1Change(Sender: TObject);begin if RichEdit1.Modified then StatusBar1.Panels[1].Text:='修改'end;
{打开文本文件操作}procedure TForm1.ToolButton2Click(Sender: TObject);var FName:string;begin with OpenDialog1 do begin Filter:='文本文件(*.txt|*.txt'; {文件类型过滤器,防止打开非文本文件} DefaultExt:='txt'; Filename:=''; Options:=[ofHideReadOnly,ofFileMustExist,ofPathMustExist]; if execute then if ofExtensionDifferent in Options then MessageDlg('这不是文本文件。',mtError,[mbOK],0) else begin RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName); FName:=OpenDialog1.FileName; StatusBar1.Panels[2].Text:=FName; end; end;end;
{此过程用于保存文件}procedure TForm1.ToolButton3Click(Sender: TObject);var fname:string;begin with SaveDialog1 do if Execute then begin DefaultExt:='txt'; RichEdit1.Lines.SaveToFile(FileName); RichEdit1.Modified:=false; FName:=SaveDialog1.FileName; StatusBar1.Panels[2].Text:=FName; end;end;
{改变字体的过程}procedure TForm1.ToolButton11Click(Sender: TObject);begin If RichEdit1.SelLength>0 then begin FontDialog1.Font.Assign(RichEdit1.SelAttributes);{使用FontDialog} if FontDialog1.Execute then RichEdit1.SelAttributes.Assign(FontDialog1.Font); end else ShowMessage('请先选中一段文本。') {没有选中任何字}end;
{此过程用于启动查找}procedure TForm1.ToolButton12Click(Sender: TObject);begin FindDialog1.Executeend;
{通过 FindDialog 提供的方法来实现查找文本}procedure TForm1.FindDialog1Find(Sender: TObject);var FoundPos,InitPos:integer;begin InitPos:=RichEdit1.SelStart+RichEdit1.SelLength; FoundPos:=Pos(FindDialog1.FindText,Copy(RichEdit1.Text, InitPos+1,Length(RichEdit1.Text)-InitPos)); {用pos函数定位字符串位置} if FoundPos>0 {文档中不止一个} then begin RichEdit1.SetFocus; RichEdit1.SelStart:=InitPos+FoundPos-1; RichEdit1.SelLength:=Length(FindDialog1.FindText); end else {没有找到} MessageDlg('没有找到要查找的文本',mtInFormation,[mbOK],0); InitPos:=RichEdit1.SelStart+RichEdit1.SelLength;end;
{启动替换}procedure TForm1.ToolButton13Click(Sender: TObject);begin ReplaceDialog1.Execute;end;
{此过程用于实现替换功能}procedure TForm1.ReplaceDialog1Replace(Sender: TObject);var i,n:integer; s,find,replace:string;begin s:=RichEdit1.Text; find:=ReplaceDialog1.FindText; n:=Length(find); Replace:=ReplaceDialog1.ReplaceText; i:=Pos(find,s); RichEdit1.SelStart:=i-1; RichEdit1.SelLength:=n; RichEdit1.SelText:=Replace; if frReplaceAll in ReplaceDialog1.Options then repeat s:=RichEdit1.Text; i:=pos(find,s); if i<>0 then RichEdit1.Text:=Copy(s,1,i-1)+Copy(s,i+n,length(s)-(i+n)+1); {将文件分成三段:1--(i-1),i--(i+n),(i+n+1)--Length(s)} until i=0;end;
{此过程实现文字颜色的改变}procedure TForm1.ToolButton14Click(Sender: TObject);begin with ColorDialog1 do begin Color:=RichEdit1.SelAttributes.Color; if Execute then RichEdit1.SelAttributes.Color:=Color; end;end;
{此过程用于实现打印功能}procedure TForm1.ToolButton15Click(Sender: TObject);begin with PrintDialog1 do begin Options:=[poPrintToFile]; PrintToFile:=true; if execute then begin if PrintToFile then begin SaveDialog1.Title:='打印到文件: '; if SaveDialog1.Execute then RichEdit1.Lines.SaveToFile(SaveDialog1.FileName+ '.prt'); end else RichEdit1.PaintTo(Handle,10,10); end; end;
end;
{此过程用于实现“新建”,注意:这将会清空所有未保存的内容}procedure TForm1.ToolButton1Click(Sender: TObject);begin RichEdit1.Clear;end;
{退出}procedure TForm1.N6Click(Sender: TObject);begin Form1.Close;end;
{弹出作者姓名}procedure TForm1.About1Click(Sender: TObject);begin ShowMessage('(C)Choabs,2014') ;end;
{打开帮助窗口}procedure TForm1.Contents1Click(Sender: TObject);begin Form2.Show;end;
{打开日历窗口}procedure TForm1.C1Click(Sender: TObject);begin Form3.Show;end;
{打开法律信息窗口}procedure TForm1.N30Click(Sender: TObject);begin form5.Show;end;
{打开感谢窗口}procedure TForm1.N31Click(Sender: TObject);begin form6.show;end;
end.
相关阅读 >>
Delphi xe8在firemonkey tlistbox中显示图像
Delphi 通过 arp 协议获取局域网内指定 ip 地址的机器的 mac 地址
更多相关阅读请进入《Delphi》频道 >>