不知道具体路径,只有文件名

解决方案 »

  1.   

    function FileSearch(const Name, dirList:String):String;
    这是系统提供的函数,在指定的目录下查找文件!
    你可以指定在c:\下查找你的文件,然后再打开!
      

  2.   

    to  ocool:
    如果哪个文件不在C盘呢或者不在C盘根目录下,是不是也可以找到THANKS
      

  3.   

    这是《Delphi5编程技巧与事例》书上的说明:
    FileSearch
    在指定的路径中查找指定的文件。
    过程原型如下:
    function FileSearch(const Name, DirList: string): string;
    其中参数DirList中可以包含多个路径,各个路径之间使用分号(;)隔开。如果查找到符合条件的文件,则返回该文件名;否则,返回一个空字符串。
    下面例子的窗体中有一个Edit组件,一个Button组件。按下Button组件后就在当前目录和Windows目录下查找Edit组件中指定文件名的文件,根据查找结果显示不同的信息。
    procedure TForm1.Button1Click(Sender: TObject) ;
    var
    buffer: array [0..255] of char;
    FileToFind: string;
    begin
    GetWindowsDirectory(buffer, SizeOf(buffer)); // 获取Windows系统目录
    // 在当前目录下和Windows系统目录下查找文件
    FileToFind := FileSearch(Edit1.Text, GetCurrentDir + ';' + buffer) ;
    if FileToFind = '' then // 没有找到指定文件
    ShowMessage( '没有找到文件' + Edit1.Text + '。' )
    else // 找到了指定文件
    ShowMessage( '找到了文件' + FileToFind + '。' ) ;
    end;具体到你的问题,不妨到网上下载一本《Delphi5开发人员指南》,书中的12.4.6.节就是讲如何利用递归调用实现了对当前目录及其子目录的搜索。
    书是pdf格式的,代码无法从书中Copy出来,你只能自己去找这本书看了!