【摘 要】随着计算机网络技术的发展,各种各样基于网络的应用也随之诞生,比如基于互联网的信息发布、通信、数据共享等等。局域网的发展也同样迅速。很多政府机构、企业、学校,都是先以一个统一的局域网联结在一起,再分别接入INTERNET。因此基于局域网的即时通信工具,就这样应运而生了。所以本文提出了一个更加合理的设计,并在WINDOWS平台上加以了实现。在本实现内将客户端和服务端综合在一个程序之内,用远程数据共享。并进行了人性化的界面设计,使用起来更加简单方便,并且功能十分合理。本文讨论了如何使用VF6.0编程通过远程数据共享,实现非c/s模式上机考试系统。
【关键词】局域网 共享目录 服务器名 数据库
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应用基础与面向对象程序设计教程(第二版).高等教育出版社.