外掛程式管理架構 for Delphi(一)

外掛程式技術的出發點主要是為了使軟體能夠靈活地進行擴充功能,而不需要對主程式(架構程式)進行重新編譯和發布。它的原理相當簡單。軟體的功能由架構程式和外掛程式來決定。在架構程式和外掛程式之間具有一個特定的介面,它們兩者須通過這個介面來傳遞資料或控制資訊,以實現軟體功能。因此,只要符合該介面的程式(或其他功能實體),就稱為該架構程式的外掛程式。外掛程式實體一般分為兩種,一種是包含邏輯的程式,比如動態庫、Exe程式等;另一種則是一組配置資訊。前一種方式多見於作圖軟體,媒體播放軟體,適合實現複雜的功能;

Delphi建立、讀取、存貯INI檔案的方法《一》

一、有必要瞭解INI檔案的結構:;注釋[小節名]關鍵字=值...INI檔案允許有多個小節,每個小節又允許有多個關鍵字,

delphi建立、讀取、存貯INI檔案的方法《二》

從.INI檔案中擷取字串varstrResult:pchar;beginGetPrivateProfileString(´windows´, // []中標題的名字´NullPort´, // =號前的名字´NIL´, // 如果沒有找到字串時,返回的預設值strResult, //存放取得字元100, //取得字元的允許最大長度´c:\forwin95\win.ini´ // 調用的檔案名稱);edit1.text:=strResult;

SQL2000中改名和刪除預設sa帳號的最安全方法

這個sa一般情況下是既不可以更改名稱,也不可以刪除,呵呵,有點雞肋的味道,棄置可惜,食之無味。在偶裝上 sql2000之後,感覺總之怪怪的,放著這個後門在,始終都不放心,擔心有一天被人破出密碼,那偶的電腦不就完拉,偶在黑道混拉那麼多天,要是傳出去,有損顏面啊。可能你回說設個強壯點的密碼,這個辦法是可行,可不是長久之記,所謂斬草要除根,要是把sa給刪拉就不用擔心那些"駭客"暴力破解拉。

delphi建立、讀取、存貯INI檔案的方法《三》

從.INI檔案中擷取字串   var   strResult:pchar;   begin   GetPrivateProfileString(   ´windows´, // []中標題的名字   ´NullPort´, // =號前的名字   ´NIL´, // 如果沒有找到字串時,返回的預設值   strResult, //存放取得字元   100, //取得字元的允許最大長度   ´c:\forwin95\win.ini´ // 調用的檔案名稱   );

巧用微軟EWF來保護系統

一、前期準備   1、安裝   下載EWF壓縮包,並把它解壓到一個非系統磁碟分割,比如E:\ewf。然後雙擊setup.bat進行安裝,或者在命令提示字元下輸入如下命令也可: Quote: E:   cd ewf   setup.bat   安裝完成系統會自動重啟。(圖1) 2、運行

Delphi中判斷檔案是否為文字檔的函數

在自己編寫文字檔讀取函數的時候,你首先會遇到的第一個問題就是:對於給定的一個檔案名稱,怎麼知道它所代表磁碟檔案的確是文字檔?這裡有一個很簡單的方法:把給定的那個檔案看作是無類型的二進位檔案,然後順序地讀出這個檔案的每一個位元組,如果檔案裡有一個位元組的值等於0,那麼這個檔案就不是文字檔;反之,如果這個檔案中沒有一個位元組的值是0的話,就可以判定這個檔案是文字檔了。這是原理,下面看看在Delphi 中怎樣編程來實現它-- 複製代碼 代碼如下:function

delphi 正弦曲線圖

本執行個體要在表單上直接繪製正弦曲線,為了防止視窗切換的過程中會輸出不完整的圖形,因此繪製圖形的關鍵代碼都放在了表單的OnPaint過程中,代碼如下:procedure TForm1.FormPaint(Sender: TObject);var x: Integer; y,a: Double;begin Canvas.Pen.Width:=3; Canvas.MoveTo(0,Trunc(self.ClientHeight/2)); for x := 0 to self.ClientWidth

擴充方法ToJSON() and ParseJSON()

使用例子: 複製代碼 代碼如下: protected void Page_Load(object sender, EventArgs e) { Person p = new Person { Name = "wuchang", Email = "wuchangx@qq.com", LastActive = DateTime.Now,

初探Delphi中的外掛程式編程

外掛程式結構的編程需要一個外掛程式容器來控制各DLL的運行情況,將劃分好的每個子系統安排到一個DLL庫檔案中。對每個DLL程式需要為容器預留介面函數,一般介面函數包括:啟動調用DLL庫的函數、關閉DLL庫的函數。通過介面函數,外掛程式容器可以向DLL模組傳遞參數實現動態控制。具體實現細節我將在下文說明並給出響應代碼。  您可能需要先瞭解一下DELPHI中UNIT的結構,工程的結構。本文沒有深入討論DLL編程的理論細節,只是示範了一些實用的代碼,我當時學習的是劉藝老師的《DELPHI深入編程》一書

個人經驗總結:網站被百度“拔毛”如何恢複?

我的網站從開始“拔毛”到恢複正常大概經曆了三個多月時間,沒有放棄終于堅持下來了。期間問過朋友,朋友說是正常周期現象,這一現象我個人認為是百度對一個站的考驗,能經得起考驗的站才算是一個好站,百度會更加喜歡。 現把我的經驗與大家分享下,協助那些被k了站,還在迷茫中的站長朋友們,希望能給他們帶來一點啟發。 挽救前提: 網站被百度“拔毛”,收錄頁面停留在二百左右頁,首頁始終還在。(如果哪位朋友網站被k光了,那真的只有重新來過。) 網站被拔原因:

怎樣追女孩(七大絕招 男生必看)

1.每天給她發一條簡訊,未必都是“我愛你”,但一定要表達出這個意思。最好是晚上估摸著她關機睡覺後再發過去,這樣,每天清晨一開機,她便能讀到你的良苦用心,心裡定像吃了蜜。永遠也不要以為甜言蜜語多餘,女人是最缺乏安全感的動物,直接的言語,是最能讓她獲得安全感的資訊。

Delphi Command模式

這個例子還是比較好理解的, 所以只給出代碼.unit pattern;interfaceuses Dialogs;type TAudioPlayer = class; TCommand = class public procedure execute; virtual; abstract; end; TPlayCommand = class(TCommand) private AudioPlayer: TAudioPlayer; public procedure

Linq to SQL Delete時遇到問題的解決方案

1.1、Code1:using (PubsDataContext pubsContent = new PubsDataContext()){ pubsContent.Log = Console.Out; Author author = pubsContent.Authors.Single(a => a.au_id == "111-11-1111"); pubsContent.Authors.DeleteOnSubmit(author);

qq防止別人登陸如何禁止別人登陸qq

即時通訊軟體QQ擁有越來越多的使用者,而QQ號也成為人們繼手機號之後又一主要連絡方式。但如果你不想讓你同事、同學、親戚和朋友利用你機器中的QQ神聊瞎侃和傳輸不良資訊,不妨試試如下方法:

delphi中一個值得大家來考慮的DLL問題

以下是我的原代碼:==========================================================================================DPR 單元代碼program Mdiform;uses Forms, UMdiform in ´UMdiform.pas´ {Mainform}, UDM in ´UDM.pas´ {GlobalDM: TDataModule}, UFun in ´UFun.pas´;{$R *.res}

FreeBSD 6.2 安裝全程圖解教程

1、採用迷你安裝。  2、安裝時啟用inetd,並在編輯inetd.conf檔案時,把帶有“ftp”的行前面的“#”號去掉。這樣作是為了以後安裝軟體時可以用ftp上傳檔案。  3、添加一個wheel組的使用者,這樣在系統工作正常後可以在windows系統上通過終端登入軟體(如SecureCRT)進行所有操作。  FreeBSD4.7在最小安裝時支援SSH終端登入,所以我們需要使用支援SSH協議的終端軟體,如SecureCRT。例如:我添加的使用者名稱是ylf,隸屬wheel系統組。系統產生一個使

外掛程式管理架構 for Delphi(二)

unit untDllManager;interfaceuses Windows, Classes, SysUtils, Forms;type EDllError = Class(Exception); TDllClass = Class of TDll; TDll = Class; TDllEvent = procedure(Sender: TObject; ADll: TDll) of Object; { TDllManager o 提供對 Dll 的管理功能; o

LINQ to SQL:處理char(1)欄位的方式會引起全表掃描問題

如果表中的欄位類型為 char(1) 時,Linq to SQL產生char (System.Char)的屬性,如表定義產生的實體2.如果要查詢LineCode=='A'的記錄,可以這樣定義Linq查詢語句var test1 = from p in db.ProductLines where p.LineCode =='A' select p;產生的SQL語句是這樣的SELECT [t0].[LineCode], [t0].[LineName],

AS3中的反射(速記) 分析

取類名: 傳進一個object,返回類的全名 var loader:URLLoader = new URLLoader( ); var className:String = getQualifiedClassName(loader); trace(className); // Displays flash.net.URLLoader 取父類的類名:傳進一個object,返回父類的類名 var loader:URLLoader = new URLLoader( ); var

總頁數: 61357 1 .... 2878 2879 2880 2881 2882 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.