在Delphi中定位文件位置

2016-01-29 14:16 65 1 收藏

在Delphi中定位文件位置,在Delphi中定位文件位置

【 tulaoshi.com - Delphi 】

 

  在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所示。

  从两种方法的比较来看,如果想让用户直观地选择文件,我们可以使用“打开”对话框控件;如果只想定位到文件夹,或者想将程序存取的文件对用户保密,我们应选择函数SelectDirectory作为实现的手段。

  另外,如果想限制用户定位文件的权限,最好使用函数SelectDirectory来实现,因为它通过使用Root参数限定了根目录的位置,并且不能再向上返回。图2是限定根目录为C:Program FilesBorlandDelphi5的情况,这样就可以更好地避免用户误操作,而使用“打开”对话框控件则不能实现这一要求。
242005__b1101t01.jpg
  图1
242005__b1101t02.jpg
  图2

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/delphi/) 

来源:https://www.tulaoshi.com/n/20160129/1492897.html

延伸阅读
  keyword:  ActiveX, TGUID, CoCreateGUID, GUIDToString //---Test Program By Conan 2005/04/14---// unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs,   ActiveX, StdCtrls; type   T...
  最近在CSDN上看到两篇关于《DELPHI中存取JPEG文件到SQLSERVER》中的文章之后,觉得其中讲述的方法虽然有可取之处,但颇费时,我这里有更简单的操作方法,而且安全可靠,不敢一人独享,愿发布出来与大家共享。在Delphi7.0+Win2000+SqlServer 2000中测试通过,运行良好,现将思路、源码公开如下: 解决思路: 1、 关键在于将...
标签: Web开发
问题描述       对于select控件 1 2 3,我们可以通过它的options.add(new Option(v,t))的方法动态的插入一个option选项,但是新增的option的位置只能在最后,却不能插入到指定的任意位置。 解决方法       既然select的options属性提供的方法无法实现上面的需求,那么只好找办法了。我们...
Delphi中的Table控件(Component)和query控件都需要有一个DatabaseName属性。可以用DatabaseName属性来指定该控件所引用的数据表路径。有两种方法可以为属性DatabaseName设置路径:第一种方法是直接输入数据表所在路径,另一种方法是使用数据库别名(Alias)。在Delphi中数据库别名是在数据库引擎(BDE)中设定的,一个别名对应一个文件路...
标签: 电脑入门
在Word 2007长文档中快速定位 如果有一篇Word2007文档非常长,比如有几章、几十节甚至长达几十、几百页,要想查看或修改某页的内容时,如果拨动滚轮或使用翻页键一点点向后查找,实在需要相当的眼力和耐心。怎样才能在Word2007的长文档中快速定位呢? 其实有一个非常简单的方法。在Word2007界面的左下角,我们可以看到一个页码标识按钮,用X/...

经验教程

352

收藏

93
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部