编程技术点滴一(Delphi)

发布者:cnbragon
发布于:2006-08-06 05:04

 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


声明:该文观点仅代表作者本人,转载请注明来自看雪