📄 txtview.pas
字号:
unit Txtview;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, FileCtrl, Menus, ComCtrls, ImgList, Buttons,
mmsystem, jpeg,GIFImage,CNFForm,ChangNameForm;
type
TForm1 = class(TForm)
FileListBox1: TFileListBox;
Panel1: TPanel;
Button1: TButton;
Panel3: TPanel;
Memo1: TMemo;
SaveDialog1: TSaveDialog;
DriveComboBox1: TDriveComboBox;
DirectoryListBox1: TDirectoryListBox;
PopupMenu1: TPopupMenu;
popMenucut: TMenuItem;
popMenucopy: TMenuItem;
popMenupaste: TMenuItem;
N3: TMenuItem;
N7: TMenuItem;
popMenuUndo: TMenuItem;
ImageList1: TImageList;
popMenudel: TMenuItem;
popMenuselect: TMenuItem;
popMenudatetime: TMenuItem;
Panel2: TPanel;
Image1: TImage;
Edit1: TEdit;
Button2: TButton;
Buttonrename: TButton;
Buttondelete: TButton;
SpeedButton1: TSpeedButton;
Image2: TImage;
procedure FormCreate(Sender: TObject);
procedure FileListBox1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure popMenucutClick(Sender: TObject);
procedure popMenucopyClick(Sender: TObject);
procedure popMenupasteClick(Sender: TObject);
procedure popMenuUndoClick(Sender: TObject);
procedure PopupMenu1Popup(Sender: TObject);
procedure popMenudelClick(Sender: TObject);
procedure popMenuselectClick(Sender: TObject);
procedure popMenudatetimeClick(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure FileListBox1Change(Sender: TObject);
procedure ButtondeleteClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ButtonrenameClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
const crMyCursor=1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
Rect:TRect;
begin
Image2.Picture.LoadFromFile('g.gif');
Screen.Cursors[crMyCursor]:=LoadCursorFromFile('Appstarting.ani');//输入动画光标
Screen.Cursor:=crMycursor;
Filelistbox1.Directory:=Extractfilepath(Application.ExeName)+'一天一点进步';
Savedialog1.DefaultExt:='txt';//设置默认扩展名
Savedialog1.Options:=Savedialog1.Options+[OfOverwritePrompt];
//OfOverwritePrompt是当保存文件名相同时弹出的提示框
///////////////自定义memo边界////////////////////////
//获取Memo1的边界矩形,保存到Rect中
SendMessage(Memo1.Handle,EM_GetRect,0,LongInt(@Rect));
//Left的初始值为1
Rect.Left:=20;
//Top的初始值为1
Rect.Top:=20;
//更改Rect的边界值
Rect.Right:=Rect.Right-19;
Rect.Bottom:=Rect.Bottom-19;
//将Memo1的边界矩形设置为更改后的值
SendMessage(Memo1.Handle,EM_SetRect,0,LongInt(@Rect));
//Memo刷新重绘
Memo1.Refresh;
{原来加在Filelistbox1的点击事件中的时候,会出现每点击一次那么Memo控件的
Height值就增加的情况
后来想到应该加在这里了}
end;
procedure TForm1.FileListBox1Click(Sender: TObject);
begin
sndplaysound('Msg.wav',SND_NODEFAULT or SND_ASYNC);//自定义声音
Memo1.Lines.LoadFromFile(Filelistbox1.FileName);//导入文本文件
//Form1.Caption:=Extractfilename(Filelistbox1.FileName)+'-记事本';
Edit1.Text:=Extractfilename(Filelistbox1.FileName);//当前的文件名
end;
procedure TForm1.Button1Click(Sender: TObject);
var
flename:string;
begin
if Filelistbox1.ItemIndex<>-1 then
begin
flename:=Filelistbox1.FileName;
Memo1.Lines.SaveToFile(flename);//保存当前文件
end
else exit;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
IntResult:Integer;
begin
if memo1.Modified then
begin
sndplaysound('exclamation.wav',Snd_Nodefault or Snd_Async);//播放自定义声音
IntResult:=Messagedlg('文件 '+Filelistbox1.FileName+' 的内容已经改动'
+#13+'想要保存吗?',mtInformation,mbyesnocancel,0);
if IntResult=Idyes then
Button1Click(Sender);
if Intresult=Idno then
action:=caFree;//释放窗体
if Intresult=Idcancel then
action:=caNone;//不进行任何操作,回到窗体
end
else
action:=caFree;////释放窗体
end;
procedure TForm1.popMenucutClick(Sender: TObject);
begin
if memo1.SelLength>0 then
memo1.CutToClipboard//剪切
else exit;
end;
procedure TForm1.popMenucopyClick(Sender: TObject);
begin
if memo1.SelLength>0 then
memo1.CopyToClipboard//复制
else exit;
end;
procedure TForm1.popMenupasteClick(Sender: TObject);
begin
memo1.PasteFromClipboard;//粘贴
end;
procedure TForm1.popMenuUndoClick(Sender: TObject);
begin
memo1.Undo;//撤销
end;
procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
if memo1.SelLength>0 then
begin
popMenucut.Enabled:=true;
popMenucopy.Enabled:=true;
popMenudel.Enabled:=true;
end
else
begin
popMenucut.Enabled:=false;
popMenucopy.Enabled:=false;
popMenudel.Enabled:=false;
end;
end;
procedure TForm1.popMenudelClick(Sender: TObject);
begin
memo1.ClearSelection;//删除选择部分
end;
procedure TForm1.popMenuselectClick(Sender: TObject);
begin
memo1.SelectAll;
end;
procedure TForm1.popMenudatetimeClick(Sender: TObject);
begin
memo1.Lines.Add(Formatdatetime('c',now))
{在文本末加入时间,输出为:2004-8-7 9:55:40}
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
try
SendMessage(Filelistbox1.Handle,LB_SelectString,-1,LongInt(Edit1.Text));
except
exit;
end;
end;
procedure TForm1.FileListBox1Change(Sender: TObject);
begin//确定选择文件以后按钮才可以使用////////////
if Filelistbox1.ItemIndex<>-1 then
begin
ButtonRename.Enabled:=true;
Buttondelete.Enabled:=true;
end
else
begin
ButtonRename.Enabled:=false;
Buttondelete.Enabled:=false;
end;
end;
procedure TForm1.ButtondeleteClick(Sender: TObject);
var
IntResult:Integer;
IsOK:Boolean;
begin
SndplaySound('Exclamation.wav',SND_Nodefault or SND_Async);//播放提示声音
IntResult:=Messagedlg('文件 '+Filelistbox1.FileName+' 将被删除!'+
#13#10+'确定吗?',mtInformation,mbOKCancel,0);
if IntResult=IdOK then
begin
IsOK:=DeleteFile(Filelistbox1.FileName);
if IsOK=true then
begin
Memo1.Clear;
Showmessage('文件删除成功!');
Filelistbox1.Update;//消除不存在的文件名
end
else Showmessage('文件删除失败!');
end;
if IntResult=IdCancel then exit;
Filelistbox1.Update;//强制更新,这样Filelistbox1就不会显示删除的文件名了
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
CFileFM.Show;
CFileFM.EditNew.SetFocus;
end;
procedure TForm1.ButtonrenameClick(Sender: TObject);
begin
Form2.Show;
Form2.Edit1.Text:=ExtractFileName(Filelistbox1.FileName);
Form2.Edit2.Text:=Filelistbox1.FileName;
Form2.Edit3.Text:=ExtractFilepath(Filelistbox1.FileName);
Form2.Edit1.SetFocus;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Application.Terminate;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -