用listbox显示出文件夹下指定类型的数据
现有文件夹X 内包含
SalesWareHouseOut_000931.xml
PurchaseWareHouseIn_11.xml
ReturnWareHouseIn_007898.xml
ReturnWareHouseOut_0233312.xml
...
以xml格式的数据N条。
如何用listbox显示文件名为 
如:
000931
11
007898
0233312
...
并且可以选中任意一条 显示 名称 到 exit控件中。代码如何写?请高手赐教。

解决方案 »

  1.   

    type
      TMyFileType = class
      public
        FileName: string;
        //这里你可以加属性
      end;procedure TForm1.Button1Click(Sender: TObject);
    var
      MyFileType: TMyFileType;
      sTmp: String;
      iIDX: Integer;
    begin
    //  自己网上找个文件查找的功能吧
      MyFileType := TMyFileType.Create;
      MyFileType.FileName := 'C:\SalesWareHouseOut_000931.xml';
      sTmp := ExtractFileName(MyFileType.FileName);
      sTmp := StringReplace(MyFileType.FileName, ExtractFileExt(MyFileType.FileName),'',[]);
      iIDX := Pos('_',sTmp);
      sTmp := Copy(sTmp,iIDX+1,Length(sTmp)-iIDX);
      listbox1.Items.AddObject(sTmp,MyFileType);
    end;procedure TForm1.ListBox1Click(Sender: TObject);
    begin
      if ListBox1.ItemIndex >=0 then
        ShowMessage(TMyFileType(ListBox1.Items.Objects[ListBox1.ItemIndex]).FileName);
    end;
      

  2.   

    用一個TFileListBox控件
    設置其visible為false,使其不可見,
    設其Directory為你指定的目錄,
    設其Mask屬性為*.xml,使其關聯xml文件,
    TFileListBox有個Update過程,意為刷新,
    然後你便可以通過For iLoop:=0 to FileListBox1.Items.Count -1 do循環
    取FileListBox1.Items.Strings[iLoop]就是你的xml文件名
      

  3.   

    用TSearchRec搜索出所有符合条件的文件,截取文件名后添加到ListBox中
    TSearchRec用法,网上的例子一大把另:写成类是为了使用AddObject方法;它的第2个参数是TObject类型,所以记录类型不行