今天结贴,分数只给一个人!如何列出一个指定的文件夹下的所有子文件夹名。一.如何列出一个指定的文件夹下的所有子文件夹名,只列出文件夹名,不要列出
文件名(这个我有代码了)。我只要代码,能在D6中通过。二.请帮我解释一下这段代码的意思,并要说明什么时候等于零什么情况不等于零。
if FindFirst(Path + '*.*', faAnyFile, SR) = 0 then
注:如果没有答对我今天也一定结贴,答者有分。
文件名(这个我有代码了)。我只要代码,能在D6中通过。二.请帮我解释一下这段代码的意思,并要说明什么时候等于零什么情况不等于零。
if FindFirst(Path + '*.*', faAnyFile, SR) = 0 then
注:如果没有答对我今天也一定结贴,答者有分。
TSearchRec sr;
if (FindFirst("D:\\*", faDirectory, sr) == 0)
{
ShowMessage(sr.Name);
} while (FindNext(sr) == 0);
FindClose(sr);
}
var
sr:TSearchRec;
begin
if (FindFirst("D:\\*", faDirectory, sr) = 0) then
begin
ShowMessage(sr.Name);
while (FindNext(sr) = 0)
ShowMessage(sr.Name);
end;
FindClose(sr);
end;
// 得到StrDir目录下的子目录以DirList返回
procedure FindFileUnder(strDir, ExtName: string; var FileList: TStringList);
// 得到StrDir目录下的所有以ExtFile('.pas')为扩展名的文件 以FileList返回procedure FindDirUnder(strDir: string; IncludeSelf: boolean; var DirList: TStringList);
var
SRec: TSearchRec;
retval: Integer;
begin
DirList.Clear;
retval := FindFirst(strDir+'\*.*',faDirectory,sRec);
try
while retval = 0 do
begin
if (SRec.Attr and faDirectory) <> 0 then
if (Srec.Name = '.') or (Srec.Name = '..') then
begin
if IncludeSelf then
DirList.Add(Srec.Name)
end else
DirList.Add(Srec.Name);
retval := FindNext(SRec);
end;
finally
FindClose(SRec);
end;
end;procedure FindFileUnder(strDir,ExtName:string;var FileList:TStringList);
var
SRec: TSearchRec;
retval: Integer;
begin
FileList.Clear;
retval := FindFirst(strDir+'\'+ExtName,faAnyFile,sRec);
try
while retval = 0 do
begin
if (SRec.Attr and faDirectory) = 0 then
FileList.Add(Srec.Name);
retval := FindNext(SRec);
end;
finally
FindClose(SRec);
end;
end;
1. ExpandFileName
将当前驱动器名(盘符)、路径名和指定的文件名合成一个绝对文件名。
函数原型如下:
function ExpandFileName(const FileName: string): string;
返回值为合成的绝对文件名。
可用ExpandFileName()返回含路径及文件名的完整字符串信息,再用
ExtractFilePath()返回路径信息。
例:myfilename:=expandfilename('UEDIT32.EXE');
myfilepath:=extractfilepath(myfilename);
2. ExpandUNCFileName
获取一个以U N C 格式的包括网络驱动器名的绝对文件名。
函数原型如下:
function ExpandUNCFileName(const FileName: string): string;
3. ExtractFileDir
从绝对文件名中获取目录名。
函数原型如下:
function ExtractFileDir(const FileName: string): string;
4. ExtractFileDrive
从绝对文件名中获取驱动器号(盘号)。
函数原型如下:
function ExtractFileDrive(const FileName: string): string;
5. ExtractFileExt
从绝对文件名中获取文件名的扩展名。
函数原型如下:
function ExtractFileExt(const FileName: string): string;
6. ExtractFileName
从绝对文件名中获取文件名。
函数原型如下:
function ExtractFileName(const FileName: string): string;
7. ExtractFilePath
从绝对文件名中获取路径名。
函数原型如下:
function ExtractFilePath(const FileName: string): string;
8. ExtractRelativePath
从绝对文件名中获取相对于某一个路径的相对路径名。
函数原型如下:
function ExtractRelativePath(const BaseName, DestName: string): string;
9. ExtractShortPathName
将长文件名转化成短文件名。
函数原型如下:
function ExtractShortPathName(const FileName: string): string下面是我的个人所得税里面取得程序路径并把计算过程和结果存入当前路径的一个过程的
源码。你可以看看。
S:=DateToStr(Date);//取得程序运行的日期
S:=S+'.txt';
//GetDir(0,Path); //取得程序的路径
Path:=ExTractFilePath(Application.exename);//取得程序运行的路径含"\"
//Path:=Application.ExeName;//付值路径
S:=Path+S; //确定文件名(如C:\windows\200153.txt)
AssignFile(f,S); //关联文件 If Not FileExists(S) then //判断文件是否存在
begin
Rewrite(f);
//if Fgfh='Dh' then
//application.MessageBox('使用逗号分割','提示',64) if Fgfh='Fh' then
// application.MessageBox('使用分号分割','提示',64)
WriteLn(f,'姓名'+';'+'级别'+';'+'工龄'+';'+'赔缴'+';'
+'所得额'+';'
+'调增项目'+';'+'调增额'+';'+'扣除项目'
+ ';'+'扣除额'+';'
+'应税所得额'+';'+'税率'+';'+'速算扣除数'+';'
+'个人所得税')
else if Fgfh='Th' then
//application.MessageBox('使用特殊符号(&)分割','提示',64)
WriteLn(f,'姓名'+'&'+'级别'+'&'+'工龄'+'&'+'赔缴'+'&'
+'所得额'+'&'
+'调增项目'+'&'+'调增额'+'&'+'扣除项目'
+ '&'+'扣除额'+'&'
+'应税所得额'+'&' +'税率'+'&'+'速算扣除数'+'&'
+'个人所得税')
else
//application.MessageBox('使用逗号分割','提示',64); WriteLn(f,'姓名'+','+'级别'+','+'工龄'+','+'赔缴'+','
+'所得额'+','
+'调增项目'+','+'调增额'+','+'扣除项目'
+ ','+'扣除额'+','
+'应税所得额'+','+'税率'+','+'速算扣除数'+','
+'个人所得税');
CloseFile(f); //关闭文件
end;
谢谢你们给我回答,分数我只能给我认为是正解的wisenowa(127.0.0.1)