findfilefrm.pas
来自「关于利用DELPHI来进行企业级方案解决的著作的附书源码」· PAS 代码 · 共 72 行
PAS
72 行
unit FindFileFrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ShellCtrls, ExtCtrls;
type
TMainForm = class(TForm)
ShellTreeView1: TShellTreeView;
ListBox1: TListBox;
CheckBox1: TCheckBox;
Button1: TButton;
LabeledEdit1: TLabeledEdit;
procedure Button1Click(Sender: TObject);
private
FFileName:String;
procedure FindFiles(path:String);
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
{$R *.dfm}
procedure TMainForm.Button1Click(Sender: TObject);
begin
MainForm.Cursor:=crHourGlass;
ListBox1.Items.Clear;
FFileName:=LabeledEdit1.Text;
try
FindFiles(ShellTreeView1.Path+'\');
finally
MainForm.Cursor:=crDefault;
end;
end;
procedure TMainForm.FindFiles(path:String);
var
FSearchRec,DSearchRec:TSearchRec;
FindResult:shortint;
begin
FindResult:=FindFirst(path+FFileName,faAnyFile+faHidden+faSysFile+faReadonly,FSearchRec);
try
while FindResult=0 do
begin
ListBox1.Items.Add(path+FSearchRec.Name);
FindResult:=FindNext(FSearchRec);
end;
if CheckBox1.Checked then
begin
FindResult:=FindFirst(path+'*.*',faDirectory,DSearchRec);
while FindResult=0 do
begin
if ((DSearchRec.Attr and faDirectory)=faDirectory)
and (DSearchRec.Name<>'.') and (DSearchRec.Name<>'..') then
FindFiles(path+DSearchRec.Name+'\');
FindResult:=FindNext(DSearchRec);
end;
end;
finally
FindClose(FSearchRec);
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?