程式設計技術點滴一(Delphi)

cnbragon發表於2006-08-06

 1.   用了KOL後,如果想點選某一Button後退出程式,可以用

      Form.Close();

      而不是Close; 因為Close是呼叫Delphi的System unit的,在KOL中不能使用。

 2. 查詢一個鍵值,直接呼叫RegQueryValue就可以了,不需要先呼叫RegCreateKey,RegOpenKey之類的API

 3. DEC在Delphi7中安裝的時候,要修改DECReg.pas中以下的內容:

     uses
  DECConst, DECUtil, Hash, Cipher, HCMngr, SysUtils, Classes, DsgnIntf,Cipher1, RFC2289

      uses
  DECConst, DECUtil, Hash, Cipher, HCMngr, SysUtils, Classes, DesignIntf,DesignEditors, Cipher1, RFC2289

4. DEC中的雜湊函式的使用方法有兩種:

(一)、將Palette上DEC中的HashManager(HCMngr)拖到Form上,這樣會自動生成一個THashManager的變數的定義:HashManager1: THashManager;然後在某個procedure中,此物件就不需要再呼叫create建構函式了,可以直接使用,如下:

 

  HashManager1.Algorithm:='Secure Hash Algorithm 1';
  HashManager1.CalcString(
'cnbragon');
  Edit1.Text:
=HashManager1.DigestString[fmtHEX];

 

(二)、在函式中定義THashManager變數,然後呼叫create來構造,如下:

 

procedure TForm1.Button1Click(Sender: TObject);
var
  HM2:THashManager;
begin
  HM2:
=THashManager.Create(nil);
  HM2.Algorithm:
='Ripe Message Digest 160';
  HM2.CalcString(
'cnbragon');
  Edit2.Text:
=HM2.DigestString[fmtHEX];
  HM2.Free;
end;

其餘的如CipherManager都是一樣的,都有這兩種方法。但是使用CipherManager的時候要注意cipher的operation mode

5. 注意DEC在DECUtil.pas中定義的format:

 

const
// String Formats
  fmtDEFAULT     =    -1;     // use DefaultStringFormat
  fmtNONE        =     0;     // allways an Empty String, nothing Action
  fmtCOPY        =     1;     // One to One binary (input = output)
  fmtHEX         =    16;     // Hexadecimal
  fmtHEXL        =  1016;     // Hexadecimal lowercase
  fmtMIME64      = $1064;     // MIME Base 64
  fmtUU          = $5555;     // UU Coding  $5555 = 'UU'
  fmtXX          = $5858;     // XX Coding  $5858 = 'XX'

其中fmtCOPY是以二進位制的形式表示的

 

6.

CnWizards 在 Delphi / C++Builder / BDS 的 IDE 中提供了十多個可獨立設定的
子專家,數十種功能,主要包括:

  * 程式碼輸入助手
  * 增強的單元窗體列表功能
  * TabOrder 設定專家
  * 窗體設計器的浮動工具欄
  * MSDN 幫助整合功能
  * 程式碼編輯器工具欄與功能擴充套件
  * 工程相關的擴充套件功能
  * 元件皮膚多行顯示支援
  * 窗體置頂與摺疊功能
  * 原始碼統計功能
  * 引用單元清理
  * 其他大量增強與改進

下載網址:http://www.cnpack.org/showdetail.php?id=493&lang=zh-cn

 

7.

kol & mck 在delphi 2007中使用有不少問題,比如缺少Proxies.dcu, DockForm.dcu,很煩,最後還是換回delphi7

但在d7中也出現了找不到proxies.dcu的問題,按照下面這個帖子裡的第1條解決方法 解決了(即手動新增Proxies.pas),第2種解決不了

http://www.delphibbs.com/keylife/iblog_show.asp?xid=29204

相關文章