Delphi Memo的记事本功能

Delphi Memo的记事本功能,第1张

概述Delphi Memo的记事本功能     下载地址 :  http://download.csdn.net/detail/teststudio/6412883 这个代码实现了Windows记事本的主要功能。 新建,打开,保存,另存,退出。 文件拖拽打开文件 这主要是判断Memo内容是否修改过 unit Unit1; interface uses Winapi.Windo

Delphi Memo的记事本功能

 

 

下载地址 :  http://download.csdn.net/detail/teststudio/6412883 这个代码实现了windows记事本的主要功能。 新建,打开,保存,另存,退出。 文件拖拽打开文件 这主要是判断Memo内容是否修改过
unit Unit1;  interface  uses  WinAPI.windows,WinAPI.Messages,System.SysUtils,System.Variants,System.Classes,Vcl.Graphics,Vcl.Controls,Vcl.Forms,Vcl.Dialogs,Vcl.StdCtrls,Vcl.ExtDlgs;  type  TForm1 = class(TForm)    Memo1: TMemo;    fileOpen: Tbutton;    fileSave: Tbutton;    fileSaveAs: Tbutton;    fileExit: Tbutton;    fileNew: Tbutton;    OpenDialog1: topenDialog;    SaveDialog1: TSaveDialog;    procedure fileOpenClick(Sender: TObject);    procedure fileSaveClick(Sender: TObject);    procedure fileExitClick(Sender: TObject);    procedure FormCreate(Sender: TObject);    procedure fileNewClick(Sender: TObject);    procedure fileSaveAsClick(Sender: TObject);    procedure FormClose(Sender: TObject; var Action: TCloseAction);  private    { Private declarations }    Ffilename: string;    FUpdating: Boolean;    fdragOfs: Integer;    fdragging: Boolean;    procedure CheckfileSave;    procedure Setfilename(const filename: String);    procedure PerformfileOpen(const Afilename: string);    procedure WMDropfiles(var Msg: TWMDropfiles); message WM_DROPfileS;  public    { Public declarations }  end;  var  Form1: TForm1;  implementation  uses ShellAPI;{$R *.dfm}  resourcestring  sSaveChanges = 是否将未更改保存到 %s?;  sOverWrite = %s 已存在。+#13#10+要替换它吗?;  sTitle = 记事本;  sUnTitled = 未命名;  sColRowInfo = line: %3d   Col: %3d;  sCommonDlgfilename = 文本文档(*.txt)|*.txt|所有文件(*.*)|*.*;    procedure TForm1.CheckfileSave;var  SaveRespond: Integer;begin  if not Memo1.ModifIEd then    Exit;  SaveRespond := MessageBox(Handle,PWIDeChar(Format(sSaveChanges,[Ffilename])    ),PWIDeChar(sTitle),MB_YESNOCANCEL + MB_ICONinformatION);  case SaveRespond of    IDYes:      fileSave.click;    IDNo:      ; { nothing }    IDCancel:      Abort;  end;end;  procedure TForm1.Setfilename(const filename: String);begin  Ffilename := filename;  Caption := Format(%s - %s,[Extractfilename(filename),sTitle]);end;  procedure TForm1.PerformfileOpen(const Afilename: string);begin  Memo1.lines.LoadFromfile(Afilename);  Setfilename(Afilename);  Memo1.SetFocus;  Memo1.ModifIEd := False;end;  procedure TForm1.WMDropfiles(var Msg: TWMDropfiles);var  Cfilename: array [0 .. MAX_PATH] of Char;begin  try    if Dragqueryfile(Msg.Drop,0,Cfilename,MAX_PATH) > 0 then    begin      CheckfileSave;      PerformfileOpen(Cfilename);      Msg.Result := 0;    end;  finally    DragFinish(Msg.Drop);  end;end;  procedure TForm1.fileNewClick(Sender: TObject);begin  CheckfileSave;  Setfilename(sUnTitled);    Memo1.lines.Clear;  Memo1.ModifIEd := False;end;  procedure TForm1.fileOpenClick(Sender: TObject);begin  CheckfileSave;    with topenDialog.Create(nil) do  begin    Filter := sCommonDlgfilename;    filename:=*.txt;    if Execute then    begin      PerformfileOpen(filename);      Memo1.Readonly := ofReadonly in Options;    end;  end;end;  procedure TForm1.fileSaveAsClick(Sender: TObject);begin  with TSaveDialog.Create(nil) do  begin    Filter := sCommonDlgfilename;    filename:=*.txt;    if Execute then    begin      if fileExists(filename) then        if MessageBox(Handle,PWIDeChar(Format(sOverWrite,[Ffilename])),MB_YESNOCANCEL + MB_ICONinformatION) <> IDYes then          Exit;      Memo1.lines.Savetofile(filename);      Setfilename(filename);      Memo1.ModifIEd := False;    end;  end;end;  procedure TForm1.fileSaveClick(Sender: TObject);begin  if Ffilename = sUnTitled then    fileSaveAs.click  else  begin    Memo1.lines.Savetofile(Ffilename);    Memo1.ModifIEd := False;  end;end;  procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);begin  CheckfileSave;end;  procedure TForm1.FormCreate(Sender: TObject);begin  Setfilename(sUnTitled);  DragAcceptfiles(Handle,True);end;  procedure TForm1.fileExitClick(Sender: TObject);begin  Close;end;  end.
总结

以上是内存溢出为你收集整理的Delphi Memo的记事本功能全部内容,希望文章能够帮你解决Delphi Memo的记事本功能所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1265390.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存