要在一个固定的文件夹里,对所有.txt的文件名进行操作,希望可以有专门的函数可以直接把所有的文件名放在一个数组里,没有这样的函数的话,自己怎么写呢,麻烦各位给各提示!
解决方案 »
- TVideoGrabber控件的问题
- 将str转化为float以后相减,会存在一些误差怎么解决;
- stringgrid特殊使用
- 如何学好DELPHI?
- sql语句解决时间问题(再开贴,up有分)
- 关于delphi与sybase
- sql中数据库备份与恢复问题
- 那是怎么个顺序啊~~~我从哪开始看啊??(小弟初学,先谢谢各位了)
- 那位大虾有代关于代理服务器(如HTTP,FTP,POP3,SOCKET4/5)的资料和源代码???
- 如何精确控制时间的延时
- 如何在用户几分钟内没有进行操作(键盘和鼠标)时打开另一个Form?
- guolvguolv(guolvguolv)请来拿分(100)_3!(版主请等他拿了分再删)
var
FindData: TWin32FindData;
Handle1 : THandle;
FileNameList:TstringList;
begin
FileNameList:=TStringList.create;
Handle1 := FindFirstFile(PChar('*.txt'), FindData);
if (Handle1 <> INVALID_HANDLE_VALUE) then
begin
repeat
if (FindData.dwFileAttributes and (FILE_ATTRIBUTE_DIRECTORY) = 0) then
begin
FileNameList.add(FindData.cFileName); //文件名
end;
until FindNextFile(Handle1, FindData) <> True;
Windows.FindClose(Handle1);
end;
filenamelist.savetofile('c:\look.txt');
FileNameList.free;
end;
var
FSearchRec:TSearchRec;
DSearchRec:TSearchRec;
FindResult:integer;
lbfiles:TListBox;
i:integer;
YourArray:Array of String;
function isDirNotation(ADirName:String):Boolean;
begin
Result:=(ADirName='.') or (ADirName='..');
end;
function GetDirectoryName(Dir: String): String;
begin
if Dir[Length(Dir)]<>'' then
Result:=Dir+'\'
else
Result:=Dir;
end;begin
lbfiles:=TlistBox.Create(Nil);
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.Attr and faDirectory)=faDirectory) and not isDirNotation(DsearchRec.Name) then
FindFiles(Apath+DSearchRec.Name);
FindResult:=FindNext(DSearchRec);
end; Setlength(YourArray,lbFiles.Count);
for i:=0 to lbFiles.Items.Count-1 do
YourArray[i]:=lbFiles.Items[i]; finally
FindClose(FSearchRec);
lbFiles.Free;
end;
end;