当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 在Delphi的数据集控件中,提供了类似关系数据库管理系统中触发器功能的事件机制----"触发器类"事件。
 

 

 ·利用系统图象列表    »显示摘要«
    摘要:假如你需要存取win95的系统图象列表,这里给出具体方法。第一个函数将系统图象列表的索引保存到一个特殊类型的文件中: function getfileicoindex(filename:string):integer; var ext: string; shfileinfo: tshfileinfo; begin ext := filename; shgetfileinfo(pcha......
    摘要:吴淑华 为了更有效地利用显示器的空间,多数程序员都有过这样的经验,即通过windows任务栏属性对话框,在“任务栏选项”页中将任务栏设置为“自动隐藏”,并且为了在需要任务栏时操作方便,选择任务栏“总在最前”。完成上述设置后,当程序员编辑文档或编写代码时,任务栏会自动隐藏,增加了显示器的可利用空间;而当程序员需要操作任务栏时,只需将鼠标移动到任务栏所在位置的显示器边缘上,这时任务栏就会自动出现。但......


Delphi”程序级触发器”功能的实现
    在delphi的数据集控件中,提供了类似关系数据库管理系统中触发器功能的事件机制----"触发器类"事件.灵活使用数据集控件的此类事件,能够实现"程序级的触发器"功能,以加强数据的完整性检验.

【程序编程相关:编写支持多国语言的程序

【推荐阅读:DELPHI编程实现3DS的动画播放

  以delphi中表数据集为例,其相应的"触发器类"事件: 【扩展信息:CORBA技术及在Delphi中的实现

  事件名称 说明

  beforeinsert, afterinsert 插入记录前后调用的事件

  beforeedit, afteredit 编辑前后调用的事件

  beforepost, afterpost 保存数据前后调用的事件

  beforedelete, afterdelete 删除前后调用的事件

  beforecancel, aftercancel 取消编辑前后调用的事件

  beforeopen, afteropen 打开数据集前后调用的事件

  beforeclose, afterclose 关闭数据集前后调用的事件

  onnewrecord 新记录产生时调用的事件

  oncalcfield 当计算字段被计算时调用的事件

  onfilterrecord 启动过滤后,数据集内每条记录都调用此事件

  事件使用举例:

  1. 更改delphi中dbnavigator控件默认的删除对话框

  设置dbnavigator的confirmdelete属性为false,在table控件的beforedelete事件中编写如下代码:

  if application.messagebox(确实要删除当前记录吗?, 删除 确认, mb_yesno + mb_iconwarning)                <> id_yes then

   abort; file://利用哑异常阻止删除事件发生

  2.在记录保存前检验数据的完整性,以及连锁更新相关表中的数据,实现数据完整性检验可通过表数据集控件的beforepost事件检验:

  file://getnowcardmount为自定义函数(举例),假设其取得当前凭证的实际库存量

  if table1.fieldbyname(outcardmount).asinteger > getnowcardmount then  


...   下一页
 ·避免驱动器a没有准备好错误    »显示摘要«
    摘要:当你的程序存取a驱动器时,可能会被drive not ready系统错误所中断,可以使用下面的函数来测试驱动器,以避免这种情况发生,代码如下: function diskindrive(drive: char): boolean; var errormode: word; begin drive: = upcase(drive); if not (drive in [a..z]) th......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE