Cornelius Concepts,LLC提供的一些有用的Delphi單元和組件。
該庫包含我開發的單元和組件,這些單元和組件在許多情況下派上用場。但是它們不僅僅是有用的 - 他們也教書。有評論和样本,並且組件顯示瞭如何編寫Delphi組件的幾個方面,例如運行時和設計時間之間的軟件包分離,如何集成組件通過右鍵單擊組件來激活組件,甚至集成到Delphi的Splash屏幕和附近。
只需將此組件放在表單上,然後在打開時將其大小和位置自動保存即可。另外,使用方便的方法保存其他值。有兩個變體:
這兩個組件都有默認設置可以在適當的地方保存文件或註冊表設置,並根據表單的名稱創建密鑰或部分。因此,您可以快速,輕鬆地將這些組件之一放在每種形式上。
借助保存/還原整數,字符串和布爾值的其他方法,它使記住簡單的用戶數據非常容易:
- procedure SaveStrValue(const Name:string;const Value:string);
- procedure SaveIntValue(const Name:string;const Value: Integer);
- procedure SaveBoolValue(const Name:string;const Value: Boolean);
- function RestoreStrValue(const Name:string; const Default: string = ''):string;
- function RestoreIntValue(const Name:string; const Default: Integer = 0): Integer;
- function RestoreBoolValue(const Name:string; const Default: Boolean = False): Boolean;
該組件包括幾年前迪爾·尼爾(Neil)在dbisam新聞集中的某人撰寫的例程。變成一個組件,將其連接到某些鍵盤和鼠標窗口掛鉤上,以查看計算機上的不活動,並彈出帶有倒數計時器的消息以關閉應用程序。一個用例是一個2層數據庫應用程序,它將文件和記錄打開。
該組件從Delphi 10.3 Rio版本中刪除,以使用Delphi的Tstopwatch類。
這是一個非常簡單的組件,它隱藏了正時操作的細節。只需致電啟動,做您的工作,然後致電停止,您將擁有以下可用屬性:
此組件不會檢查時區(如果在移動設備上使用)或帳戶節省時間的時間。它是為相當短的操作(不到一個小時)而設計的。
以下組件僅通過Delphi XE支持,並從較新的軟件包中刪除。
很久以前,我使用了Infopower套件的組件套件,這些組件具有非常不錯的增量搜索組件,該組件將在您輸入時列出匹配記錄。我將該組件構成了這個想法,但還添加了用戶定義的按鈕和許多其他功能。我還使用了Raize控件來獲得一些額外的顯示功能,並將其非常緊密地綁定到DBISAM數據庫組件。從那時起,它是針對一個特定項目的,但是我使用了它,並且在其他項目中使用了它(例如將DBISAM升級為升高組件切換為升高組件)。
這可能是一個有趣的組件,因為這是如何構建複合組件的一個很好的例子。
這是為了支持一個舊項目的書而寫的,這允許簡單地合併名稱=價值對與定義者。棄用使用TSTSTRINGLIST。
提供快速簡便的記錄到文本文件。棄用是因為首選較新的庫和記錄方法。
彈出模式窗口中的簡單文本文件查看器。
最後,關於獨立單位的一句話。
該文件夾包含兩個單元,udmcustomwebgenerator和udmdbisamwebgenerator。它們是數據模塊,第一個是一個基類,上面有幾個Weberker組件,TPAGEPRODER和TDATASETTABLEPROPRODUCER。這些是在內容管理系統(CMS)流行之前寫的,我試圖將Delphi用於我所有的網絡開發。事實證明,對於大型項目而言,它的工作要比值得更多,現在有大量出色的Web工具,因此不再使用了很多。但是,仍然有偶爾的任務發現這些例程有用,因此我將其圍繞。
這些類通過在HTML標籤和數據庫之間的鏈接中構建來擴展網絡經紀實用性。我以這種方式使用的唯一數據庫是DBISAM。我已經有好幾年了,我還沒有使用DBISAM,所以我不知道它是否仍然編譯,但它確實表明瞭如何滿足您的特定需求。
請閱讀代碼中的評論以獲取更多信息。
“ MISC”文件夾包含三個單元(稍後可以添加更多): USEARCHRECLIST , UXMLDATES和UTESTUTILS 。
第一個, usearchReclist ,包含幾個過程類型聲明和一個過程:getSearchRecs。
TPathStatusProc = reference to procedure (const Path: string; var Stop: Boolean);
TFileFoundProc = reference to procedure (FileInfo: TSearchRec);
procedure GetSearchRecs(const Path, Pattern: string; const Recursive: Boolean; PathStatusProc: TPathStatusProc; FileFoundProc: TFileFoundProc);
getSearchRecs遍歷一個目錄樹,尋找與模式匹配的文件,並為每個找到與模式匹配的文件呼叫pathstatusproc。
這是一個示例調用,它將刪除舊日誌文件:
GetSearchRecs(LogFolder, '*.log', False, nil,
procedure (FileInfo: TSearchRec)
begin
if FileInfo.TimeStamp < Now - 90 then
FileDelete(TPath.Combine(LogFolder, FileInfo.Name), True);
end);
第二個單元uxmldates使得可以輕鬆地使用XML文件中的日期。常見格式是:yyyy-mm-dd“ t” hh:mm:ss,但是方法轉化為todeDelphidateFromxml,可以在沒有時間部分的情況下取一個字符串。
第三個單元utestutils提供了一些在一些項目中使用的一些功能,在這些項目中,我需要生成測試數據,例如日期,時間,數字,付款類型等。它們很方便。