/// <remarks>
/// 遍历文件夹 (引用SysUtils单元)
/// </remarks>
procedure TfrmMusicMenu.SearchInDir(sDirectory: string);
var
pSearchRec: TSearchRec; // TSearchRec是delphi为我们定义好的一个记录类型。
              // 用于记录文件的各个参数,比如大小,属性,文件名等等;
sPath, sFile: string;
begin
try
// 检查目录名后面是否有'\'
if Copy(sDirectory, Length(sDirectory), ) <> '\' then
sPath := sDirectory + '\'
else
sPath := sDirectory; {FindFirst 是用来寻找目标目录下的第一个文件,当成功找到文件时,返回0
FindFirst的三个参数:1.路径与文件后缀(C:\*.*)
              2.文件类型;
              3.TSearchRec类型变量(用于储存文件的参数)}
if FindFirst(sPath + '*.*', faAnyFile, pSearchRec) = then
begin
repeat
sFile := Trim(pSearchRec.Name); // 排除自身文件夹,与父文件夹
if sFile = '.' then Continue;
if sFile = '..' then Continue; sFile := sPath + pSearchRec.Name; // 文件夹的情况(递归)
if(pSearchRec.Attr and faDirectory) <> then
SearchInDir(sFile)
else // 文件的情况
if(pSearchRec.Attr and faAnyFile) = pSearchRec.Attr then
begin
if Pos('.MP3', UpperCase(sFile)) < then Continue; if FSelFileList = '' then
FSelFileList := sFile
else
FSelFileList := FSelFileList + ',' + sFile;
end; {FindNext 寻找下一个
TSearchRec(sr) 是一个文件信息的纪录,
当FindFirst返回SearchRec时,你可以通过SearchRec.Name获取文件名,
以及 SearchRec.Size获取文件大小等信息}
until FindNext(pSearchRec) <> ; {FindClose 释放由FindFirst分配的内存。FindClose停止一个FindFirst/FindNext序列。
FindClose 在16位的操作系统中没有用处,但在32位系统中是需要的,
所以为了最大的FindFirst/FindNext序列完成的可能性应该调用FindClose结束。}
FindClose(pSearchRec);
if FSelFileList = '' then
InfoDlg('NND!这个文件夹有你妹的 Music 啊...');
end;
except
InfoDlg('NND!找个Music都TMD异常...');
end;
end;

Delphi遍历文件夹的更多相关文章

  1. Delphi遍历文件夹及子文件夹(可查找固定格式文件)

    Delphi遍历文件夹及子文件夹 {-------------------------------------------------------------------------------过程名 ...

  2. Delphi下遍历文件夹下所有文件的递归算法

    {------------------------------------------------------------------------------- 过程名:    MakeFileLis ...

  3. C#遍历文件夹下所有文件

    FolderForm.cs的代码如下: using System; using System.Collections.Generic; using System.Diagnostics; using ...

  4. windowsAPI遍历文件夹(速度高于递归)

    #region API 遍历文件夹及其子文件夹和子文件 #region 声明WIN32API函数以及结构 ************************************** [DllImpo ...

  5. C# 遍历文件夹下所有子文件夹中的文件,得到文件名

    假设a文件夹在F盘下,代码如下.将文件名输出到一个ListBox中using System.Data;using System.Drawing;using System.Linq;using Syst ...

  6. python 遍历文件夹 文件

    python 遍历文件夹 文件   import os import os.path rootdir = "d:\data" # 指明被遍历的文件夹 for parent,dirn ...

  7. C#遍历文件夹及文件

    背景: 想自己实现一个网盘系统,于是需要用到遍历文件(夹)操作. C#基本知识梳理: 1.如何获取指定目录包含的文件和子目录 (1). DirectoryInfo.GetFiles():获取目录中(不 ...

  8. Java学习随笔3:遍历文件夹及文件的读取和写入

    import java.io.File; /** * 遍历文件夹 */ public class ScannerFile { public static void main(String[] args ...

  9. java 遍历文件夹里的文件

    Java遍历文件夹的2种方法: A.不使用递归: import java.io.File; import java.util.LinkedList; public class FileSystem { ...

随机推荐

  1. ionic 实现双击返回键退出应用功能

    ionic 实现双击返回键退出应用功能 keywords cordova,ngcordova,phonegap,ionic,双击,返回键,退出 例子 准备Toast插件,提示用,用户体验好点,不是必须 ...

  2. JavaScript + HTML DOM (keep for myself)

    1.改变 HTML 输出流 JavaScript 能够创建动态的 HTML 内容 eg. <script>document.write(Date());</script> 绝对 ...

  3. 数据类型的处理(提取自FMDB)

    if ((!obj) || ((NSNull *)obj == [NSNull null])) { sqlite3_bind_null(pStmt, idx); } // FIXME - someda ...

  4. IIS网站打不开错误解决方案集锦(一):编译器错误消息: 编译器失败,错误代码为 -1073741502。

    [2015-05-12解决记录] 问题:服务器上的文件一直都是好的,但是运行了很长一段时间以后,发现网站打不开,或者上传不了图片了,怎么办? 错误信息:c:\windows\system32\inet ...

  5. Slim + Twig 构建PHP Web应用程序

    Twig : PHP 视图模板引擎,类似于Smart模板引擎. 下载地址:http://twig.sensiolabs.org/ Slim: 轻量级PHP MVC框架,可用于构建Web app,Res ...

  6. boost 相关

    编译boost: 1.打开Microsoft Visual Studio 2010 -> Visual Studio Tools -> Visual Studio Command Prom ...

  7. QGraphics

    QGraphicsView和QGraphicsScene QGraphicsScene提供一个场景,可以添加各种item,QGraphicsView用于将元素显示,并支持旋转和缩放:可以将QGraph ...

  8. .NET设计模式(7):创建型模式专题总结(Creational Pattern)(转)

    概述 创建型模式,就是用来创建对象的模式,抽象了实例化的过程.它帮助一个系统独立于如何创建.组合和表示它的那些对象.本文对五种常用创建型模式进行了比较,通过一个游戏开发场景的例子来说该如何使用创建型模 ...

  9. ASP.NET 将Excel导入数据库

    将Excel导入数据库大致流程:  Excel数据->DataSet->数据库 需要做的准备:1.FileUpload控件一个,按钮一个,如果需要即时显示那么GridView或DataGr ...

  10. (6)妈的终于找到能用的nehe sdk了

    在网上下载了有十多个,终于找到一个能用的了 下面是下载地址: http://download.csdn.net/detail/jason_bourn/681620#comment 泪奔啊~