程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 在Delphi中定位文件位置

在Delphi中定位文件位置

編輯: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 Files\Borland\Delphi5的情況,這樣就可以更好地避免用戶誤操作,而使用“打開”對話框控件則不能實現這一要求。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved