明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

在Delphi中定位文件位置

[摘要]在Delphi中,定位文件的操作主要有兩種方法。一種是直接定位文件,即通過“打開”對話框(OpenDialog)控件來實現(xiàn)。另一種是只定位到文件夾,然后再在此文件夾內(nèi)尋找文件,這種定位方法是利用De...
在Delphi中,定位文件的操作主要有兩種方法。一種是直接定位文件,即通過“打開”對話框(OpenDialog)控件來實現(xiàn)。另一種是只定位到文件夾,然后再在此文件夾內(nèi)尋找文件,這種定位方法是利用Delphi提供的SelectDirectory函數(shù)。這個函數(shù)是在FileCtrl單元中定義的,因此在使用時不要忘記在Uses中加入單元名。

  下面就以一個例子來說明這兩種方法在Delphi中的具體實現(xiàn):

  首先建立一個新的工程,然后在窗體上加入兩個按鈕控件、一個“打開”對話框,再加入兩個標(biāo)簽控件作為兩種實現(xiàn)結(jié)果的存儲控件。

  各個控件的主要屬性設(shè)置如下:

  Button1中:

  Caption='直接定位文件'

   Button2中:

  Caption='定位到文件夾'

  OpenDialog1中:

  Filter= '所有文件(*.*) *.* '

  +'文本文件(*.txt) *.txt '

  +'應(yīng)用程序(*.exe,*.com) *.exe;*.com'

  FilterIndex=1

  下面是實現(xiàn)的具體程序代碼:

  unit FileLocateUnit1;

  interface

  uses

  ……,FileCtrl;

  type

  TForm1 = class(TForm)

   Button1: TButton;

  ……

  implementation

  {$R *.DFM}

  //直接定位到文件的實現(xiàn)代碼

  procedure TForm1.Button1Click(Sender: TObject);

  begin

  OpenDialog1.Execute;

  //執(zhí)行“打開”文件對話框

  Label1.Caption:=OpenDialog1.FileName;

  //將返回的結(jié)果值傳遞給控件Label1

  //要注意,只有當(dāng)用戶選擇了一個文件并且按了“確定”按鈕后才能返回此結(jié)果。

  Label1.Refresh;

  end;

  //定位到文件夾的實現(xiàn)代碼

  procedure TForm1.Button2Click(Sender: TObject);

  var

  strCaption,strDirectory:String;

  wstrRoot:WideString;

  begin

  strCaption:='這是瀏覽文件夾的說明文字,可以根據(jù)需要進行書寫。'

  +#13#10+'一般二行文字就滿了。';

  //該參數(shù)是瀏覽文件夾窗口的顯示說明部分

  wstrRoot:='';

  //這個參數(shù)表示所顯示的瀏覽文件夾窗口中的根目錄,默認或空表示“我的電腦”。

  SelectDirectory(strCaption,wstrRoot,strDirectory);

  Label2.Caption:=strDirectory;

  //傳遞結(jié)果,其中參數(shù)strDirectory表示函數(shù)的返回值

  Label2.Refresh;

  end;

  end.

  按F9編譯執(zhí)行上面的代碼,執(zhí)行結(jié)果如圖1所示。

  從兩種方法的比較來看,如果想讓用戶直觀地選擇文件,我們可以使用“打開”對話框控件;如果只想定位到文件夾,或者想將程序存取的文件對用戶保密,我們應(yīng)選擇函數(shù)SelectDirectory作為實現(xiàn)的手段。

  另外,如果想限制用戶定位文件的權(quán)限,最好使用函數(shù)SelectDirectory來實現(xiàn),因為它通過使用Root參數(shù)限定了根目錄的位置,并且不能再向上返回。圖2是限定根目錄為C:\Program Files\Borland\Delphi5的情況,這樣就可以更好地避免用戶誤操作,而使用“打開”對話框控件則不能實現(xiàn)這一要求。