delphi 选择目录对话框(SelectDirectory 函数)


本文整理自网络,侵删。

 有时候会遇到选择文件保存目录的情况,只需要指定要保存的目录,二不要指定文件名。Delphi 中好像没有原生的组件可用,可以用下面的函数来实现:
函数原型:

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 设置,则程序员必须根据获取的文件自己编写代码新建目录。
注意:在使用前要在Uses 语句中添加包含FileCtrl 的说明。
示例代码:

// 更改数据库文件保存位置
procedure TForm1.BtnChangeFileLocationClick(Sender: TObject);
var
  strPath: string; // 用户选定后的目录
begin
  strPath := '';
  if (SelectDirectory('请选择文件保存的路径', '', strPath)) then
  begin
    Form1.lblEdt_FileLocation.Text := strPath;
  end;
end;

相关阅读 >>

Delphi stringgrid 实例5 本例功能:字体修改为居中,红色,20号

Delphi webbrowser同时访问两个网址导致程序出错的解决办法

Delphi 10进制数与33进制数的转换

Delphi unigui日志的控制

Delphi流的操作

Delphi winapi: getforegroundwindow - 获取前台窗口的句柄

Delphi文件是否正在使用

Delphi base32 的加密和解密

Delphi旋转位图

Delphi版多开源码,也就是遍历系统内核对象句柄

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...