4.2 系统表单的实现 copyright paper51.com 1.用户界面表单(pass.scx) 此表单的数据环境设置为user表。 内容来自www.paper51.com
该表单运行时的窗体如下: copyright paper51.com 图4.2 paper51.com
控件和事件: 内容来自www.paper51.com 新建一表单,命名caption属性为系统登录,在该表单上添加6个标签控件lable,其captiong属性分别设置为“学生成绩管理系统” 、“开发者:蔡娜” 、“2005年5月” 、“用户名” 、“口令”及“当前日期”。然后在表单上添加三个文本框控件Text,分别用来输入用户名,用户口令,以及当前日期。最后添加两个命令按钮command,其caption属性分别为“确定”和“退出”。 内容来自论文无忧网 www.paper51.com
添加“form1”的“Unload”事件代码如下: copyright paper51.com RETURN flag 内容来自www.paper51.com RELEASE n,flag copyright paper51.com 添加“from 1”的“Init”事件代码如下: 内容来自www.paper51.com PUBLIC n,flag 内容来自论文无忧网 www.paper51.com n=1 内容来自论文无忧网 www.paper51.com thisform.text3.Value=DATE( ) 内容来自www.paper51.com 在“command1”控件的“click”事件中添加代码如下: 内容来自www.paper51.com rq=thisform.text3.value copyright paper51.com IF (n>2) paper51.com =MESSAGEBOX("口令三次输入错误,不能使用本系统",48,"信息提示") paper51.com
flag=.F. copyright paper51.com THISFORM.RELEASE 内容来自www.paper51.com
ELSE paper51.com
SELECT user 内容来自www.paper51.com LOCATE FORusename=ALLTRIM(thisform.text1.Value) AND usepass=ALLTRIM(thisform.text2.Value) 内容来自www.paper51.com IF FOUND() 内容来自论文无忧网 www.paper51.com flag=.T. paper51.com ulevel=uselevel 内容来自论文无忧网 www.paper51.com THISFORM.RELEASE copyright paper51.com ELSE paper51.com =MESSAGEBOX("用 户 名 或 口 令 不 正 确, 重 新输 入",48,"信息提示") copyright paper51.com THISFORM.TEXT1.VALUE="" paper51.com n=n+1 内容来自论文无忧网 www.paper51.com THISFORM.TEXT1.SETFOCUS paper51.com
ENDIF copyright paper51.com ENDIF copyright paper51.com 在“command2”控件的“click”事件中添加代码如下: paper51.com
thisform.Release 内容来自论文无忧网 www.paper51.com (注:下面的表单构建将只介绍主要的控件和事件,其它的将不再赘述) 内容来自论文无忧网 www.paper51.com 2、设置学生专业的表单(setprof.scx) copyright paper51.com 此表单的数据环境为prof表。 http://www.paper51.com 该表单运行时的窗体如下: 内容来自www.paper51.com
图4.3 http://www.paper51.com 控件和事件: http://www.paper51.com 添加“form1”的“Activate”事件的代码如下: copyright paper51.com IF RECCOUNT()=0 http://www.paper51.com this.command2.Enabled=.F. 内容来自www.paper51.com ELSE copyright paper51.com this.command2.Enabled=.T. copyright paper51.com
ENDIF copyright paper51.com thisform.Refresh 内容来自论文无忧网 www.paper51.com
thisform.grid1.SetFocus http://www.paper51.com 添加“form1”的“Init”事件的代码如下: 内容来自www.paper51.com
PUBLIC f,flag copyright paper51.com 在“添加”命令按钮控件command1的“click”事件中添加代码如下: paper51.com f="" 内容来自论文无忧网 www.paper51.com flag=1 &&表示添加专业 内容来自www.paper51.com
DO FORM setprof1 内容来自论文无忧网 www.paper51.com
在“修改”命令按钮控件command2的“click”事件中添加代码如下: copyright paper51.com f=zy 内容来自www.paper51.com flag=2 &&表示修改专业 paper51.com DO FORM setprof1 http://www.paper51.com 在“退出”命令按钮控件command3的“click”事件中添加代码如下: 内容来自www.paper51.com SELECT prof http://www.paper51.com thisform.Release copyright paper51.com
RELEASE f,flag 内容来自论文无忧网 www.paper51.com CLOSE DATABASESall 内容来自论文无忧网 www.paper51.com 本表单添加了一个表格控件grid1,其属性里RecordSourse应设置为prof,并且列column1的属性里RecordSourse应设置为prof.zy。 内容来自论文无忧网 www.paper51.com 3、添加或修改学生专业的表单(setprof1.scx) paper51.com 该表单的数据环境为空。为setprof表单所调用。 内容来自www.paper51.com 图4.4 copyright paper51.com 控件和事件: paper51.com 添加“form1”的“Init”事件的代码如下: 内容来自论文无忧网 www.paper51.com
IF flag=1 内容来自www.paper51.com
this.Caption="添加新专业" copyright paper51.com ELSE copyright paper51.com this.Caption="修改原专业" paper51.com ENDIF 内容来自论文无忧网 www.paper51.com this.text1.value=f 内容来自论文无忧网 www.paper51.com
在“确定”命令按钮控件command1的“click”事件中添加代码如下: paper51.com IF flag=1 paper51.com SELECT prof copyright paper51.com APPEND BLANK http://www.paper51.com ENDIF paper51.com
REPLACE zy WITHthisform.text1.Text copyright paper51.com thisform.Release copyright paper51.com 在“取消”命令按钮控件command2的“click”事件中添加代码如下: 内容来自论文无忧网 www.paper51.com thisform.Release 内容来自www.paper51.com
4、设置学生班号的表单(setclass.scx) http://www.paper51.com
该表单的数据环境为prof和classn表。 paper51.com 图4.5 内容来自论文无忧网 www.paper51.com 控件和事件: paper51.com 添加“form1”的“Init”事件的代码如下: 内容来自论文无忧网 www.paper51.com
PUBLIC f1,f2,f3,flag 内容来自论文无忧网 www.paper51.com
thisform.cmdclass.Enabled=.F. paper51.com thisform.command1.Enabled=.F. 内容来自论文无忧网 www.paper51.com SELECT classn http://www.paper51.com SET FILTER TO .F. 内容来自www.paper51.com 添加“form1”的“Refresh”事件的代码如下: 内容来自论文无忧网 www.paper51.com thisform.command2.Enabled=.F. copyright paper51.com thisform.command3.Enabled=.F. 内容来自www.paper51.com 添加“form1”的“Activate”事件的代码如下: 内容来自www.paper51.com thisform.Refresh 内容来自www.paper51.com thisform.grid1.SetFocus paper51.com 在列表框控件“list1”的“click”事件中添加代码如下: http://www.paper51.com thisform.cmdclass.Enabled=.T. 内容来自论文无忧网 www.paper51.com 在“添加”命令按钮控件command1的“click”事件中添加代码如下: copyright paper51.com
f1=thisform.list1.value paper51.com f2="" 内容来自www.paper51.com f3=YEAR(DATE()) http://www.paper51.com flag=1 &&添加操作 paper51.com
DO FORM setclass1 paper51.com 在“修改”命令按钮控件command2的“click”事件中添加代码如下: copyright paper51.com SELECT classn 内容来自论文无忧网 www.paper51.com f1=zy http://www.paper51.com
f2=bh 内容来自论文无忧网 www.paper51.com f3=rxnf http://www.paper51.com flag=2 &&修改操作 内容来自论文无忧网 www.paper51.com DO FORM setclass1 内容来自www.paper51.com 在“删除”命令按钮控件command3的“click”事件中添加代码如下: http://www.paper51.com SELECT classn 内容来自www.paper51.com f1=zy copyright paper51.com f2=bh copyright paper51.com f3=rxnf copyright paper51.com flag=3 &&删除操作 内容来自论文无忧网 www.paper51.com
DO FORM setclass1 paper51.com 在“退出”命令按钮控件command4的“click”事件中添加代码如下: 内容来自论文无忧网 www.paper51.com
SELECT classn paper51.com
thisform.Release copyright paper51.com RELEASEf1,f2,f3,flag &&释放定义的全局变量 copyright paper51.com CLOSE DATABASESall copyright paper51.com 在“确定”命令按钮控件cmdclass的“click”事件中添加代码如下: 内容来自www.paper51.com
thisform.command1.Enabled=.T. paper51.com
thisform.label4.Caption=ALLTRIM(thisform.list1.value)+"专业的班号" paper51.com SELECT classn 内容来自论文无忧网 www.paper51.com SET FILTER TOALLTRIM(zy)==ALLTRIM(thisform.list1.Value) AND NOT DELETED() 内容来自www.paper51.com
GO TOP copyright paper51.com
thisform.Refresh copyright paper51.com
在表格中的两个“text1”文本框控件的“click”事件中均添加代码如下: copyright paper51.com thisform.command2.Enabled=.T. http://www.paper51.com
thisform.command3.Enabled=.T. 内容来自www.paper51.com 本表单添加了一个列表框控件list1,其属性里RowSourse应设置为prof。另外还添加了一个表格控件grid1,其属性里RecordSourse应设置为classn,并且列column1的属性里ControlSourse应设置为classn.bh,column2的属性里ControlSourse应设置为classn.rxnf。 内容来自www.paper51.com 5、添加或修改某专业所包含的班号的表单(setclass1.scx) 内容来自论文无忧网 www.paper51.com 该表单的数据环境为空。为setclass表单所调用。 copyright paper51.com 图4.6 paper51.com 控件和事件: 内容来自www.paper51.com 添加“form1”的“Init”事件的代码如下: paper51.com
thisform.text1.Value=f1 内容来自www.paper51.com thisform.text2.Value=f2 http://www.paper51.com
thisform.text3.Value=f3 内容来自www.paper51.com IF flag=1 内容来自论文无忧网 www.paper51.com thisform.Caption="添加班号" copyright paper51.com
ELSE 内容来自www.paper51.com IF flag=2 paper51.com thisform.Caption="修改班号" paper51.com ELSE 内容来自论文无忧网 www.paper51.com
thisform.Caption="删除班号" copyright paper51.com thisform.text2.ReadOnly=.T. 内容来自论文无忧网 www.paper51.com thisform.text3.ReadOnly=.T. 内容来自论文无忧网 www.paper51.com ENDIF copyright paper51.com ENDIF paper51.com 在“确定”命令按钮控件command1的“click”事件中添加代码如下: 内容来自www.paper51.com SELECT classn copyright paper51.com
IF flag=1 &&添加操作 copyright paper51.com APPEND BLANK http://www.paper51.com REPLACE zy WITH f1,bhWITH thisform.text2.text,rxnf WITH thisform.text3.Value 内容来自www.paper51.com ELSE 内容来自论文无忧网 www.paper51.com
IF flag=2 &&修改操作 内容来自论文无忧网 www.paper51.com
REPLACE bh WITH thisform.text2.text,rxnf WITH thisform.text3.Value 内容来自www.paper51.com ELSE &&删除操作 http://www.paper51.com DELETE 内容来自论文无忧网 www.paper51.com ENDIF 内容来自论文无忧网 www.paper51.com ENDIF 内容来自论文无忧网 www.paper51.com
thisform.Release 内容来自论文无忧网 www.paper51.com 在“取消”命令按钮控件command2的“click”事件中添加代码如下: 内容来自论文无忧网 www.paper51.com thisform.Release http://www.paper51.com
6、设置课程的表单(setcourse.scx) http://www.paper51.com 该表单的数据环境为prof表和course表。 http://www.paper51.com
copyright paper51.com 图4.7 copyright paper51.com 控件和事件: paper51.com 添加“form1”的“Activate”事件的代码如下: paper51.com thisform.Refresh copyright paper51.com thisform.grid1.SetFocus http://www.paper51.com 添加“form1”的“Refresh”事件的代码如下: 内容来自论文无忧网 www.paper51.com
thisform.command2.Enabled=.F. paper51.com thisform.command3.Enabled=.F. 内容来自www.paper51.com thisform.command4.Enabled=.F. paper51.com 添加“form1”的“Init”事件的代码如下: 内容来自论文无忧网 www.paper51.com PUBLIC f1,f2,f3,f4,f5,f6,flag 内容来自论文无忧网 www.paper51.com thisform.cmdclass.Enabled=.F. paper51.com thisform.command1.Enabled=.F. 内容来自论文无忧网 www.paper51.com SELECT course 内容来自www.paper51.com SET FILTER TO .F. paper51.com
在列表框控件“list1”的“click”事件中添加代码如下: http://www.paper51.com
thisform.cmdclass.Enabled=.T. paper51.com
在“添加”命令按钮控件command1的“click”事件中添加代码如下: copyright paper51.com f1=thisform.list1.value 内容来自论文无忧网 www.paper51.com f2="" 内容来自www.paper51.com
f3="" 内容来自www.paper51.com
f4="" http://www.paper51.com
f5="" 内容来自论文无忧网 www.paper51.com f6=0 http://www.paper51.com
flag=1 &&添加操作 内容来自论文无忧网 www.paper51.com DO FORM setcourse1 http://www.paper51.com 在“前插”命令按钮控件command2的“click”事件中添加代码如下: 内容来自www.paper51.com f1=thisform.list1.value copyright paper51.com f2="" http://www.paper51.com f3="" copyright paper51.com f4="" copyright paper51.com f5="" 内容来自论文无忧网 www.paper51.com
f6=0 copyright paper51.com flag=4 &&前插操作 copyright paper51.com DO FORM setcourse1 http://www.paper51.com 在“修改”命令按钮控件command3的“click”事件中添加代码如下: 内容来自www.paper51.com SELECT course http://www.paper51.com
f1=zy 内容来自www.paper51.com f2=kch 内容来自www.paper51.com f3=kc 内容来自www.paper51.com
f4=xz copyright paper51.com f5=kkxq paper51.com f6=xf paper51.com flag=2 &&修改操作 内容来自www.paper51.com DO FORM setcourse1 copyright paper51.com 在“删除”命令按钮控件command4的“click”事件中添加代码如下: 内容来自论文无忧网 www.paper51.com SELECT course http://www.paper51.com f1=zy copyright paper51.com f2=kch paper51.com
f3=kc 内容来自论文无忧网 www.paper51.com f4=xz 内容来自www.paper51.com f5=kkxq paper51.com
f6=xf http://www.paper51.com flag=3 &&删除操作 内容来自论文无忧网 www.paper51.com
DO FORM setcourse1 paper51.com
在“退出”命令按钮控件command5的“click”事件中添加代码如下: paper51.com SELECT course copyright paper51.com thisform.Release http://www.paper51.com
RELEASE f1,f2,f3,f4,f5,f6,flag &&释放定义的全局变量 http://www.paper51.com CLOSE DATABASES all 内容来自www.paper51.com 在“确定”命令按钮控件cmdclass的“click”事件中添加代码如下: paper51.com thisform.command1.Enabled=.T. copyright paper51.com thisform.label4.Caption=ALLTRIM(thisform.list1.value)+"专业的课程" 内容来自www.paper51.com SELECT course copyright paper51.com SET FILTER TO ALLTRIM(zy)==ALLTRIM(thisform.list1.Value) AND NOTDELETED() 内容来自www.paper51.com
GO TOP http://www.paper51.com thisform.Refresh 内容来自www.paper51.com 在表格中的两个“text1”文本框控件的“click”事件中均添加代码如下: copyright paper51.com thisform.command2.Enabled=.T. 内容来自论文无忧网 www.paper51.com
thisform.command3.Enabled=.T. http://www.paper51.com
thisform.command4.Enabled=.T. 内容来自www.paper51.com 本表单添加了一个列表框控件list1,其属性里RowSourse应设置为prof。另外还添加了一个表格控件grid1,其属性里RecordSourse应设置为course,并且列column1的属性里ControlSourse应设置为course.kch,column2的属性里ControlSourse应设置为course.kc,column3的属性里ControlSourse应设置为course.xz,column4的属性里ControlSourse应设置为course.kkxq,column5的属性里ControlSourse应设置为course.xf。 copyright paper51.com |