编程技术点滴一(Delphi)

 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

KOL是一套对象库,免费而且开放源代码。它能够使Delphi编出尺寸非常小的32位Windows图形用户界面的应用程序。 使用KOL编写的最小图形界面程序(只有一个窗体的空应用程序),只有20K左右。 MCK是一套以KOL为基础的可视化组件,用它就像用VCL一样的方便省事而且可以达到和KOL一样的效果。 KOL和MCK的安装 1、把KOL和MCK解压到你自已想要的目录中。 2、运行Delphi选择Tools菜单->Environmaent Options...->Library页,选择"Library Path"右边的按钮会弹出"Directories"对话框,然后添加KOL和MCK的路径。 3、双击MCK目录中对应版本的包文件安装。 如何创建一个KOL工程 1、在Delphi中新建一个应用程序,然后保存(这一步一定要做),保存时工程名一定不要改变,窗体名可以随便。 2、在控件面板KOL中放一个TKOLProject控件到窗体并设置projectDest属性为你想要的工程名比如说是"ssss",再把dprResource属性设为真(这关系到你能不能用Project-> Options...中的设置设置你的程序图标以及程序的版本号)。 3、在控件面板KOL中放一个TKOLForm控件到窗体,保存并关闭当前工程。 4、这时候你就会在保存目录中发现一个名为"ssss.dpr"的工程,聪明的你可能会想到 Project1这个工程不再需要了,是的你可以毫不留情的删掉它(其它的就不要删了)。打开ssss.dpr,运行它,看看生成的程序,怎么样?只有28K!再用UPX压缩一次,最终可以得到15K!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值