首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

BCB/Delphi 核心運行庫函數速查手冊(ActnList、Classes、Clipbrd)

     編輯:VC 教學

前言

本文整理自早期翻譯筆記,涵蓋 ActnList、Classes、Clipbrd 三個核心單元的常用函數/過程/變數。雖年代久遠,但這些 API 在維護舊專案、理解 VCL 內部機制時仍具參考價值。筆者水平有限,請以官方文檔為準。

一、ActnList 單元:動作清單管理

名稱類型用途
CreateActionFunction建立指定類型的 Action,顯示在 Action List 編輯器中
EnumRegisteredActionsProcedure列舉已註冊的 Action 類別
RegisterActionProcedure註冊自訂 Action 類別
UnRegisterActionProcedure取消註冊 Action 類別

二、Classes 單元:核心工具函數大全

幾何結構輔助

函數參數/回傳說明
Point(X, Y)→ TPoint由座標快速建立點結構
Rect(Left, Top, Right, Bottom)→ TRect由四邊建立矩形
Bounds(ALeft, ATop, AWidth, AHeight)→ TRect由左上角寬高建立矩形

類別註冊與 RTTI

名稱類型用途
RegisterClass(cls)Procedure註冊 TPersistent 衍生類,使其可被流式存取、識別
RegisterClasses([cls1, cls2])Procedure批次註冊類別陣列
UnregisterClass(cls)Procedure取消註冊單一類別
GetClass('ClassName')→ TPersistentClass依名稱取得已註冊類別引用
FindClass('ClassName')→ TPersistentClass同上,若不存在回傳 nil

元件/資源流式操作

名稱說明
ReadComponentRes(ResName)從資源讀取元件及屬性
WriteComponentResFile(FileName, Component)將元件及屬性寫入資源檔
ObjectBinaryToText(Stream)二進位物件流轉文字
ObjectTextToBinary(Stream)文字物件流轉二進位
ObjectResourceToText / ObjectTextToResource資源與文字互轉

集合與比較

  • CollectionsEqual(Col1, Col2):比較兩個 TCollection 內容是否相等。
  • CurrentGroup:當前註冊群組變數(設計時期使用)。
  • FindGlobalComponent:取得最上層容器元件(如 Application)。
  • LineStart(P):回傳下一行起始字元指標。

整數常數與非 ActiveX 註冊

  • RegisterIntegerConsts、RegisterNoIcon、RegisterNonActiveX、UnregisterModuleClasses:進階設計時期註冊控制。

三、Clipbrd 單元:剪貼簿封裝

名稱類型說明
ClipboardFunction回傳全域 TClipboard 實例
SetClipboard(NewClipboard)Procedure替換全域剪貼簿物件(罕用)

常用模式:Clipboard()->AsText := 'Hello'; / s := Clipboard()->AsText;

四、使用建議

  1. 優先使用 IDE 代碼完成(Ctrl+Space)查看最新簽名,勿死記硬背。
  2. 涉及流式存取(Read/WriteComponentRes*)時,確保類別已 RegisterClass 且具 published 屬性。
  3. 幾何函數(Point/Rect/Bounds)屬內聯小函數,大量呼叫無效能負擔。
  4. 跨模組(BPL/DLL)共享類別時,務必在雙方同步呼叫 RegisterClass,否則 RTTI 失效。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved