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