procedure MakeTree(FilePath:String; AllowType:String; FindSubDir:Boolean);
var
Sr:TsearchRec;
Err:Integer;
FilesName:String;
begin
Err:=FindFirst('*.*',$37,sr);
while (Err=0) do
begin
if Sr.Name[1]<>'.' then
begin
case (Sr.Attr and faDirectory) of
0: //添加可用图片
begin
FilesName:=trim(UpperCase(sr.Name));
if Pos(Copy(FilesName,Length(FilesName)-3,4),UpperCase(AllowType))>0 then
with Self.ClientDataSetView_Smp_ItemWihtPic do begin
Append;
Edit;
//添加图片
Post;
end;
end;
16://目录
begin
if FindSubDir then begin //是否查找子目录
ChDir(Sr.Name);
MakeTree(Sr.Name, AllowType, FindSubDir);
end;
ChDir('..');
end;
end;
end;
Err:=FindNext(Sr);
end;
end;
var tpDir,tpImageType:String;
begin
SelectDirectory(MyCaption(SysName,'SelDir'),'',tpDir);
if DirectoryExists(tpDir) then
ChDir(tpDir)
else
begin
showmessage('VoidDirectory');
Exit;
end;
try
self.ClientDataSetView_Smp_ItemWihtPic.DisableControls;
MakeTree(tpDir,'.JPG;.GIF;.BMP',True);
finally
self.ClientDataSetView_Smp_ItemWihtPic.EnableControls;
end;
end;