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

📄 unit3.~pas

📁 这是一个电子记事本.你可以选择日子的背景,可以选择日期,可以在一边写日记,一边听歌.写完日子可以统计字数
💻 ~PAS
字号:
unit Unit3;


interface

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


type
  Ttext = class(TForm)
    Panel1: TPanel;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    bnew: TToolButton;
    bopen: TToolButton;
    bsave: TToolButton;
    ToolButton5: TToolButton;
    bprint: TToolButton;
    brun: TToolButton;
    bpage: TToolButton;
    ToolButton9: TToolButton;
    bundo: TToolButton;
    bcut: TToolButton;
    bcopy: TToolButton;
    bpaste: TToolButton;
    bdelete: TToolButton;
    ToolButton15: TToolButton;
    StatusBar1: TStatusBar;
    bbold: TToolButton;
    bintic: TToolButton;
    bunderline: TToolButton;
    bcolor: TToolButton;
    ToolButton20: TToolButton;
    bleft: TToolButton;
    bcenter: TToolButton;
    bright: TToolButton;
    ActionList1: TActionList;
    MainMenu1: TMainMenu;
    PopupMenu1: TPopupMenu;
    RadioGroup1: TRadioGroup;
    DateTimePicker1: TDateTimePicker;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    ye1: 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;
    ge1: TMenuItem;
    N22: TMenuItem;
    N23: TMenuItem;
    N24: TMenuItem;
    N25: TMenuItem;
    N26: TMenuItem;
    N27: TMenuItem;
    N28: TMenuItem;
    N29: TMenuItem;
    N30: TMenuItem;
    undo: TEditUndo;
    cut: TEditCut;
    copy: TEditCopy;
    paste: TEditPaste;
    all: TEditSelectAll;
    delete: TEditDelete;
    bold: TRichEditBold;
    intic: TRichEditItalic;
    underline: TRichEditUnderline;
    center: TRichEditAlignCenter;
    right: TRichEditAlignRight;
    richedit1: TRichEdit;
    left: TRichEditAlignLeft;
    FontDialog1: TFontDialog;
    ColorDialog1: TColorDialog;
    Edit1: TEdit;
    Timer1: TTimer;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    ToolButton24: TToolButton;
    bfont: TToolButton;
    Edit2: TEdit;
    Edit3: TEdit;
    Label4: TLabel;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    PrintDialog1: TPrintDialog;
    PrinterSetupDialog1: TPrinterSetupDialog;
    FindDialog1: TFindDialog;
    ReplaceDialog1: TReplaceDialog;
    PageSetupDialog1: TPageSetupDialog;
    ImageList1: TImageList;
    N31: TMenuItem;
    N32: TMenuItem;
    N33: TMenuItem;
    open: TAction;
    font: TAction;
    save: TAction;
    N34: TMenuItem;
    N35: TMenuItem;
    N36: TMenuItem;
    N37: TMenuItem;
    N38: TMenuItem;
    N39: TMenuItem;
    N40: TMenuItem;
    N41: TMenuItem;
    N42: TMenuItem;
    N43: TMenuItem;
    N44: TMenuItem;
    N45: TMenuItem;
    find: TSearchFind;
    finda: TSearchFindNext;
    replace: TSearchReplace;
    print: TFilePrintSetup;
    run: TFileRun;
    exit: TFileExit;
    page: TFilePageSetup;
    OpenPictureDialog1: TOpenPictureDialog;
    N46: TMenuItem;
    color: TAction;
    bcolor1: TColorSelect;
    SavePictureDialog1: TSavePictureDialog;
    N47: TMenuItem;
    Action1: TAction;
    savep: TSavePicture;
    opent: TOpenPicture;
    print1: TPrintDlg;

    procedure Timer1Timer(Sender: TObject);
    procedure openExecute(Sender: TObject);
    procedure saveexecute(sender: tobject);
    procedure fontExecute(Sender: TObject);
    procedure N24Click(Sender: TObject);
    procedure bcolorClick(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure N40Click(Sender: TObject);
    procedure DateTimePicker1Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure N46Click(Sender: TObject);
    procedure N33Click(Sender: TObject);
    procedure colorExecute(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  text: Ttext;

implementation
 var
 ti,tq:string;
{$R *.dfm}
procedure Ttext.Timer1Timer(Sender: TObject);
var
h,lie :integer;
xq,a,rq,ti:string;
 s1,s2,l,i:integer;
begin
h:=richedit1.CaretPos.Y+1;
lie:=richedit1.CaretPos.X +1;
case dayofweek(date()) of
1:xq:='星期天';
2:xq:='星期一';
3:xq:='星期二';
4:xq:='星期三';
5:xq:='星期四';
6:xq:='星期五';
7:xq:='星期六';
 end;
statusbar1.Panels[1].Text :=xq;
statusbar1.Panels[0].Text := '您所在的位置是'+ inttostr(h)+'行'+inttostr(lie)+'列';
//ti:=inttostr(strtoint(copy(formatdatetime('HHMMSS',now),1,4))-strtoint(ti));
statusbar1.Panels[2].Text:='您已使用哈哈日记本--番茄&蘑菇 +ti';
 rq:=datetostr(datetimepicker1.Date);
 form1.Caption:='欢迎您使用哈哈记事本';
    //统计字数
begin
  s1:=0; s2:=0;
  a:=RichEdit1.Text;
  l:=length(a);
  for i:=1 to l do
    if (ord(a[i])>=13) and (ord(a[i])<=126) then
      s1:=s1+1
    else
      if ord(a[i])>=127 then
      s2:=s2+1;
  edit1.Text :=inttostr(s1-57);
edit2.Text := inttostr((s2 div 2)-3);
edit3.Text :=inttostr(s1-57+(s2 div 2)-3);
end;
end;
  //打开文件
procedure Ttext.openExecute(Sender: TObject);
begin
if opendialog1.Execute then
richedit1.Lines.LoadFromFile(opendialog1.FileName );
end;
// 改变字体和大小
procedure Ttext.fontExecute(Sender: TObject);
 begin
 if fontdialog1.Execute then
richedit1.SelAttributes.Name :=fontdialog1.Font.Name;
richedit1.SelAttributes.Color :=fontdialog1.Font.Color;
richedit1.SelAttributes.Size:=fontdialog1.Font.Size;
richedit1.SelAttributes.Style :=fontdialog1.Font.Style;
end;
 //保存文件
procedure Ttext.saveExecute(Sender: TObject);
begin
if   savedialog1.Execute then
richedit1.Lines.SaveToFile(savedialog1.FileName);
end;
    //改变背景色
procedure Ttext.N24Click(Sender: TObject);
begin
if colordialog1.Execute  then
 richedit1.Color:=colordialog1.Color;
end;
   //改变字体的颜色
procedure Ttext.bcolorClick(Sender: TObject);
begin
if colordialog1.Execute then
richedit1.SelAttributes.Color:=colordialog1.Color;
end;
    //实现选择天气
  procedure Ttext.RadioGroup1Click(Sender: TObject);
begin
case   radiogroup1.ItemIndex of
0: tq:='晴天';
2:tq:='阴天';
1:tq:='下雨';
3:tq:='飞雪';
end;

//if ti=copy(richedit1.Lines.Text,1,2)='※'  then
if richedit1.Lines.Text<>'' then
 begin
 richedit1.Lines.Delete(0);
  richedit1.Lines.Insert(0,'               '+datetostr(datetimepicker1.Date)+'               '+'※'+ '                '+ tq);
  end
 else
 richedit1.Lines.Insert(0,'                '+datetostr(datetimepicker1.Date)+'                '+'※'+'                '+ tq);
 edit1.Text :=inttostr(0);
 edit2.Text :=inttostr(0);
 end;
   //实现简单的计算数学表达式
procedure Ttext.N40Click(Sender: TObject);
var
 t1,t2,t3,s:string;
  i,l:integer;
  a,b:real;
begin
  try
   s:=RichEdit1.SelText;
   l:=length(s);
   t1:='';
   t2:='';
   t3:='';
   for i:=1 to l do
    if ((S[i]<>'+') and (s[i]<>'-') and (s[i]<>'*') and (s[i]<>'/')) then
      t1:=t1+S[i]
    else
      begin
      t2:=S[i];
       break
        end;
   // t3:=copy(s,i+1,l-i);
    a:=strtofloat(t1);
    b:=strtofloat(t3);
    case t2[1] of
     '+': label4.Caption:=floattostr(a+b);
     '-': label4.Caption:=floattostr(a-b);
     '*': label4.Caption:=floattostr(a*b);
     '/': label4.Caption:=floattostr(a/b);
       end;
   except
    showmessage('请选中数学表达式进行计算!');
end;
   end ;
   //实现选择日期
procedure Ttext.DateTimePicker1Change(Sender: TObject);
begin
case   radiogroup1.ItemIndex of
1: tq:='晴天';
2:tq:='阴天';
3:tq:='下雨';
4:tq:='飞雪';
end;
if richedit1.Text<>'' then
 // if copy(RichEdit1.Lines.Text,1,2)='※' then
  begin
  RichEdit1.Lines.Delete(0);
  RichEdit1.Lines.Insert(0,'                  '+datetostr(DateTimePicker1.Date)+'                   '+'※'+'                  '+tq);
  end
  else
  begin
  RichEdit1.Lines.Insert(0,'                  '+datetostr(DateTimePicker1.Date)+'                    '+'※'+'                 '+tq);
  edit1.Text :=inttostr(0);
  edit2.Text :=inttostr(0);
  end;

end;
//初始化时加载的内容
procedure Ttext.FormCreate(Sender: TObject);
begin
DateTimePicker1.Date:=date();
RadioGroup1.ItemIndex:=0;
form1.Caption:='欢迎您使用哈哈日记本!';
//ti:=copy(formatdatetime('HHMMSS',now),1,4);
end;

procedure Ttext.N46Click(Sender: TObject);
  var
  s1,s2,l,i:integer;
  a:string;
  begin
  s1:=0; s2:=0;
  a:=RichEdit1.Text;
  l:=length(a);
  for i:=1 to l do
    if (ord(a[i])>=13) and (ord(a[i])<=126) then
      s1:=s1+1
    else
      if ord(a[i])>=127 then
      s2:=s2+1;
  edit1.Text :=inttostr(s1);
edit2.Text := inttostr(s2);
edit3.Text :=inttostr(s1+s2);
end;
procedure Ttext.N33Click(Sender: TObject);
begin
form4.Show;
end;

procedure Ttext.colorExecute(Sender: TObject);
begin
if colordialog1.Execute then
richedit1.SelAttributes.Color:=colordialog1.Color;
end;



end.




⌨️ 快捷键说明

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