???告诉我地址啊》

解决方案 »

  1.   

    Delphi 自己就有一个函数可以实现:
    SelectDirectory 
    在FileCtrl单元。从帮助中也可以找到它。————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  2.   

    例如:
    uses FileCtrl;const
      SELDIRHELP = 1000;
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Dir: string;
    begin
      Dir := 'C:\MYDIR';
      if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],SELDIRHELP) then
        Label1.Caption := Dir;
    end;————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  3.   

    var
      Dir: String;
    begin
      SelectDirectory('Select a directory', '', Dir);
    end;返回的Dir就是你选择的目录
      

  4.   

    unit SeleDirectory;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, FileCtrl;type
      TfrmSeleDirectory = class(TForm)
        DriveComboBox1: TDriveComboBox;
        DirectoryListBox1: TDirectoryListBox;
        FileListBox1: TFileListBox;
        FilterComboBox1: TFilterComboBox;
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        Label4: TLabel;
        SeleDirectoryLabel: TLabel;
        btnOK: TButton;
        btnCancel: TButton;
        procedure btnOKClick(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure DriveComboBox1Change(Sender: TObject);
      private
        { Private declarations }
        procedure FindException(Sender: TObject; E: Exception);
      public
        { Public declarations }
      end;var
      frmSeleDirectory: TfrmSeleDirectory;
      DriveChar : Char; 
    implementation{$R *.DFM}procedure TfrmSeleDirectory.FindException(Sender: TObject; E: Exception);
    begin
      Application.MessageBox('磁盘驱动器读取错误。', '错误', MB_IconStop);
      DriveComboBox1.Drive := DriveChar;
    end;procedure TfrmSeleDirectory.btnOKClick(Sender: TObject);
    begin
      if (FileListBox1.Items.Count = 0) or (FilterComboBox1.ItemIndex = 1) then
          SeleDirectoryLabel.Caption := '';
      Close;
    end;procedure TfrmSeleDirectory.FormCreate(Sender: TObject);
    begin
      Application.OnException := FindException;
      DriveComboBox1.Drive := 'C';
    end;procedure TfrmSeleDirectory.DriveComboBox1Change(Sender: TObject);
    begin
      DriveChar := DriveComboBox1.Drive;
    end;end.