*.exe;*.com'
FilterIndex=1
下面是实现的具体程序代码:
unit FileLocateUnit1;
interface
uses
……,FileCtrl;
type
TForm1 = class(TForm)
Button1: TButton;
……
implementation
{$R *.DFM}
//直接定位到文件的实现代码
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Execute;
//执行“打开”文件对话框
Label1.Caption:=OpenDialog1.FileName;
//将返回的结果值传递给控件Label1
//要注意,只有当用户选择了一个文件并且按了“确定”按钮后才能返回此结果。
Label1.Refresh;
end;
//定位到文件夹的实现代码
procedure TForm1.Button2Click(Sender: TObject);
var
strCaption,strDirectory:String;
wstrRoot:WideString;
begin
strCaption:='这是浏览文件夹的说明文字,可以根据需要进行书写。'
+#13#10+'一般二行文字就满了。';
//该参数是浏览文件夹窗口的显示说明部分
wstrRoot:='';
//这个参数表示所显示的浏览文件夹窗口中的根目录,默认或空表示“我的电脑”。
SelectDirectory(strCaption,wstrRoot,strDirectory);
Label2.Caption:=strDirectory;
//传递结果,其中参数strDirectory表示函数的返回值
Label2.Refresh;
end;
end.
按F9编译执行上面的代码,执行结果如图1所示。
从两种方法的比较来看,如果想让用户直观地选择文件,我们可以使用“打开”对话框控件;如果只想定位到文件夹,或者想将程序存取的文件对用户保密,我们应选择函数SelectDirectory作为实现的手段。
另外,如果想限制用户定位文件的权限,最好使用函数SelectDirectory来实现,因为它通过使用Root参数限定了根目录的位置,并且不能再向上返回。图2是限定根目录为C:\Program Files\Borland\Delphi5的情况,这样就可以更好地避免用户误操作,而使用“打开”对话框控件则不能实现这一要求。
……