2022年数据库应用基础面向对象程序设计基础实验之实验报告 .pdf
四、实验 5 报告1实验过程报告(1)写出第 1 题“判断”按钮和“退出”按钮的Click事件代码。答:“判断”按钮的Click事件代码为:M=VAL(THISFORM.TEXT1.VALUE) IF INT(M/2)=M/2 THISFORM.TEXT2.VALUE= 是偶数 ! ELSE THISFORM.TEXT2.VALUE= 是奇数 ! ENDIF THISFORM.TEXT1.SETFOCUS THISFORM.REFRESH “退出”按钮的 Click事件代码为: THISFORM.RELEASE (2)写出第 2 题表单的 Init事件和“确定”按钮的Click事件代码。答:表单的 Init事件代码为:THISFORM.TEXT1.VALUE=0 THISFORM.TEXT2.VALUE=0 THISFORM.TEXT3.VALUE=0 THISFORM.COMMAND1.DEFAULT=.T. THISFORM.TEXT1.SELECTONENTRY=.T. THISFORM.TEXT2.SELECTONENTRY=.T. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - THISFORM.TEXT3.SELECTONENTRY=.T. “确定”按钮的 Click事件代码为: A=THISFORM.TEXT1.VALUE B=THISFORM.TEXT2.VALUE C=THISFORM.TEXT3.VALUE D=B*B-4*A*C P=-B/(2*A) IF D0 X1=复数根 X2=复数根 ELSE X1=ALLTRIM(STR(-B+SQRT(D)/(2*A),19,2) X2=ALLTRIM(STR(-B-SQRT(D)/(2*A),19,2) ENDIF THISFORM.TEXT4.VALUE=X1 THISFORM.TEXT5.VALUE=X2 THISFORM.REFRESH THISFORM.TEXT1.SETFOCUS (3) 写出第 3 题“抽奖”表单的 Init事件,计时器的 Timer 事件,以及“开始”按钮和“停止”按钮的Click事件代码。答:“抽奖”表单的Init事件代码为:THISFORM.TIMER1.ENABLED=.F. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - THISFORM.TEXT1.VALUE=以职工号和姓名抽奖 SET DELETE ON 计时器的 Timer 事件代码为:SKIP IF EOF() GO TOP ENDIF THISFORM.TEXT1.VALUE=职工号 + + 姓名THISFORM.REFRESH “开始”按钮的Click 事件代码为 : THISFORM.TIMER1.ENABLED=.T. THISFORM.TEXT1.FORECOLOR=RGB(0,0,0) THISFORM.REFRESH “停止”按钮的 Click事件代码为:THISFORM.TIMER1.ENABLED=.F. THISFORM.TEXT1.FORECOLOR=RGB(0,0,255) DELETE THISFORM.REFRESH (4) 写出第 5 题 “汉字时钟”表单的 Init事件和计时器的 Timer 事件代码。答:“汉字时钟”表单的Init事件代码为:WITH THISFORM .S=THISFORM.SZZH(SUBSTR(TIME(),1,2) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - .F=THISFORM.SZZH(SUBSTR(TIME(),4,2) .M=THISFORM.SZZH(SUBSTR(TIME(),7,2) ENDWITH THISFORM.TEXT1.VALUE=THISFORM.S+时+THISFORM.F+ 分+THISFORM.M+ 秒 THISFORM.REFRESH 计时器的 Timer 事件代码为:THISFORM.INIT THISFORM.REFRESH 2简答题(1)解释属性 FontName 、FontSize 、FontBold 、ForeColor 、Caption 、Interval、Name 、ReadOnly、SelectOnEntry 、Default的含义。答:FontName :指定显示文本时所用的字体名(字型);取值范围:字库中所有字体,默认为宋体。FontSize :指定显示文本时字体的大小(字号);取值范围:自然数,默认值为 9。FontBold :指定现实文本时是否为粗体; 取值范围:.T. 或.F. (默认)。ForeColor :指定对象中显示文本和图形的前景色;取值范围:RGB(0,0,0 )RGB (255,255,255 )。Caption :指定显示在对象中的标题文本;取值范围:字符串。Interval:Timer 事件之间的时间间隔;取值范围:以毫秒为单位,默认 0,范围 02147483647。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - Name :指定在代码中用以引用对象的名称。ReadOnly:指定控件是否只读;取值范围:.T.,.F.(默认)。SelectOnEntry : 当控件得到焦点后是否选中该单位;取值范围:.T.,.F.(默认)。Default :指定命令按钮是否为默认按钮;取值范围:.T. (按 Enter键触发此按钮)或 .F. (默认)。(2)说明 Init、Timer、Click 事件的触发时机。答:Init由程序代码触发。如:在表单的INIT 事件代码中有命令:THISFORM.COMMAND1.CLICK,则当程序执行到这条命令时,命令按钮COMMAND1的 CLICK事件被触发。这也可以理解为“事件可以像方法一样被调用”。表单中所有控件的 INIT 事件是在表单的INIT 事件之前执行的,所以在表单显示以前,就可以在表单的INIT 事件代码中处理表单上的任意一个控件。 TIMER 由系统触发。如:计时器的TIMER事件代码是在设置的时间间隔到了以后由系统自动触发的。 CLICK由用户触法,当用户做了事件这个动作时,包含在该事件中的过程代码将被执行。如:当用户单击命令按钮时,命令按钮的CLICK事件代码将被执行;当用户改变列表框的值时,列表框的INTERACTIVECHANGE事件被触发。注意:在后面两种情况下,如果控件的ENABLED 属性被设置为假( .F. ),则控件不会响应用户或系统的任何触发动作。(3)说明 Refresh 、Release、SetFocus 方法的功能。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - 答:Refresh :格式: 表单集 . 对象 . ,功能说明:重新绘制表单或控件,并刷新它的所有值。当表单被刷新时,表单上的所有控件也都被刷新。当页框被刷新时,只有活动页被刷新。例如:THISFORM.REFRESH。Release:格式:对象 .RELEASE, 功能说明:从内存中释放表单集或表单。例如: THISFORM.RELEASE。SetFocus:格式:控件 .SETFOCUS,功能说明:为一个控件指定焦点,即确定当前操作的对象。如果一个控件的ENABLE 属性值或 VISIBLE 属性值为.F. ,将不能获得焦点。例如:THISFORM.TEXT1.SETFOCUS。3实验完成情况及存在问题。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -