怎样得到一个文件夹下的所有子文件夹(不包括该文件夹的文件),并在Listbox中显示子文件夹名,还有,怎样在Delphi中使用压缩文件,类似如Winamp的皮肤文件,多谢!
解决方案 »
- 关于cxgrid中dbviewcolumn过滤信息获取的问题
- 怎么将EXCEL里面的数据导入到数据表中去
- ORACLE OLEDB如何通过Stored procedure取得结果集?
- 关于OleContainer的流操作的问题
- 请大家讨论一下,做一个三层结构的ERP的单据模板应注意的问题?应从那几方面考虑?该怎么做?
- 如何改变trichedit中某个字符串的颜色?
- 用ADO连接SQL,怎么调用带参数的存储进程?
- 将mdi型子窗口向主窗口边上拖时,,,主窗口会显示滚动条,怎样将这个滚动条取消或不可视呢?
- 抢分问题, 在Delphi里相当于C里面的"\n"是什么?快
- 有谁知道如何操作INI文件?
- 请教高手
- 了解一下,谁是中国DELPHI第一人??
function GetChildDir(const AParentDir: string): Tstringlist;
var
Dir: TSearchRec;
Ret: integer;
Path: string;
begin
Result:=Tstringlist.Create;
try
Path := ExtractFilePath(AParentDir);
Ret := Sysutils.FindFirst(AParentDir, faAnyFile, Dir);
if Ret <> NO_ERROR then exit;
try
while ret=NO_ERROR do
begin
if (Dir.Attr in [faDirectory]) and (Dir.Name[1] <> '.') then
begin
Result.Add(Dir.name);
Result.addstrings(GetChildDir(Path + Dir.Name + '\*.*'));
end;
Ret := Sysutils.FindNext(Dir);
end;
finally
Sysutils.FindClose(Dir);
end;
except
Result.Free;
end;
end;
function IsDirNotation(ADirName: String): Boolean;
begin
Result := (ADirName = '.') or (ADirName = '..');
end;procedure TMainForm.FindFiles(APath: String);
var
FSearchRec,
DSearchRec: TSearchRec;
FindResult: integer;
begin
APath := GetDirectoryName(APath);
FindResult := FindFirst(APath+FFileName,faAnyFile+faHidden+
faSysFile+faReadOnly,FSearchRec);
try
while FindResult = 0 do
begin
lbFiles.Items.Add(LowerCase(APath+FSearchRec.Name));
FindResult := FindNext(FSearchRec);
end;
FindResult := FindFirst(APath+'*.*', faDirectory, DSearchRec); while FindResult = 0 do
begin
//下面的if语句就是用来判断是否是文件夹的
//DSearchRec.Name就是子文件夹
if ((DSearchRec.Attr and faDirectory) = faDirectory) and not
IsDirNotation(DSearchRec.Name) then
begin
FindFiles(APath+DSearchRec.Name); // Recursion here
end; FindResult := FindNext(DSearchRec);
end;
finally
FindClose(FSearchRec);
end;
end;