⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainu.~pas

📁 本光盘是《Delphi 7应用教程》一书的配套光盘
💻 ~PAS
字号:
unit MainU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Menus;

type
  TmainForm = class(TForm)
    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;
    RichEdit1: TRichEdit;
    SaveDialog1: TSaveDialog;
    OpenDialog1: TOpenDialog;
    FontDialog1: TFontDialog;
    PrintDialog1: TPrintDialog;
    N16: TMenuItem;
    procedure N4Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure N15Click(Sender: TObject);
   // procedure RichEdit1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  mainForm: TmainForm;
  CurFname:string;  //该变量用来存放记事本当前打开文件的文件名
implementation

uses about;

{$R *.dfm}
//该过程用来把打开或新建的文件的文件名保存到CurName变量中,同时在窗体的标题栏显示文件名
procedure setfileName(const filename:string);
 begin
   CurFname:=filename;
   mainform.caption:=format('%s-%s',[extractfilename(filename),application.title]);
 end;
//该过程用来检查文件是否修改,如果修改则提示是否保存
procedure CheckFileModi;
  var  Resp:integer;
begin
     if not mainform.RichEdit1.Modified then exit;
     Resp:=messagedlg(format('将修改的文件存入文件%s?',
     [CurFname]),mtconfirmation,mbyesnocancel,0);
     case Resp of
          idyes:mainform.RichEdit1.Lines.SaveToFile(CurFname);
          idno:;
          idcancel:abort;
     end;
end;
// 该过程用来把参数filename指定的文件打开,关设置文件名
procedure performfileopen(const filename:string);
begin
    mainform.RichEdit1.Lines.LoadFromFile(filename);
    setfilename(filename);
    mainform.RichEdit1.SetFocus;
end;
//“另存为”菜单项
procedure TmainForm.N7Click(Sender: TObject);
begin
  if savedialog1.Execute then
  begin
    if fileexists(savedialog1.FileName) then
      if messagedlg(format(' 是否覆盖文件%s?', [savedialog1.FileName]),mtconfirmation,
           mbyesnocancel,0)<>idyes then exit;
        mainform.richedit1.Lines.SaveToFile(savedialog1.FileName);
        setfilename(savedialog1.FileName);
        mainform.richedit1.Modified:=false;
  end;
end;
//“打印”菜单项
procedure TmainForm.N8Click(Sender: TObject);
begin
  if printdialog1.Execute then
     mainform.RichEdit1.Print(CurFname);
end;
//“取消”菜单项
procedure TmainForm.N10Click(Sender: TObject);
begin
   with mainform.RichEdit1 do
      if handleallocated then sendmessage(handle,em_undo,0,0);
end;
 //“复制”菜单项
procedure TmainForm.N11Click(Sender: TObject);
begin
    mainform.RichEdit1.CopyToClipboard;
end;
 //“粘贴”菜单项
procedure TmainForm.N12Click(Sender: TObject);
begin
   mainform.RichEdit1.PasteFromClipboard;
end;
//“删除”菜单项
procedure TmainForm.N13Click(Sender: TObject);
begin
  mainform.RichEdit1.SelText :='';
end;
//“剪切”菜单项
procedure TmainForm.N16Click(Sender: TObject);
begin
   mainform.RichEdit1.CutToClipboard;
end;
//"字体"菜单项
procedure TmainForm.N14Click(Sender: TObject);
begin
  if mainform.FontDialog1.Execute then
     mainform.RichEdit1.Font:=fontdialog1.Font;
end;
//“新建”菜单项
procedure TmainForm.N4Click(Sender: TObject);
begin
   CheckFileModi;
   setfilename('未命名');
   mainform.richedit1.Lines.Clear;
   mainform.richedit1.Modified:=false;
end;
 //"打开"菜单项
procedure TmainForm.N5Click(Sender: TObject);
begin
   CheckFileModi;
   if opendialog1.Execute then
      begin
          performfileopen(opendialog1.FileName);
          mainform.richedit1.readonly:=ofreadonly in opendialog1.options;
      end;
end;
procedure TmainForm.N9Click(Sender: TObject);
begin
    close;
end;

procedure TmainForm.N15Click(Sender: TObject);
begin
     form2.show;
end;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -