Borland C++ Builder 的 VCL(Visual Component Library)提供了豐富的底層運行時函數,涵蓋內存管理、文件操作、磁盤查詢、字符串處理、數值轉換與日期時間等核心領域。本文整理為分類速查手冊,附帶函數原型與用途說明,方便開發者快速檢索。
| 函數 | 原型 | 說明 |
| FileOpen | int __fastcall FileOpen(const AnsiString FileName, int Mode); | 打開文件,成功返回句柄,失敗返回 -1 |
| FileCreate | int __fastcall FileCreate(const AnsiString FileName); | 創建新文件,返回句柄或 -1 |
| FileRead | int __fastcall FileRead(int Handle, void *Buffer, int Count); | 讀取指定字節到緩衝區,返回實際讀取字節數 |
| FileWrite | int __fastcall FileWrite(int Handle, const void *Buffer, int Count); | 寫入緩衝區數據到文件,返回寫入字節數或 -1 |
| FileSeek | int __fastcall FileSeek(int Handle, int Offset, int Origin); | 移動文件指針,返回新位置或 -1 |
| FileClose | void __fastcall FileClose(int Handle); | 關閉文件句柄 |
| FileAge | int __fastcall FileAge(const AnsiString FileName); | 獲取文件時間戳,失敗返回 -1 |
| FileExists | bool __fastcall FileExists(const AnsiString FileName); | 判斷文件是否存在 |
| FileGetDate | int __fastcall FileGetDate(int Handle); | 獲取 DOS 日期時間戳 |
| FileSetDate | int __fastcall FileSetDate(int Handle, int Age); | 設置 DOS 日期時間戳 |
| FileGetAttr | int __fastcall FileGetAttr(const AnsiString FileName); | 獲取文件屬性 |
| FileSetAttr | int __fastcall FileSetAttr(const AnsiString FileName, int Attr); | 設置文件屬性 |
| FindFirst | int __fastcall FindFirst(const AnsiString Path, int Attr, TSearchRec &F); | 查找首個匹配文件,成功返回 0 |
| FindNext | int __fastcall FindNext(TSearchRec &F); | 繼續查找下一個匹配文件 |
| FindClose | void __fastcall FindClose(TSearchRec &F); | 釋放查找資源 |
| DeleteFile | bool __fastcall DeleteFile(const AnsiString FileName); | 刪除文件 |
| RenameFile | bool __fastcall RenameFile(const AnsiString OldName, const AnsiString NewName); | 重命名文件 |
| ChangeFileExt | AnsiString __fastcall ChangeFileExt(const AnsiString FileName, const AnsiString Extension); | 修改擴展名 |
| ExtractFilePath | AnsiString __fastcall ExtractFilePath(const AnsiString FileName); | 提取路徑(含反斜槓) |
| ExtractFileDir | AnsiString __fastcall ExtractFileDir(const AnsiString FileName); | 提取目錄(不含反斜槓) |
| ExtractFileDrive | AnsiString __fastcall ExtractFileDrive(const AnsiString FileName); | 提取驅動器 |
| ExtractFileName | AnsiString __fastcall ExtractFileName(const AnsiString FileName); | 提取文件名+擴展名 |
| ExtractFileExt | AnsiString __fastcall ExtractFileExt(const AnsiString FileName); | 提取擴展名(含點) |
| 分類 | 代表函數 | 用途 |
| 大小寫轉換 | UpperCase, LowerCase, StrUpper, StrLower | AnsiString / char* 大小寫互轉 |
| 比較 | CompareStr, CompareText, StrComp, StrIComp, StrLComp | 區分/不區分大小寫比較,可指定長度 |
| 長度/指針 | StrLen, StrEnd, StrBufSize | 獲取長度、結尾指針、緩衝區大小 |
| 複製/移動 | StrCopy, StrECopy, StrLCopy, StrMove, StrPCopy, StrPLCopy | 各類複製策略,支援 AnsiString 源 |
| 連接 | StrCat, StrLCat | 字符串拼接,可限制長度 |
| 查找 | StrScan, StrRScan, StrPos | 字符/子串查找(首次/末次/子串) |
| 內存管理 | StrAlloc, StrNew, StrPas | 分配、複製到堆、轉 AnsiString |
| 函數 | 原型 | 說明 |
| IntToStr | AnsiString __fastcall IntToStr(int Value); | 整數 → 字符串 |
| IntToHex | AnsiString __fastcall IntToHex(int Value, int Digits); | 整數 → 十六進制字符串(指定位數) |
| StrToInt | int __fastcall StrToInt(const AnsiString S); | 字符串 → 整數,失敗拋 EConvertError |
| StrToIntDef | int __fastcall StrToIntDef(const AnsiString S, int Default); | 字符串 → 整數,失敗返回默認值 |
| FloatToStr | AnsiString __fastcall FloatToStr(Extended Value); | 浮點數 → 字符串 |
| StrToFloat | Extended __fastcall StrToFloat(const AnsiString S); | 字符串 → 浮點數 |
| FloatToStrF | AnsiString __fastcall FloatToStrF(Extended Value, TFloatFormat Format, int Precision, int Digits); | 格式化浮點數輸出 |
| 函數 | 原型 | 說明 |
| Date | TDateTime __fastcall Date(void); | 當前日期 |
| Time | TDateTime __fastcall Time(void); | 當前時間 |
| Now | TDateTime __fastcall Now(void); | 當前日期時間 |
| DateTimeToString | void __fastcall DateTimeToString(AnsiString &Result, const AnsiString Format, TDateTime DateTime); | 按格式轉字符串 |
| DateToStr | AnsiString __fastcall DateToStr(TDateTime Date); | 日期 → 字符串 |
| TimeToStr | AnsiString __fastcall TimeToStr(TDateTime Time); | 時間 → 字符串 |
| DateTimeToStr | AnsiString __fastcall DateTimeToStr(TDateTime DateTime); | 日期時間 → 字符串 |
| StrToDate | TDateTime __fastcall StrToDate(const AnsiString S); | 字符串 → 日期 |
| StrToTime | TDateTime __fastcall StrToTime(const AnsiString S); | 字符串 → 時間 |
| StrToDateTime | TDateTime __fastcall StrToDateTime(const AnsiString S); | 字符串 → 日期時間 |
| DateTimeToSystemTime | void __fastcall DateTimeToSystemTime(TDateTime DateTime, _SYSTEMTIME &SystemTime); | 轉 Windows SYSTEMTIME |
| SystemTimeToDateTime | TDateTime __fastcall SystemTimeToDateTime(const _SYSTEMTIME &SystemTime); | Windows SYSTEMTIME → TDateTime |
本手冊涵蓋 VCL 核心運行時函數的六大類別,共 60+ 個常用函數。建議收藏備查,實際開發中結合 IDE 代碼提示(Ctrl+Space)可進一步提升效率。隨著 C++Builder 版本迭代,部分函數可能有增補或棄用,請以官方文檔為準。