function get_fname (fname_list:Tstringlist;fpname: string):tstringlist;
var
FileSearchPath: TsearchRec;
SubDirName:Tstringlist;
begin
SubDirName:=Tstringlist.Create;
if Findfirst(fpname,faAnyFile,FileSearchPath)=0 then
begin
while findnext(FileSearchPath)<>0 do
begin
if (FileSearchPath.Name<>'.')and(FileSearchPath.Name<>'..') then
BEGIN
if (FileSearchPath.Attr and faDirectory)=faDirectory then
SubDirName.Append(fpname+'\'+FileSearchPath.Name)
else
fname_list.Append(fpname+'\'+FileSearchPath.Name);
end;
end;
findclose(FileSearchPath);
end;
if SubDirName.Count>0 then
begin
while SubDirName.Count>0 do
begin
get_fname(fname_list,SubDirName.Strings[0]);
SubDirName.Delete(0);
end;
end;
SubDirName.Free;
end;
上述涵数是参照相关的文章写的,但总说:[Error] Unit_common_func.pas(44): Incompatible types: 'Cardinal' and 'TSearchRec'
为什么呀?
var
FileSearchPath: TsearchRec;
SubDirName:Tstringlist;
begin
SubDirName:=Tstringlist.Create;
if Findfirst(fpname,faAnyFile,FileSearchPath)=0 then
begin
while findnext(FileSearchPath)<>0 do
begin
if (FileSearchPath.Name<>'.')and(FileSearchPath.Name<>'..') then
BEGIN
if (FileSearchPath.Attr and faDirectory)=faDirectory then
SubDirName.Append(fpname+'\'+FileSearchPath.Name)
else
fname_list.Append(fpname+'\'+FileSearchPath.Name);
end;
end;
findclose(FileSearchPath);
end;
if SubDirName.Count>0 then
begin
while SubDirName.Count>0 do
begin
get_fname(fname_list,SubDirName.Strings[0]);
SubDirName.Delete(0);
end;
end;
SubDirName.Free;
end;
上述涵数是参照相关的文章写的,但总说:[Error] Unit_common_func.pas(44): Incompatible types: 'Cardinal' and 'TSearchRec'
为什么呀?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货