Delphi--學習記事本

記錄每個學習子過程,這只是一個記事本。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

{_WIN32_FIND_DATA結構:用于存取文件的属性信息,用于保存由FindFirstFile和FindNextFile找到文件的信息}
//原定義
typedef struct _WIN32_FIND_DATA {  

    DWORD dwFileAttributes;                      //文件属性
    FILETIME ftCreationTime;                      // 文件创建时间
    FILETIME ftLastAccessTime;                  // 文件最后一次访问时间
    FILETIME ftLastWriteTime;                    // 文件最后一次修改时间
    DWORD    nFileSizeHigh;                      // 文件长度高32位
    DWORD    nFileSizeLow;                       // 文件长度低32位
    DWORD    dwReserved0;                      // 系统保留
    DWORD    dwReserved1;                     // 系统保留
    TCHAR    cFileName[ MAX_PATH ];        // 长文件名
    TCHAR    cAlternateFileName[ 14 ];       // 8.3格式文件名
} WIN32_FIND_DATA;

其中dwFileAttributes(文件属性)有如下:FILE_ATTRIBUTE_ARCHIVE、FILE_ATTRIBUTE_COMPRESSED、FILE_ATTRIBUTE_DIRECTORY、FILE_ATTRIBUTE_HIDDEN、FILE_ATTRIBUTE_NORMAL、FILE_ATTRIBUTE_OFFLINE、FILE_ATTRIBUTE_READONLY、FILE_ATTRIBUTE_SYSTEM、FILE_ATTRIBUTE_TEMPORARY。
//1、判斷是否為文件夾,首先用FindFirstFile得到文件夾的信息,讀取該文件的屬性是否為FILE_ATTRIBUTE_DIRECTORY即可判斷。      
{FindFirstFile 聲明}
HANDLE FindFirstFile(
    LPCTSTR lpFileName,                           // 欲搜索的文件名  
    LPWIN32_FIND_DATA lpFindFileData     // 装载与找到的文件有关的信息
   );
{Delphi Example}
var
  aFindFileData: TWIN32FindData;
  Handle: THandle;
begin
  pPath1 := 'E:\bb\cc\dd';
  Handle := FindFirstFile(PChar(pPath1),aFindFileData);
  if aFindFileData.dwFileAttributes = FILE_ATTRIBUTE_DIRECTORY then
    ShowMessage(pPath1 + '是文件夾');
  Windows.FindClose(Handle);
end;
//2、通過GetFileAttributes得到文件或文件夾的屬性信息與FILE_ATTRIBUTE_DIRECTORY對比即可判斷。  
{GetFileAttributes 聲明}
DWORD GetFileAttributes(
    LPCTSTR lpFileName     // 欲获取属性的一个文件的名字  
   ); 

{Delphi Example}
var
  Code: Integer;
  pPath1: string;
begin
  pPath1 := 'E:\bb\cc\dd\';
  Code := GetFileAttributes(PChar(pPath1 ));
  if FILE_ATTRIBUTE_DIRECTORY = Code  then
    ShowMessage(pPath1 + '是文件夾');
end;

posted on 2009-10-22 19:27  Delphi學習記事本  阅读(3199)  评论(1编辑  收藏  举报