如题
解决方案 »
- 高手求助,我还是新手,所以请写清楚,不要只说方法。谢谢。
- 新年将至,祝版友们新年快乐(续)!
- 我能获取照片的宽度和高度,但都是像素为单位的,请问如何把他转换成厘米,在目前的显示器分辨率下。
- 分析文件结构。。。
- 大家有没有编写或保存ico的程序源码呢?小弟找了很久,好象delphi没有这方面的例子。在线等待。
- 过客!过客!过客!过客!过客!过客!, 我已装了Appcontrols Suite 2.6 (TAppBar ),请问怎样做类似于QQ 那个的窗体呢?
- 菜问题!
- 如何将dbgrid中的数据到出到vf的dbf文件中去!急!给高分!
- 求用Delphi 编写的自动发邮件源码
- 2个查询如何添加到一个临时表
- 为什么会出错,该怎样纠正?
- 求教: delphi字体问题
http://expert.csdn.net/Expert/TopicView3.asp?id=2988176
下面该贴内容
A、如果不包括子目录则直接将有关子目录的循环直接注释即可
B、在调用本函数之前必须将FileList初始化
如FileList:=TStringList.Create;
C、 sRoot表示需要遍历的目录全名
D、函数在D7/D6下测试通过
function DoDirTree(sRoot:String;var FileList:TStrings):boolean;
var
i:integer;
Sr : TSearchRec;
Err : integer;
//TrSize, FilePath : string;
lsPath:TStrings;
Beginif Copy(sRoot,Length(sRoot),1)<>'\' then
sRoot := sRoot +'\';
Err:=FindFirst(sRoot+'*.*',$37,Sr);
While (Err = 0) do
begin
If (Sr.Attr and faDirectory)=0 then
FileList.Add('2'+sRoot +Sr.Name)
else
if (Sr.Name[1] <> '.') then
DoDirTree(sRoot,FileList) ;Err:=FindNext(Sr) ;
Application.ProcessMessages;
end ;Err:=FindFirst(sRoot + '*.',$37,Sr);
lsPath := TStringList.Create;
While (Err = 0) do
begin
if ((Sr.Attr and faDirectory)<>0)and (Sr.Name[1] <> '.') then
if DirectoryExists(sRoot + sr.Name) then
lsPath.Add(sRoot + sr.Name);
Err:=FindNext(Sr) ;
Application.ProcessMessages;
end ;
for i:=0 to lsPath.Count -1 do
DoDirTree(lsPath.Strings[i],FileList);
lsPath.Free;
Result := True;
End;
findfirst+循环,