第六章过程与函数.docVIP

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.1?? 过程Delphi的过程分为标准过程与自定义过程两种。 ??? 标准过程是指系统内部定义的过程,无须编写代码,即可直接使用。如第2章介绍的Delphi常用函数与过程 ??? 用户自定义过程则由用户自行编写代码以完成指定的操作,包括事件过程与通用过程两类。 ??? 事件过程依附于对象,是Delphi应用程序的主体,当该对象响应指定事件时被执行,事件过程也可以由其他过程调用而被执行。 ??? 通用过程告诉应用程序如何完成一项指定的任务。通用过程不与任何特定的事件相联系,只能由别的过程来调用。 ??? 建立通用过程的理由之一是,几个不同的事件过程也许要执行同样的动作。将公共语句放入分离开的过程(通用过程)并由事件过程来调用它,这样一来就不必重复代码,也容易维护应用程序。 本节主要讲授: 事件过程的创建与调用 通用过程的语法格式 通用过程的创建与调用 6.1.1?? 事件过程的创建与调用1 事件过程的创建 2 事件过程的调用 6-1】:在一个窗口中包含3个按钮,当用户单击其中一个时,要求其它个别按钮不能使用   1 事件过程的创建 在对象观察器(Object Inspector)中选择指定的对象,然后在事件(Events)选项卡中选择指定的事件名称,并用鼠标双击其右边的空白区域,Delphi将自动产生一个默认的事件过程。事件过程的名称是控件名加上事件类型名,如Button1控件的Onclick事件的默认事件过程名是Button1Click。 ??? 当用户对某一个对象发出一个动作时,Windows会通知Delphi产生一个事件,将自动到调用该对象与该事件相关的事件过程。即当对象对一个事件的发生作出认可时,Delphi便自动用相应于控件与事件的名字调用该事件过程。因为名字在对象和代码之间建立了联系,所以说事件过程上依附于对象上的。 ???? 另外,一个事件过程也可以被多个对象、多个事件共享。其方法为:首先为其中一个对象建立事件过程,然后在创建其它对象的事件过程时,从事件名称右边的下拉列表中选择已经建立的事件过程名即可。 ??? 共享了事件过程后,当其中任何一个事件发生时,事件过程都会被调用,这时可以根据Sender参数和TComponent类的Tag属性值来区分事件发生者,从而作出相应的处理。 6-1】:在一个窗口中包含3个按钮,当用户单击其中一个时,要求其它个别按钮不能使用,如下图: 单击Button1 单击Button2 单击Button3 分析:本例可以分别建立3个按钮的单击事件过程,也可以使用同一个事件过程来处理3个按钮的单击事件。假设:单击Button1使Button2不可用;单击Button2使Button1不可用;单击Button3使Button1和Button2都可用。 设计步骤如下: (1) 应用程序用户界面的建立与对象属性参见上图,注意三个按钮Button1,Button2,Button3的Tag属性分别为:0,1,2。 (2) 双击按钮Button1,系统自动声明默认的事件过程:Button1Click, 并同时打开代码编辑窗口。 (3) 编写Button1的OnClick事件过程代码: procedure TForm1.Button1Click(Sender: TObject); begin ? Case (Sender as TButton).Tag of ???? 0: Button2.Enabled:= False; ???? 1: Button1.Enabled:= False; ???? 2: begin ????????? Button1.Enabled:= True; ????????? Button2.Enabled:= True; ?????? end; ?? end; end; (4) 在对象观察器中依次选择Button2和Button3,并在事件选项卡中选择事件OnClick,从事件名称右边的下拉列表中选择已建立的事件过程名Button1Click。 (5) 单击标准工具栏中的“Run”按钮或按F9键,运行工程。 程序下载 2 事件过程的调用 ??? 可以在过程代码中调用已经创建的事件过程。如在例6-1中,为Button3按钮创建独立的OnClick事件过程来调用已经存在的Button1Click事件过程: procedure TForm1.Button3Click(Sender: TObject); begin ? Button1Click(Sender); end; 上述调用语句中的实际参数Sender还可以改为Button3,即:Button1Click(Button3); 6.1.2? ?? 通用过程的语法格式通用过程在调用之前必须首先定义,定义一个通用过程也

文档评论(0)

wwvfz702 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档