应用基础知识综合练习 下载本文

thisform.text1.Value=\ thisform.text2.Value=\ thisform.text3.Value=\ thisform.text4.value=\ thisform.text1.SetFocus ELSE

MESSAGEBOX(\密码不正确或两次输入密码不一致,请重新输入\系统提示\ thisform.text2.Value=\ thisform.text3.Value=\ thisform.text2.SetFocus ENDIF ELSE

MESSAGEBOX(\用户名\不存在,请确认重新输入\系统提示\ thisform.text1.setfocus thisform.text1.SelStart=0

thisform.text1.SelLength=LEN(ALLTRIM(thisform.text1.Value)) thisform.text2.Value=\ thisform.text3.Value=\ ENDIF ENDIF

退出中写入:thisform.release

1. 在给定“学生.DBF”表文件中包含有“学号”、“姓名”字段,对学号编制一个抽奖表单。要求,不能有重复中奖学生。程序运行时,字号在文本框中显示,用标签显示中奖学生的学号、姓名。应有“开始”、“抽取”、“退出”控件。建议表单(Form1)包括的控件是:一个文本框(Text1)、两个标签(Label1、Label2)、三个按钮(Command1、Command2、Command3)和一个计时器(Timer1)。

单击“选中”界面 表单设计界面

请编写:

(1) 表单Form1的Init事件代码:

this.text1.value=\学生学号\ &&文本框显示初值“学生学号” this.label2.visible=.f. &&标签label2不可见 this.timer1.enabled=.f. &&计时器timer1不可用

this.timer1.interval=10 &&计时器时间间隔为10/1000秒(即0.01秒)

13

(2) “开始”按钮Command1的Click事件代码:

set delete on &&隐藏已加入删除标记的记录 thisform.timer1.enabled=.t. &&使计时器可用 thisform.label2.visible=.f. &&标签label2不可见

(3) “选中”按钮Command2的Click事件代码:

thisform.timer1.enabled=.f.

thisform.label2.caption=\中奖学生是:学号 \ 姓名\姓名 thisform.label2.visible=.t. delete

(4) “退出”按钮Command3的Click事件代码: recall all &&恢复已做删除标记的所有记录 thisform.release

(5) 计时器(Timer1)的Timer事件代码: if !eof() &&如果不到记录尾

skip &&跳到下一记录,频率由Timer值决定。 Else &&如果已到记录尾 go top &&跳到第一条记录 endif

thisform.text1.value=alltrim(学号) &&显示学生的学号 thisform.refresh

1. 编程实现学生退学的功能。学生退学时不但要删除Xsda.dbf中的记录,而且要删除Xscj.dbf和Xsxk.dbf中的记录。

SET TALK OFF SET SAFETY OFF

SET EXCLUSIVE ON &&独占打开数据表 SELECT 1 USE Xsda SELECT 2 USE Xscj SELECT 3 USE Xsxk SELECT 1 DO WHILE .T. CLEAR

ACCEPT \输入学号:\

14

SELECT 1

______ IF FOUND() DELETE SELECT 2

DELETE FOR 学号=MXH SELECT 3 ______ ELSE

MESSAGEBOX(\无此学号!\ ENDIF

WAIT \继续否?(Y/N)\ IF UPPER(T)= \ EXIT ENDIF ENDDO SELECT 1 PACK SELECT 2 PACK SELECT 3 PACK

CLOSE ALL SET TALK ON

15