发信人: chenjz@GZ() 
整理人: teleme(2001-02-10 23:12:59), 站内信件
 | 
 
 
 标  题: 在Delphi中定位文件位置 发信站: 网易虚拟社区 (Tue Aug 29 12:03:51 2000), 站内信件
                    在Delphi中定位文件位置
 (作者:韩世伟 2000年08月24日 21:40)
 
   在Delphi中,定位文件的操作主要有两种方法。一种是直接定位文件,即通 过“打开”对话框(OpenDialog)控件来实现。另一种是只定位到文件夹,然后 再在此文件夹内寻找文件,这种定位方法是利用Delphi提供的SelectDirectory函 数。这个函数是在FileCtrl单元中定义的,因此在使用时不要忘记在Uses中加入 单元名。 
 
   下面就以一个例子来说明这两种方法在Delphi中的具体实现: 
 
   首先建立一个新的工程,然后在窗体上加入两个按钮控件、一个“打开”对 话框,再加入两个标签控件作为两种实现结果的存储控件。 
 
   各个控件的主要属性设置如下: 
 
   Button1中: 
 
   Caption='直接定位文件' 
 
    Button2中: 
 
   Caption='定位到文件夹' 
 
   OpenDialog1中: 
 
   Filter= '所有文件(*.*)|*.*|' 
 
   +'文本文件(*.txt)|*.txt|' 
 
   +'应用程序(*.exe,*.com)|*.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(http://media.ccidnet.com/ci w/img/949/b1101t01.jpg)所示。 
 
   从两种方法的比较来看,如果想让用户直观地选择文件,我们可以使用“打 开”对话框控件;如果只想定位到文件夹,或者想将程序存取的文件对用户保密 ,我们应选择函数SelectDirectory作为实现的手段。 
 
   另外,如果想限制用户定位文件的权限,最好使用函数SelectDirectory来实 现,因为它通过使用Root参数限定了根目录的位置,并且不能再向上返回。图2( http://media.ccidnet.com/ciw/img/949/b1101t02.jpg)是限定根目录为C:\Pr ogram Files\Borland\Delphi5的情况,这样就可以更好地避免用户误操作,而使 用“打开”对话框控件则不能实现这一要求。 
  -- 我能翻译善写作熟电脑会说话可是为什么没工作?
  ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.221.250]
  | 
 
 
 |