本文整理自网络,侵删。
procedure TForm1.displaykind(parentnode: TTreeNode; sDirName: string);
var
i,hFindFile:integer;
ss,tfile:String;
FindFileData:WIN32_FIND_DATA;
_Pos : Integer;
sArtist,sFileName : string;
begin
ChDir(sDirName);
hFindFile:=FindFirstFile('*.pcm',FindFileData);
Application.ProcessMessages;
if hFindFile<>INVALID_HANDLE_VALUE then
begin
repeat
tfile:=FindFileData.cFileName;
sArtist := '未知';
sFileName := '';
_Pos := Pos('-',tfile);
if _Pos > 0 then
begin
sArtist := MidStr(tfile,1,_Pos -1);
sFileName := leftStr(tfile,length(tfile) - 4);
end;
if (tfile='.') or (tfile='..') then Continue;
//if (tfile='.') or (tfile='..') then
//if FindFileData.dwFileAttributes=FILE_ATTRIBUTE_DIRECTORY then
begin//是一个子文件夹
lst1.items.add(tfile + ' 前缀:' + sArtist + ' 歌曲名:' + sFileName);//显示到listbox中
//if sDirName[Length(sDirName)]<>'/' then
// displaykind(parentnode,sDirName+'/'+tfile);
//else
// displaykind(parentnode,sDirName+tfile);
end;
until FindNextFile(hFindFile,FindFileData)=false;
//FindClose(FindFileData);
end;
ChDir(sDirName);
end;
procedure TForm1.btn1Click(Sender: TObject);
begin
displaykind(nil,'D:/delphi/www.delphitop.com/');//指定的文件夹
end;
相关阅读 >>
Delphi编写的android程序获取root权限实现(2015.4.15更新,支持android 4.4)
winapi 字符及字符串函数(4): charupperbuff - 把缓冲区中指定数目的字符转大写
更多相关阅读请进入《Delphi》频道 >>