欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是: 首页

浅议非c/s实现上机考试系统

科普小知识 2023-11-04 10:44:21
...

1 f/s(file server)

用共享文件夹共享表,通过“\\\\机器名\\共享名\\表”的方式访问表。服务器只提供共享访问而已,不用运行任何软件。

设一配置文件放本地,主要储存服务器名,共享数据库名;

config.id-----配置文件

workstatus c(10)---工作模式(本地/网络)

filepath c(70)---数据库名称及地址(本地可为绝对路径,也可为相对路径,网络为\\\\server\\wks\\data.dbc,其中server是服务器名,wks为数据库所在目录的共享名,注:是共享名且还应是完全共享,data.dbc是数据库名)

2 设置表单用来配置config.id

可将数据库选放本地/远程,通过下拉列表框选本地或远程,地址则输入服务器名及通过选择”按钮”选择目录共享名。

3 主文件代码

建立主程序文件

close all

set safety off

set exact on

set talk off

public handle,xh,xm,kssj,ctbh,localdata,worktype,mypath,computerno,bbb

(……………………)

mypath=left(sys(16),rat("\\",sys(16)))

set default to (mypath)

if !file('config.id')

do form setup.scx

read events

else

do form ksdl.scx

read events

endif

 

4 抽题并验证

(以下为部分源代码)

要点:

如果您以独占方式打开了表,别人无论用独占或共享方式打开表都会出错,错误是“不能存取文件”,错误代码是1705;另外如果有人以共享方式打开了表,其它人试图以独占方式再打开,也会出现同样的错误。&&选择工作模式--“开始”按钮代码:

pzpath=mypath+"config.id"

use &pzpath exclusive

go top

datapath=alltrim(filepath)

worktype=alltrim(workstatus)

use

if alltrim(worktype)="网络"

(……………………)

endif

 

5 进入考试界面

(以下为部分源代码)(初始化考试界面)

do ksjm.mpr with this,.t.

public m,s,i

i=0

s=60

m=kssj

thisform.label1.caption=str(kssj,2)+":"+"00"

use config.id exclusive

go top

gzfs=alltrim(workstatus)

datapath=alltrim(filepath)

use

if gzfs="网络"

(…………………)

endif

参考文献:

[1]李晓龙.vf程序设计.人民邮电出版社.

[2]李雁翎.visual foxpro应用基础与面向对象程序设计教程(第二版).高等教育出版社.

[3]张洪举.visual foxpro程序设计参考手册.人民邮电出版社.