📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, FileCtrl, ComCtrls, Buttons;
type
TForm1 = class(TForm)
filelist1: TFileListBox;
dirlist1: TDirectoryListBox;
drvlist1: TDriveComboBox;
List1: TListBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
ani1: TAnimate;
Button5: TButton;
SpeedButton1: TSpeedButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure List1DblClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure List1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
stopdown :boolean;
implementation
uses About;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
filecount :integer;
filename :string;
currdir :string;
i :integer;
win32finddataa :_WIN32_FIND_DATAA;
begin
TButton(sender).enabled:=false;
currdir:=dirlist1.Directory;
if copy(currdir,length(currdir),1)<>'\' then
currdir:=currdir+'\';
filecount:=filelist1.Items.Count;
if filecount=0 then exit;
for i:=0 to filecount-1 do
begin
filename:=currdir+filelist1.Items.Strings[i];
findfirstfile(pchar(filename),win32finddataa);
if (win32finddataa.nFileSizeHigh =0) and (win32finddataa.nFileSizeLow =0) then
list1.Items.add(filename);
end;
TButton(sender).enabled:=true;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i,filecount :integer;
filename :string;
fileattr :_WIN32_FIND_DATAA;
begin
filecount:=list1.Items.Count;
for i:=0 to filecount-1 do
begin
filename:=list1.Items.Strings[i];
findfirstfile(pchar(filename),fileattr);
if fileattr.dwFileAttributes<>FILE_ATTRIBUTE_TEMPORARY then
setfileattributes(pchar(filename),0);
if deletefile(filename)=false then
begin
//showmessage(filename+'删除失败!');
end;
end;
list1.Clear;
filelist1.Refresh ;
end;
procedure TForm1.List1DblClick(Sender: TObject);
var
filename :string;
begin
filename:=list1.items.Strings[list1.Itemindex];
winexec(pchar('notepad.exe '+filename),1);
end;
procedure findfileempty(path:pchar);
var
hfile :Thandle;
fileattr :_win32_find_dataa;
ffind :Boolean;
temps :string;
begin
hfile:=findfirstfile(pchar(path+'*.*'),fileattr);
repeat
ffind:=findnextfile(hfile,fileattr);
if stopdown then exit;
if fileattr.dwFileAttributes in [16,18,20,17,48,22,19,50,52,21,49,23,53,51,54] then
begin
temps:=fileattr.cFileName;
if temps<>'..' then
begin
temps:=path+temps+'\';
findfileempty(pchar(temps));
end;
end
else
if (fileattr.nFileSizeHigh =0) and (fileattr.nFileSizeLow =0) then
begin
temps:=fileattr.cFileName;
form1.list1.Items.add(path+temps);
form1.List1.Refresh;
end;
application.ProcessMessages ;
until not(ffind);
end;
procedure TForm1.Button3Click(Sender: TObject);
var
destdrv :string;
begin
stopdown:=false;
TButton(sender).enabled:=false;
button1.Enabled :=false;
button2.enabled:=false;
button4.enabled:=false;
button5.enabled:=true;
ani1.Active :=true;
list1.Cursor :=crHourGlass;
list1.Clear;
list1.Refresh;
destdrv:=drvlist1.Drive+':\';
findfileempty(pchar(destdrv));
ani1.Active :=false;
showmessage('共有空文件 ' +inttostr(list1.Items.Count)+' 个!');
list1.Cursor :=crArrow;
TButton(sender).enabled:=true;
button1.Enabled :=true;
button2.enabled:=true;
button4.enabled:=true;
button5.enabled:=false;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
//swapmousebutton(true);
close;
end;
procedure TForm1.List1Click(Sender: TObject);
var
filename :string;
begin
filename:=list1.items.Strings[list1.Itemindex];
list1.Hint:=filename;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
stopdown:=true;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Form_About.showmodal;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -