Delphi--學習記事本

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

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
//API原定義      
UINT GetSystemDirectory(  //得到當前系統目录(System目录)的完整路径名
    LPTSTR lpBuffer,           // 用于裝載系統目錄路徑名的一個緩沖區
    UINT uSize                   // lpBuffer字串的最大長度

   ); //返回值為:裝載到lpBuffer緩沖區的字符數量,如果lpBuffer不夠大,不夠容納路徑名,則返回要求的緩沖區長度,零表示失敗。

UINT GetWindowsDirectory( //得到當前系統目录(Windows目录)的完整路径名
    LPTSTR lpBuffer,             // 用于裝載系統目錄路徑名的一個緩沖區
    UINT uSize                      // lpBuffer字串的最大長度

   ); //返回值為:裝載到lpBuffer緩沖區的字符數量,如果lpBuffer不夠大,不夠容納路徑名,則返回要求的緩沖區長度,零表示失敗。

DWORD GetCurrentDirectory( //得到當前目錄路徑
    DWORD nBufferLength,     // lpBuffer字串的長度
    LPTSTR lpBuffer                // 指向裝載當前目錄路徑名的一個緩沖區
   ); //返回值為:裝載到lpBuffer緩沖區的字符數量,如果lpBuffer不夠大,不夠容納路徑名,則返回要求的緩沖區長度,零表示失敗。

DWORD GetFullPathName(    // 由一個指定的文件名字得到文件的路徑
    LPCTSTR lpFileName,        // 指定文件的名字
    DWORD nBufferLength,    // 緩沖區大小
    LPTSTR lpBuffer,              // 存取路徑的緩沖區
    LPTSTR *lpFilePart            // 要求文件名的起始地址
   );  //返回:返回實際路徑的長度,如果緩沖區太小就返回緩沖區的值,失敗就返回零(一般就是在文件名之前補上當前目錄路徑,如果當前文件名已經包含完整目錄就是直接返回)

 //對比Delphi中相關    
procedure GetDir(D: Byte; var S: string) ;                   //將在D設置條件下的當前路徑保存到S中
function GetCurrentDir: string;                                   //得到當前目錄路徑
function ExtractFilePath(const FileName: string): string; //返回當前文件的目錄名
function ExtractFileDir(const FileName: string): string;   //返回當前文件的目錄名(與上不同點就是:該過程有時返回的路徑名一般沒有最后的路徑分隔符‘\’(像C:\aa.txt這種情況兩者相同除外),而ExtractFilePath總會有。)
function ExtractFileDrive(const FileName: string): string;//返回指定文件所在盤符
function ExpandFileName(const FileName: string): string;//由FileName返回全路徑

{Delphi Example}
var
  pPath2: string;
  i,Code: Integer;
  FName: PChar;
  Buffer: array[0..MAX_PATH - 1] of Char;
begin
  pPath2 := 'qq.txt';
  // GetSystemDirectory
  Code := GetSystemDirectory(Buffer,SizeOf(Buffer));
  ShowMessage('Buffer為:'+Buffer + '返回為:' + IntToStr(Code));  //Buffer為:C:\WINDOWS\system32 返回為:19      
  // GetWindowsDirectory
  Code := GetWindowsDirectory(Buffer,SizeOf(Buffer));
  ShowMessage('Buffer為'+Buffer + '返回為' + IntToStr(Code)); //Buffer為:C:\WINDOWS 返回為:10
  // GetCurrentDirectory
  Code := GetCurrentDirectory(SizeOf(Buffer),Buffer);
  ShowMessage('Buffer為'+Buffer + '返回為' + IntToStr(Code));//Buffer為:C:\Documents and Settings\adm\ 返回為:30
  // GetFullPathName
  Code := GetFullPathName(PChar(pPath2), SizeOf(Buffer),Buffer, FName);
  ShowMessage('Buffer為'+Buffer + '返回為' + IntToStr(Code));//Buffer為:C:\Documents and Settings\adm\ qq.txt返回為:36

 end;

 

posted on 2009-10-26 12:11  Delphi學習記事本  阅读(2060)  评论(0编辑  收藏  举报