tft每日頭條

 > 圖文

 > delphi學習技術路線

delphi學習技術路線

圖文 更新时间:2024-08-16 13:17:13

delphi學習技術路線?一、目錄的操作 目錄的操作比較簡單,僅僅是介紹對目錄的操作,起不到實際教學的目的我們這一講,結合目錄的操作,文件的屬性來實戰編寫一個搜索目錄的小程序,這裡面用到的技術在我們的軟件開發過程中,經常能夠遇到,下面我們就來說一說關于delphi學習技術路線?我們一起去了解并探讨一下這個問題吧!

delphi學習技術路線(DELPHI學習之目錄操作)1

delphi學習技術路線

一、目錄的操作

目錄的操作比較簡單,僅僅是介紹對目錄的操作,起不到實際教學的目的。我們這一講,結合目錄的操作,文件的屬性來實戰編寫一個搜索目錄的小程序,這裡面用到的技術在我們的軟件開發過程中,經常能夠遇到。

1、創建一個目錄: function CreateDir(const Dir:string):Boolean; 例如:CreateDir('c:\Tem');注,不能多級目錄創建,創建成功返回TRUE,失敗返回FALSE。

2、檢測指定的目錄是否存在 function DirectoryExists(name:string):Boolean

3、多級創建目錄 function ForceDirectories(dir:string):Boolean; (要引入 FileCtrl 單元文件)

4、獲取當前目錄的絕對路徑 function GetCurrentDir:string;

5、獲取指定驅動器中當前目錄 procedure GetDir(d:Byte,s:string);

d的取值 0為當前驅動器,1為A盤,2為B盤, 3為C盤

6、讓用戶選擇一個目錄:function SelectDirectory(const Caption: string; const Root: WideString;

out Directory: string): Boolean; overload;

7、改變當前的路徑進入一個目錄 procedure ChDir(S: String);

8、删除一個空的子目錄 procedure RmDir(S: String); 如果目錄不存在,或者非空,都會引發一個I/O錯誤。

9、删除一個存在的空目錄 funciton RemoveDir(S: String): Boolean; 删除成功返回TRUE,失敗返回FALSE。

二、對文件的檢索

使用API函數,會用到WIN32_FIND_DATA結構

1、FindFirstFile,帶有兩個參數,第一是要檢查的,帶有文件擴展名的路徑,函數将在這個路徑下面檢索符合擴展名要求的文件,例如*.jpg, *.txt或者*.*等等, 第二個參數是一個WIN32_FIND_DATA結構,調用成功則返回一個搜索句柄

2、FindNextFile,也帶有兩個參數,第一個FindFirstFile返回的句柄,第二個參數仍然是一個WIN32_FIND_DATA結構,調用成功返回TRUE,失敗返回FALSE

3、CloseHandle,隻有一個參數,就是FindFirstFile返回的句柄。

使用Delphi自身封裝的函數

1、FindFirst,搜索第一個符合條件的文件,帶有三個參數,

第一個是包含搜索路徑和文件名(可以帶有統配符)的字符串

第二個是要搜索文件的屬性(faReadOnly隻讀文件,faHidden隐藏文件,faSysFile系統文件,faVolume卷标文件,faDirectory目錄,faArchive歸檔文件,faAnyFile任意文件)

第三個是TSearchRec結構的引用

該函數執行成功返回0,否則返回一個錯誤碼

2、FindNext 搜索下一個符合條件的文件 帶有一個參數 既TSearchRec結構的引用。執行成功返回0,否則返回一個錯誤碼

3、FindClose 關閉搜索,釋放FindFirst分配的内存。

SHFileOperation函數,這個函數原型聲明在ShellApi單元文件中。屬于Windows的API函數。該函數功能強大,可能實現文件或目錄的拷貝,移動,重命名,删除等操作。

這個函數隻有 SHfileOperation(TSHFILEOPSTRUCT)隻有一個參數,是一個TSHFileOpStruct結構,該結構的定義如下:

Hwnd //顯示狀态信息窗口的句柄,一般是設為應用程序的主窗體,或者某一個子窗體的句柄

wFunc //要執行的操作 取值:FO_COPY 複制 FO_MOVE 移動 FO_DELETE 删除

pFrom //源文件或目錄

pTo //目标文件或目錄

fFlag //控制文件操作的标志 我們可以把它設為以下的内容:

FOF_SILENT---不創建進度條

FOF_SIMPLEPROGRESS---- 顯示進度條對話框但不顯示文件名

FOF_NOCONFIRMATION-----操作過程中不顯示确認信息,相當與用戶選擇了"Yes to all"

FOF_NOCONFIRMMKDIR 創建目錄的時候不顯示确認信息,直接就創建了

FOF_RENAMEONCOLLISION 移動複制的時候如果名字重名,自動分配新名字

FOF_ALLOWUNDO 準許撤銷操作

FOF_FILESONLY 隻對文件(不是目錄)進行操作。

fAnyOperationsAborted //Boolean值,為真,則表示有任意異常都将取消操作,為假,則忽略所有異常

hNameMappings //文件名映射對象的句柄,很少用到,一般取nil

lpszProgressTitle //進度條标題,注意僅在fFlag中指定了FOF_SIMPLEPROGRESS時才有效.

函數返回值為0表示操作成功

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved