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

📄 unit1.pas

📁 记事本界面程序
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Menus, ImgList, StdActns, ActnList,
  ExtActns, ToolWin, Spin, ColorGrd, ExtCtrls;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    New1: TMenuItem;
    Open1: TMenuItem;
    save1: TMenuItem;
    SaveAs1: TMenuItem;
    PrinterSetup1: TMenuItem;
    Print1: TMenuItem;
    Exit1: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    Edit1: TMenuItem;
    Undo1: TMenuItem;
    Cut1: TMenuItem;
    Copy1: TMenuItem;
    Paste1: TMenuItem;
    font1: TMenuItem;
    Color1: TMenuItem;
    Find1: TMenuItem;
    Replace1: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    View1: TMenuItem;
    mstatusBar1: TMenuItem;
    mtoolBar1: TMenuItem;
    Normal1: TMenuItem;
    style1: TMenuItem;
    LageIcon1: TMenuItem;
    Smallicon1: TMenuItem;
    List1: TMenuItem;
    Report1: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    Help1: TMenuItem;
    about1: TMenuItem;
    RichEdit1: TRichEdit;
    ActionList1: TActionList;
    EditCut1: TEditCut;
    EditCopy1: TEditCopy;
    EditPaste1: TEditPaste;
    PopupMenu1: TPopupMenu;
    T1: TMenuItem;
    C1: TMenuItem;
    P1: TMenuItem;
    FileOpen1: TFileOpen;
    FileSaveAs1: TFileSaveAs;
    FileExit1: TFileExit;
    PrintDlg1: TPrintDlg;
    EditUndo1: TEditUndo;
    EditDelete1: TEditDelete;
    ImageList1: TImageList;
    ToolBar1: TToolBar;
    ToolBar2: TToolBar;
    RichEditBold1: TRichEditBold;
    RichEditItalic1: TRichEditItalic;
    RichEditUnderline1: TRichEditUnderline;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    ToolButton14: TToolButton;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    RichEditAlignLeft1: TRichEditAlignLeft;
    RichEditAlignCenter1: TRichEditAlignCenter;
    RichEditAlignRight1: TRichEditAlignRight;
    PopupMenu2: TPopupMenu;
    AlignLeft1: TMenuItem;
    Center1: TMenuItem;
    AlignRight1: TMenuItem;
    ToolButton15: TToolButton;
    ComboBox1: TComboBox;
    SpinEdit1: TSpinEdit;
    ColorGrid1: TColorGrid;
    Usercolor1: TAction;
    ToolButton16: TToolButton;
    StatusBar1: TStatusBar;
    Timer1: TTimer;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    FontDialog1: TFontDialog;
    ColorDialog1: TColorDialog;
    FindDialog1: TFindDialog;
    ReplaceDialog1: TReplaceDialog;
    ToolButton17: TToolButton;
    HelpContents1: THelpContents;
    procedure mstatusBar1Click(Sender: TObject);
    procedure LageIcon1Click(Sender: TObject);
    procedure Smallicon1Click(Sender: TObject);
    procedure List1Click(Sender: TObject);
    procedure Report1Click(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
    procedure Undo1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure SpinEdit1Change(Sender: TObject);
    procedure RichEdit1SelectionChange(Sender: TObject);
    procedure Normal1Click(Sender: TObject);
    procedure style1Click(Sender: TObject);
    procedure Usercolor1Execute(Sender: TObject);
    procedure ColorGrid1Change(Sender: TObject);
    procedure RichEdit1Change(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure New1Click(Sender: TObject);
    procedure Open1Click(Sender: TObject);
    procedure SaveAs1Click(Sender: TObject);
    procedure save1Click(Sender: TObject);
    procedure font1Click(Sender: TObject);
    procedure Color1Click(Sender: TObject);
    procedure Find1Click(Sender: TObject);
    procedure FindDialog1Find(Sender: TObject);
    procedure Replace1Click(Sender: TObject);
    procedure ReplaceDialog1Replace(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}  var  fname:string='未命名';
            var  first:boolean=true;
procedure TForm1.mstatusBar1Click(Sender: TObject);
begin
    mstatusBar1.Checked:=not  mstatusBar1.Checked;
end;

procedure TForm1.LageIcon1Click(Sender: TObject);
begin
    LageIcon1.Checked:=not   LageIcon1.Checked;
end;

procedure TForm1.Smallicon1Click(Sender: TObject);
begin
    Smallicon1.Checked:=not  Smallicon1.Checked;
end;

procedure TForm1.List1Click(Sender: TObject);
begin
    List1.Checked:=not  List1.Checked;
end;

procedure TForm1.Report1Click(Sender: TObject);
begin
    Report1.Checked:=not   Report1.Checked;
end;

procedure TForm1.Exit1Click(Sender: TObject);
begin
     Form1.Close;
end;

procedure TForm1.Undo1Click(Sender: TObject);
begin
    richEdit1.Undo;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
    ComboBox1.Items:=Screen.Fonts;
    ComboBox1.Text:=Richedit1.Font.Name;
    SpinEdit1.Value:=richedit1.Font.Size;
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
    RichEdit1.SelAttributes.Name:=comboBox1.Text;
end;

procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
     if  SpinEdit1.value<>0
     then  RichEdit1.SelAttributes.Size:=SpinEdit1.Value;
end;

procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
begin
   ComboBox1.Text:=richedit1.SelAttributes.Name;
   SpinEdit1.Value:=Richedit1.SelAttributes.Size;
   statusbar1.Panels[0].Text:='位置'+inttostr(RichEdit1.CaretPos.y+1)+'行'+
   inttostr(richedit1.caretPos.x)+'列';
end;

procedure TForm1.Normal1Click(Sender: TObject);
begin
   Normal1.Checked:=not  Normal1.Checked;
   ToolBar1.Visible:=Normal1.Checked;
end;

procedure TForm1.style1Click(Sender: TObject);
begin
    style1.Checked:=not  style1.Checked;
    Toolbar2.Visible:=style1.Checked;
end;

procedure TForm1.Usercolor1Execute(Sender: TObject);
begin
   ColorGrid1.Visible:=true;
end;

procedure TForm1.ColorGrid1Change(Sender: TObject);
begin
   RichEdit1.SelAttributes.Color:=colorGrid1.ForegroundColor;
   colorGrid1.Visible:=false;
end;

procedure TForm1.RichEdit1Change(Sender: TObject);
begin
   if  RichEdit1.Modified
   then  statusbar1.Panels[1].Text:='Modified';
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
   StatusBar1.Panels[2].Text:=datetimetoStr(Now);
end;

procedure TForm1.New1Click(Sender: TObject);
begin
     Richedit1.Clear;
     GetDir(0,fname);
     fname:=fname+'\未命名';
     statusbar1.Panels[3].Text:=fname;
end;

procedure TForm1.Open1Click(Sender: TObject);
begin
     if   OpenDialog1.Execute
     then  begin
              fname:=openDialog1.FileName;
              RichEdit1.Lines.LoadFromFile(fname);
              Statusbar1.Panels[3].Text:=fname;
             end;

end;
procedure TForm1.SaveAs1Click(Sender: TObject);
begin
    if  SaveDialog1.Execute
    then  begin
              fname:=SaveDialog1.FileName;
              RichEdit1.Lines.SaveToFile(fname);
              StatusBar1.Panels[3].Text:=fname;
          end;
end;

procedure TForm1.save1Click(Sender: TObject);
begin
   if  Pos('未命名',fname)<>0
   then  if  SaveDialog1.Execute
             then  begin
                      fname:=SaveDialog1.FileName;
                      RichEdit1.Lines.SaveToFile(fname);
                      StatusBar1.Panels[3].Text:=fname;
                    end
   else  RichEdit1.Lines.SaveToFile(fname);

end;

procedure TForm1.font1Click(Sender: TObject);
begin
     if   richedit1.SelLength>0
     then begin
            fontdialog1.Font.Assign(richedit1.SelAttributes);
            if fontdialog1.Execute
            then richedit1.selattributes.assign(fontdialog1.font);
          end
     else showmessage('请先选中一段文本') ;
end;

procedure TForm1.Color1Click(Sender: TObject);
begin
     if colordialog1.execute
     then richedit1.color:=colordialog1.color;
end;

procedure TForm1.Find1Click(Sender: TObject);
begin
     finddialog1.Execute;
end;

procedure TForm1.FindDialog1Find(Sender: TObject);
var  i,n,index:integer;
     source,find:string;
begin
     find:=finddialog1.FindText;
     n:=length(find);
     if n>0
     then begin
             i:=richedit1.SelStart+richedit1.sellength;
             source:=copy(richedit1.Text,i+1,length(richedit1.text)-i);
             index:=pos(find,source);
             if index>0
             then begin
                    richedit1.selstart:=i+index-1;
                    richedit1.sellength:=n;
                    first:=false;
                    self.show;
                   end
             else begin
                    if first
                    then showmessage('已搜索完毕,未找到搜索项!')
                    else if not(sender is treplacedialog)
                         then showmessage('已搜索完毕!')
                   end;
          end
     else showmessage('请输入查找字符串');
end;

procedure TForm1.Replace1Click(Sender: TObject);
begin
     replacedialog1.Execute;
end;

procedure TForm1.ReplaceDialog1Replace(Sender: TObject);
var count:integer;
begin
     if richedit1.sellength>0
     then richedit1.seltext:=replacedialog1.ReplaceText;
     finddialog1find(sender);
     if frreplaceall in replacedialog1.Options
     then begin
            count:=0;
            while richedit1.sellength>0 do
              begin
                richedit1.seltext:=replacedialog1.ReplaceText;
                count:=count+1;
                finddialog1find(sender);
              end;
            showmessage('已替换完毕,共替换'+inttostr(count)+'项!');
          end
        else if richedit1.sellength=0
        then showmessage('已替换完毕!');

end;

end.

⌨️ 快捷键说明

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