15.某"抽奖"表单上有2个标签、1个文本框、1个计时器、2个命令按钮和1个列表控件,其数据环境中有一自由表gztable,该表有两个字段:TEL(字符型,用于存储参与者的手机号码)和YN(逻辑型,其值为.T.时表示该参与者被抽中)。在表单设计器中设计表单时,表单如图1所示:表 (暂缺图) 单运行后单击"开始"命令按钮,命令按钮标题改为"停止",且启用计时器控件使得文本框中循环显示gztable表中的手机号码,单击"停止"命令按钮时表单显示如图2所示(计时器控件废止)。
(2)根据图1和图2所示的表单,表单及各控件的事件代码设置分别为:
● 表单的Init事件代码为:
THISFORM.Textl.ControlSource= ()
REPLACE ALL yn WITH.F.
GOTOTOP
"开始"命令按钮Click事件代码为:
IF THIS.Caption=’开始’
LOCATE FOR !yn
THISFORM.Timer1.Enabled=.T.
THIS.Caption=’停止’
ELSE
THISFORM.Timer1.Enabled=.F.
THIS.Caption=’开始’
THISFORM.Listl. ()(THISFORM.Text1.value)
REPLACE yn with .T.
ENDIF
THISFORM.Refresh
计时器的Timer事件代码为:
CONTINUE
IF ()
LOCATE FOR !yn
ENDIF
THISFORM.Refresh
"退出"命令按钮(标题为图片)的功能是将获奖名单复制到Excel文件中,然后关闭表
单。其Click事件代码为:
COPY TO 获奖名单 XLS FOR ()
THISFORM.Release