毕业设计(论文)报告纸
这段代码的目的是通过设立1个“nTime”全局变量(并设其初始值为“1”)来控制“Lable1”控件,以达到控制欢迎词的闪烁。
在“welcome”表单的“KeyPress”事件添加代码如下: thisform.release *释放本表单
release nTime *释放变量“nTime” do form mainmenu *运行表单“mainmenu”
这段代码的目的是当按下任意键时,释放该表单和全局变量“nTime”同时进入旧一级表单“mainmenu”。
在“Timer”控件的“Timer Event”事件中添加如下代码: if i=0
thisform.Label1.visible=.f. i=1 else
thisform.Label1.visible=.t. i=0 endif
这段代码的内容是通过判断全局变量“nTime”的值来控制欢迎词的闪烁。当“nTime”的值为“0”,令“Label1”控件“不可见”,同时置“nTime”为“1”以备下次触发“Timer Event”事件时使用。同样,当“nTime”的值为“1”,令“Label1”控件“可见”,同时置“nTime”为“0”以备下次触发“Timer Event”事件时使用。通过每隔1秒触发一次“Timer Event”事件,可以使“Label1”控件时隐时现,以达到令欢迎闪烁的目的。 5.2退出界面的设计:
该模块设计目的是当用户退出系统时显示感谢词,画面停留两秒钟后自动退出,这一模块利用一个表单可实现其功能。
首先新建一个表单,保存为“End”,在其上添加1个“Timer1”控件和3个“Label”控件。各控件属性表略。
在“Time1”控件的“Timer Event”中添加代码如下:
11
毕业设计(论文)报告纸
thisform.release
*释放表单并停止由READ EVENT开始的事件处理, CLEAR EVENT
*令程序从READ EVENT的下一条程序行继续执行。 将该表单保存后,退出界面这一模块就建立好了。 5.3查询界面的设计:
这一模块的主要功能是为选择原始台帐数据库提供一个接口。由于本模块只是一个接口界面,可利用一个表单即解决。
该模块的设计步骤如下。
先新建一个表单Form,保存为“cxjm”。在表单上添加1个“Image1”控件,1个控件“Label1”
控件,1个“Timer1”控件,1个“Container1”控件和1个“Command”控件。在“Container1”控件上再添加1个“Command”控件。 各控件中主要属性表略。
修改完各控件的相关属性后,我们为各事件添加代码。 在“Form1”的“Init”事件中添加代码如下: public nTime
nTime=1
*设一个全局变量“nTime”,并设其初始值为“1” 在“Form1”的“destory”事件中添加代码职下: release nTime
*当该表单释放时, 同时释放全局变量“nTime”
在“Time1”控件的“Timer Event”事件中添加代码如下: if i=0
thisform.Label1.visible=.t. i=1 else
thisform.Label1.visible=.f. i=0 endif
*通过全局变量nTime1控制“Label1”,使其时隐时现。 在“commend1”控件的“Click”事件中添加代码如下:
12
毕业设计(论文)报告纸
do jlqjgl\\form\\ystzcx *进入下级表单,保留本表单
在“commend5”控件的“Click”事件中添加代码如下: thisform.release *释放表单
将该表单保存后,查询界面设计模块就建立好了。 5.4数据查询模块设计
5.4.1原始台帐数据查询模块设计
这一模块实现了最基本而又很重要的功能,它让用户方便快捷、多角度地得知想要查询的情况。该模块提供“原始台帐数据库”表的查找、数据的添加、删除和修改功能。同时还提供“原始台帐数据库”的逐条查询和全库浏览。本模块利用在一个表单中设置两个不同标签页来实现其功能,创建过程如下:
首先建立1个表单Form1,然后保存为“ystzcx”。为该表单添加1个“Pageframe1”控件和7个“Commend”控件。各控件的主要属性如下所示表5.4.1-13至表5.4.1-15。
表5-13 “Form1”表单中主要属性 属性名称 Caption Desktop
表5-14 “Pageframe1”表单中主要属性 属性名称 Pagecount Page1.Caption Page2.Caption
表5-15 各“Command”控件中Caption属性 “Command”名称 Command1 Command2 “Caption”属性值 编辑 查找 2 原始数据逐条查询 原始数据全库查询 属性值 属性值 原始台帐数据查询 .T.-True 13
毕业设计(论文)报告纸
Command3 Command4 Command5 Command6 Command7
添加 删除 修改 提交 退出 接着为表添加数据表。右键单击表单,在弹出的对话框中选择“Date Environment”。之后会继续弹出一添加表单对话框,为该表单添加“ystzsj”表。下面详细介绍这一添加数据表的过程。
在表单“Form1”的控件“Pageframe1”上单击鼠标右键,在弹出的对话框中选择“Edit(编辑)”,然后激活“Pageframe1”控件中的“Page1”控件。单击鼠标右键打开数据环境窗口,用鼠标左键点中“ystzsj”中的“Fields(字段)”不放,将其拖到控件“Page1”控件上。然后调整“Page1”上的各控件的相对位置。
同样激活“Page2”控件,并为其添加1个“Grid1”控件。设“Grid1”控件“Recordcontrols ”属性为表“ystzsj”,“Readonly”属性为“.T.-Ture”“Page2” 页面的设计结果。
下面为各事件添加代码。
在“Form1”的“init”事件中添加代码如下: thisform.command6.enabled=.f. *置“command6”(“提交”按钮)为不可用 public flag
flag=0 *设全局变量“flag”并设其初值为“0” 在“Form1”的“Destory”事件中添加代码如下: release flag *从内存中释放全局变量“flag”
在“Command1”的“Click”事件中添加代码如下: for i=2 to 38 step 2
thisform.Pageframe1. Page1.controls(i-1).controlsource=’’ thisform.Pageframe1. Page1.controls(i-1).enabled=.T. endfor
*通过循环语句继开“Page1”中各“Text”控件的“controlsource”属性,同
14
毕业设计(论文)报告纸
时将其置为可用 *以便在其中添加数据
thisform.Pageframe1.Page1.txtbmh.value='' thisform.Pageframe1.Page1.txtQjbh.value='' thisform.Pageframe1.Page1.txtQjmc.value='' thisform.Pageframe1.Page1.txtGlxh.value='' thisform.Pageframe1.Page1.txtsl.value='' thisform.Pageframe1.Page1.txtyz.value='' thisform.Pageframe1.Page1.txtCd.value='' thisform.Pageframe1.Page1.txtsyzt.value='' thisform.Pageframe1.Page1.txtjdzq.value='' thisform.Pageframe1.Page1.txtSysj.value='' thisform.Pageframe1.Page1.txtjdhy.value='' thisform.Pageframe1.Page1.txtSybm.value='' thisform.Pageframe1.Page1.txtSyr.value='' thisform.Pageframe1.Page1.txtcjsj.value='' thisform.Pageframe1.Page1.txtxjsj.value='' thisform.Pageframe1.Page1.txtJdjg.value='' thisform.Pageframe1.Page1.txtJdzh.value='' thisform.Pageframe1.Page1.txtBz.value=''
*通过以上语句清空“Page1”上所有“Text”控件的值 在“Command2”的“Click”事件中添加代码如下: local condition *定义局部变量“condition” condition=’’
*为局部变量“condition”赋初值,令“condition”为一空字符串 for i=2 to 38 step 2
if len(thisform.Pageframe1.Page1.controls(i-1).value)<>0
str1=alltrim(thisform.Pageframe1.Page1.controls(i).name) str2=substr(str1,4)
condition=condition+str2+’=’+;
“’’’+alltrim(thisform.Pageframe1.Page1.controls(i-1).value)+
15