📄 unit1.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 + -