我想做一个点歌软件,歌曲全是dat文件并且都在d盘的根目录下,我想在formcreate时用treeview显示出来所有D盘下的歌曲名(文件名),能用一个最简洁适用的程序实现吗?请给出代码,谢谢!

解决方案 »

  1.   


    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ComCtrls, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        TreeView1: TTreeView;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}
    procedure LoadTreeView(dir: string; DestItem: TTreeNode; ATree: TTreeView);
    var
      ret: Integer;
      sr: TSearchRec;
      path: string;
    begin
      if dir[length(dir)] <> '\' then
        dir := dir + '\';
      ret := FindFirst(dir + '*.*', faAnyFile, sr);
      while ret = 0 do
      begin
        sleep(10);
        application.ProcessMessages;
        path := dir + sr.Name;
        if (sr.Attr and faDirectory) = faDirectory then
        begin
          if (sr.Name <> '.') and (sr.Name <> '..') then
            {
             }
        end else
        begin
          if UpperCase(ExtractFileExt(sr.Name)) = UpperCase('.dat') then
          begin
            ATree.Items.AddChild(DestItem,  sr.Name);
          end;
        end;
        ret := FindNext(sr);
      end;
      sysUtils.FindClose(sr);
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      Item: TTreeNode;
    begin
      Item := TreeView1.Items.Add(nil, 'D:\');
      LoadTreeView('D:\', item, TreeView1);
    end;end.