delphi弹出选择对话框选择目录|SelectDirectory 函数,转 SelectDirectory 函数

通过显示一个对话框来让用户选择一个目录。

注意:在使用前要在Uses 语句中添加包含FileCtrl 的说明。

函数原型如下:

function SelectDirectory(const Caption: string; const Root: WideString;

out Directory: string): Boolean; overload;

function SelectDirectory(var Directory: string; Options: TSelectDirOpts;

HelpCtx: Longint): Boolean; overload;

对于第1 个重载函数,参数Caption 为对话框的标题内容;参数Root 指定一个目录,为进行浏览的最初目录;选中的目录保存在参数Directory 中。

对于第2 个重载函数,参数Directory 中指定的目录为对话框显示时选中的目录,最后用户选定的目录也保存在参数Directory 中;参数Options 为一些设置项目的集合,如果为空,则用户通过对话框只能选择已经存在的目录,没有提供编辑框给用户来输入一个新的目录名。TSelectDirOpts 类型定义如下:

type

TSelectDirOpt = (sdAllowCreate, sdPerformCreate, sdPrompt);

TSelectDirOpts = set of TSelectDirOpt;

具体数值的含义如下。

• sdAllowCreate 对话框中有一个Edit 组件,用户可以输入新的目录名。但是如果要新建该目录,程序员必须根据获取的文件自己编写代码新建目录。

• sdPerformCreate 对话框中有一个Edit 组件,用户可以输入一个不存在的目录名,对话框将选中该目录并创建该目录。

• sdPrompt 对话框中有一个Edit 组件,如果用户输入的目录名不存在,则显示一个信息对话框提示是否创建新目录。如果同时选中的是sdAllowCreate 设置,则程序员必须根据获取的文件自己编写代码新建目录。

用法:

procedure TForm1.Button1Click(Sender: TObject);

var

ss:String;

begin

SelectDirectory('testdialog','sss',ss,[sdNewFolder, sdShowEdit, sdShowShares, sdNewUI]);

end;

通过显示一个对话框来让用户选择一个目录。

注意:在使用前要在Uses 语句中添加包含FileCtrl 的说明。

函数原型如下:

function SelectDirectory(const Caption: string; const Root: WideString;

out Directory: string): Boolean; overload;

function SelectDirectory(var Directory: string; Options: TSelectDirOpts;

HelpCtx: Longint): Boolean; overload;

对于第1 个重载函数,参数Caption 为对话框的标题内容;参数Root 指定一个目录,为进行浏览的最初目录;选中的目录保存在参数Directory 中。

对于第2 个重载函数,参数Directory 中指定的目录为对话框显示时选中的目录,最后用户选定的目录也保存在参数Directory 中;参数Options 为一些设置项目的集合,如果为空,则用户通过对话框只能选择已经存在的目录,没有提供编辑框给用户来输入一个新的目录名。TSelectDirOpts 类型定义如下:

type

TSelectDirOpt = (sdAllowCreate, sdPerformCreate, sdPrompt);

TSelectDirOpts = set of TSelectDirOpt;

具体数值的含义如下。

• sdAllowCreate 对话框中有一个Edit 组件,用户可以输入新的目录名。但是如果要新建该目录,程序员必须根据获取的文件自己编写代码新建目录。

• sdPerformCreate 对话框中有一个Edit 组件,用户可以输入一个不存在的目录名,对话框将选中该目录并创建该目录。

• sdPrompt 对话框中有一个Edit 组件,如果用户输入的目录名不存在,则显示一个信息对话框提示是否创建新目录。如果同时选中的是sdAllowCreate 设置,则程序员必须根据获取的文件自己编写代码新建目录。

用法:

procedure TForm1.Button1Click(Sender: TObject);

var

ss:String;

begin

SelectDirectory('testdialog','sss',ss,[sdNewFolder, sdShowEdit, sdShowShares, sdNewUI]);

end;