一个人不应该依附在其他人身上,一个人应该首先自力更生。你应该自己能够独立,能够安顿你自己,那你就不会害怕了。你爱你自己的话,别人不能不爱你吧。

发布新日志

  • API 文件处理函数

    2008-04-09 10:18:56

    //声明:
    GetWindowsDirectory(
      lpBuffer: PChar; {缓冲区}
      uSize: UINT      {缓冲区大小}
    ): UINT;           {返回实际长度}
    
    //举例: var arr: array[0..MAX_PATH] of Char; num: UINT; begin num := GetWindowsDirectory(arr, MAX_PATH); ShowMessage(arr); {C:\WINDOWS} ShowMessage(IntToStr(num)); {10} end;
    //声明:
    GetSystemDirectory(
      lpBuffer: PChar; {缓冲区}
      uSize: UINT      {缓冲区大小}
    ): UINT;           {返回实际长度}
    
    //举例: var arr: array[0..MAX_PATH] of Char; num: UINT; begin num := GetSystemDirectory(arr, MAX_PATH); ShowMessage(arr); {C:\WINDOWS\system32} ShowMessage(IntToStr(num)); {19} end;
    //声明:
    GetTempPath(
      nBufferLength: DWORD; {缓冲区大小}
      lpBuffer: PChar       {缓冲区}
    ): DWORD;               {返回实际长度}
    
    //举例: var arr: array[0..MAX_PATH] of Char; num: DWORD; begin num := GetTempPath(MAX_PATH, arr); ShowMessage(arr); {C:\DOCUME~1\wy\LOCALS~1\Temp\} ShowMessage(IntToStr(num)); {29} end;
    //声明:
    GetTempFileName(
      lpPathName: PChar;     {路径}
      lpPrefixString: PChar; {前缀}
      uUnique: UINT;         {指定生成文件名的数字, 文件名将根据参数2、参数3来生成}
      lpTempFileName: PChar  {文件名需要的缓冲区}
    ): UINT;                 {指定生成文件名的数字, 如果参数3是0, 则返回文件名长度}
    
    //举例: var p,f: array[0..MAX_PATH] of Char; begin GetTempPath(MAX_PATH, p); GetTempFileName(p, '~My', 16, f); {因为16的十六进制是10, 文件名会是: ~My10.tmp} ShowMessage(f); {C:\DOCUME~1\wy\LOCALS~1\Temp\~My10.tmp} end;
    //声明:
    CopyFile(
      lpExistingFileName: PChar; {源文件}
      lpNewFileName: PChar;	     {目标文件}
      bFailIfExists: BOOL        {如果目标文件存在, True: 失败; False: 覆盖}
    ): BOOL;
    
    //例1: begin CopyFile('c:\BOOTLOG.TXT', 'c:\temp\BOOTLOG.TXT', True); end;
    //例2: var ExistFile, NewFile: string; begin ExistFile := 'c:\BOOTLOG.TXT'; NewFile := 'c:\temp\BOOTLOG.TXT'; if CopyFile(PChar(ExistFile), PChar(NewFile), True) then ShowMessage('复制成功'); end;
    //声明:
    CreateDirectory(
      lpPathName: PChar;                        {目录名}
      lpSecurityAttributes: PSecurityAttributes {TSecurityAttributes 结构的指针}
    ): BOOL;
    
    //TSecurityAttributes 是 _SECURITY_ATTRIBUTES 结构的重定义
    _SECURITY_ATTRIBUTES = record
      nLength: DWORD;                {结构体的大小}
      lpSecurityDescrīptor: Pointer; {安全描述}
      bInheritHandle: BOOL;          {安全描述的对象能否被新创建的进程继承}
    end;
    
    //举例: var dir: string; begin dir := 'c:\temp\TestDir'; CreateDirectory(PChar(dir), nil); {第二个参数一般设为 nil, 表示使用系统默认的安全属性} end;
    //声明:
    CreateDirectoryEx (
      lpTemplateDirectory: PChar;               {模版目录名}
      lpPathName: PChar;                        {新目录名}
      lpSecurityAttributes: PSecurityAttributes {TSecurityAttributes 结构的指针}
    ): BOOL;						
    
    //TSecurityAttributes 是 _SECURITY_ATTRIBUTES 结构的重定义
    _SECURITY_ATTRIBUTES = record
      nLength: DWORD;                {结构体的大小}
      lpSecurityDescrīptor: Pointer; {安全描述}
      bInheritHandle: BOOL;          {安全描述的对象能否被新创建的进程继承}
    end;
    
    //举例: var TDir,Dir: string; begin TDir := 'c:\temp\Test'; {假如模版目录是隐藏的} Dir := 'c:\temp\NewDir'; {创建的新目录也是隐藏的} CreateDirectoryEx(PChar(TDir), PChar(Dir), nil); {如果不需要模版, 可以:} //CreateDirectoryEx(nil, PChar(Dir), nil); end;
    //声明:
    RemoveDirectory(
      lpPathName: PAnsiChar {目录名}
    ): BOOL;	
    
    //举例: var Dir: string; begin Dir := 'c:\temp\Test'; if RemoveDirectory(PChar(Dir)) then ShowMessage(Dir + ' 已被删除') else ShowMessage('删除失败, 可能是 ' + Dir + ' 不存在或不为空'); end;
    //声明:
    SetCurrentDirectory(
      lpPathName: PAnsiChar {路径名}
    ): BOOL;
    
    GetCurrentDirectory(
      nBufferLength: DWORD; {缓冲区大小}
      lpBuffer: PAnsiChar   {缓冲区}
    ): DWORD;               {返回目录实际长度}			
    
    //举例: var buf: array[0..MAX_PATH] of Char; begin SetCurrentDirectory('c:\temp'); GetCurrentDirectory(SizeOf(buf), buf); ShowMessage(buf); {c:\temp} end;
    //声明:
    SetVolumeLabel(
      lpRootPathName: PChar; {根路径}
      lpVolumeName: PChar    {新卷标指针, nil 表示删除卷标}
    ): BOOL;
    
    //举例: begin SetVolumeLabel('c:\', 'NewLabel'); end;
    http://www.cnblogs.com/del/category/122469.html
     
Open Toolbar