ip地址计算工具:图书管理系统分析代码
来源:百度文库 编辑:高校问答 时间:2024/04/29 07:01:12
这个是我做的考务管理 程序代码,希望对你有帮助
****** * C:\BYSJ2\MAIN.PRG
*:************************************
*: 过程文件C:\BYSJ2\文档\MAIN.PRG
*:************************************
*: main
DO c:\bysj2\setting.prg
DO FORM c:\bysj2\skxt
_SCREEN.CAPTION='双考考务管理系统'
_SCREEN.BACKCOLOR=16776990
READ EVENTS
****** * C:\BYSJ2\BMB.FRX
****** * C:\BYSJ2\BMXT.SCX
DATABASE = skkwgl.DBC
PROCEDURE CLICK
IF MESSAGEBOX("确定添加记录吗?",1,"添加记录")=1
SELE bmk
APPEND BLANK
GO BOTT
*tHISFORM.REFRESH
THISFORM.grid1.column1.SETFOCUS
ENDIF
ENDPROC
TOP = 276
LEFT = 164
HEIGHT = 33
WIDTH = 81
CAPTION = "\<D.删除"
NAME = "Command2"
PROCEDURE CLICK
IF MESSAGEBOX("确定删除当前记录吗?",1,"删除记录")=1
SET SAFE OFF
SET DELETE ON
SELE bmk
DELE
GO TOP
THISFORM.grid1.SETFOCUS
THISFORM.REFRESH
ENDIF
ENDPROC
PROCEDURE CLICK
REPORT FORM c:\bysj2\bmb PREV
ENDPROC
CAPTION = "\<Q.退出"
PROCEDURE CLICK
SELE bmk
PACK
RELEASE THISFORM
ENDPROC
CAPTION = "\<S.搜索"
PROCEDURE CLICK
DO FORM c:\bysj2\bmxtss
ENDPROC
ROWSOURCE = "bmdk.报名点号,报名点名称"
PROCEDURE INTERACTIVECHANGE
SELE bmk
SET FILT TO SUBSTR(报名号,1,2)=THISFORM.list1.VALUE
THISFORM.REFRESH
ENDPROC
****** * C:\BYSJ2\BMXTSS.SCX
PROCEDURE RELEASE
SELE bmk
SET FILT TO
ENDPROC
****** * C:\BYSJ2\CJB.FRX
****** * C:\BYSJ2\CJJS.SCX
DATABASE = skkwgl.DBC
CAPTION = "\<P.接收"
NAME = "Command1"
PROCEDURE LOSTFOCUS
THISFORM.label1.VISIBLE=.F.
ENDPROC
PROCEDURE CLICK
THISFORM.label1.VISIBLE=.T.
IF MESSAGEBOX("请将成绩盘插入A驱动器...",1,"接收成绩")=1
IF .NOT.FILE("a:\khk.dbf")
MESSAGEBOX("该软盘中无KHK.DBF!",0,"接收成绩")
ELSE
COPY FILE a:\khk.DBF TO c:\bysj2\khk.DBF
ENDIF
ENDIF
THISFORM.label1.VISIBLE=.F.
ENDPROC
CAPTION = "\<Q.退出"
NAME = "Command3"
PROCEDURE CLICK
RELEASE THISFORM
ENDPROC
AUTOSIZE = .T.
FONTSIZE = 10
CAPTION = "请插入成绩盘"
command1.CAPTION = "打印成绩册"
command2.CAPTION = "打印成绩单"
PROCEDURE command1.CLICK
REPORT FORM c:\bysj2\cjb PREV
ENDPROC
PROCEDURE command2.CLICK
LABEL FORM c:\bysj2\cjd PREV
ENDPROC
****** * C:\BYSJ2\CJTJ.SCX
DATABASE = skkwgl.DBC
PROCEDURE CLICK
RELEASE THISFORM
ENDPROC
PROCEDURE command1.CLICK
REPORT FORM c:\bysj2\tjb1 PREV
ENDPROC
PROCEDURE command2.CLICK
REPORT FORM c:\bysj2\tjb2 PREV
ENDPROC
PROCEDURE command1.CLICK
IF MESSAGEBOX("开始考前统计吗?",1,"考前统计")=1
SELE hzk
GO BOTT
cbmd=SUBSTR(报名号,1,2)
nbmdmax=VAL(SUBSTR(报名号,1,2))
nbmd=1
bmrs=0
DO WHILE nbmd<nbmdmax
COUNT FOR VAL(SUBSTR(报名号,1,2))=nbmd TO bmrs
IF bmrs<>0
COUNT FOR 职别='干部'.AND.VAL(SUBSTR(报名号,1,2))=nbmd TO gbrs
COUNT FOR 年龄<20.AND.VAL(SUBSTR(报名号,1,2))=nbmd TO essyx
COUNT FOR 年龄>=20.AND.年龄<40.AND.VAL(SUBSTR(报名号,1,2))=nbmd TO eszss
COUNT FOR 年龄>=40.AND.年龄<60.AND.VAL(SUBSTR(报名号,1,2))=nbmd TO sszls
COUNT FOR 年龄>=60.AND.VAL(SUBSTR(报名号,1,2))=nbmd TO lssys
COUNT FOR 性别='男'.AND.VAL(SUBSTR(报名号,1,2))=nbmd TO nsrs
SELE bmdk
LOCA FOR 报名点号=cbmd
bmdmc=报名点名称
SELE tjk1
APPE BLANK
REPL 报名点号 WITH cbmd,报名点名称 WITH bmdmc,报名人数 WITH bmrs,等级 WITH '初级',科目 WITH '计算机'
REPL 干部人数 WITH gbrs,二十岁以下 WITH essyx,二十至四十岁 WITH eszss,四十至六十岁 WITH sszls,六十岁以上 WITH lssys
REPL 男人数 WITH nsrs,女人数 WITH bmrs-nsrs
ENDIF
nbmd=nbmd+1
ENDDO
ENDIF
ENDPROC
PROCEDURE command2.CLICK
IF MESSAGEBOX("开始考后统计吗?",1,"考后统计")=1
SELE cjk
GO BOTT
cbmd=SUBSTR(报名号,1,2)
nbmdmax=VAL(SUBSTR(报名号,1,2))
nbmd=1
ckrs=0
DO WHILE nbmd<nbmdmax
COUNT FOR VAL(SUBSTR(报名号,1,2))=nbmd TO ckrs
IF bmrs<>0
COUNT FOR 总分数>=59.5 .AND.VAL(SUBSTR(报名号,1,2))=nbmd TO hgrs
COUNT FOR 总分数<59.5.AND.VAL(SUBSTR(报名号,1,2))=nbmd TO lsfyx
COUNT FOR 总分数>=59.5.AND.总分数<70.AND.VAL(SUBSTR(报名号,1,2))=nbmd TO lszqs
COUNT FOR 总分数>=70.AND.总分数<80AND.VAL(SUBSTR(报名号,1,2))=nbmd TO qszbs
COUNT FOR 总分数>=80.AND.总分数<90.AND.VAL(SUBSTR(报名号,1,2))=nbmd TO bszjs
COUNT FOR 总分数>=90.AND.总分数<100.AND.VAL(SUBSTR(报名号,1,2))=nbmd TO jszyb
COUNT FOR 总分数=100.AND.VAL(SUBSTR(报名号,1,2))=nbmd TO ybfrs
SELE bmdk
LOCA FOR 报名点号=cbmd
bmdmc=报名点名称
SELE tjk2
APPE BLANK
REPL 报名点号 WITH cbmd,报名点名称 WITH bmdmc,考试人数 WITH ckrs,等级 WITH '初级',科目 WITH '计算机'
REPL 合格人数 WITH hgrs,合格率 WITH ROUND((ckrs-hgrs)/ckrs,1)
REPL 六十分以下 WITH lsfyx,六十至七十分 WITH lszqs,七十至八十分 WITH qszbs,八十至九十分 WITH bszjs,九十至九九分 WITH jszyb,一百分人数 WITH ybfrs
ENDIF
nbmd=nbmd+1
ENDDO
ENDIF
ENDPROC
option2.CAPTION = "考后统计表"
PROCEDURE option1.CLICK
THISFORM.grid1.VISIBLE=.T.
THISFORM.grid2.VISIBLE=.F.
THISFORM.REFRESH
ENDPROC
PROCEDURE option2.CLICK
THISFORM.grid2.VISIBLE=.T.
THISFORM.grid1.VISIBLE=.F.
THISFORM.REFRESH
ENDPROC
****** * C:\BYSJ2\HZB.FRX
****** * C:\BYSJ2\HZSB.SCX
DATABASE = skkwgl.DBC
CURSORSOURCE = "hzk"
PROCEDURE LOAD
SET DELE ON
ENDPROC
CAPTION = "\<R.接收"
PROCEDURE CLICK
PARAMETER bmddm
IF MESSAGEBOX("请在A驱动器中插入报名盘!",1,"报名接收")=1
THISFORM.label1.VISIBLE=.T.
IF .NOT.FILE("a:\bmk.dbf")
MESSAGEBOX("该软盘中无BMK.DBF!",0,"报名接收")
ELSE
SELE 0
USE a:bmk.DBF
bmddm=SUBSTR(报名号,1,2)
USE
SELE hzk
IF SUBSTR(报名号,1,2)=bmddm
IF MESSAGEBOX("该报名点数据已汇总,是否重新汇总?",1,"报名接收")=1
DELE FOR SUBSTR(报名号,1,2)=bmddm
*pack
COPY FILE a:\bmk.DBF TO c:\bysj2\bmk01.DBF
COPY FILE a:\bmk.CDX TO c:\bysj2\bmk01.CDX
ENDIF
ELSE
COPY FILE a:\bmk.DBF TO c:\bysj2\bmk01.DBF
COPY FILE a:\bmk.CDX TO c:\bysj2\bmk01.CDX
ENDIF
ENDIF
THISFORM.label1.VISIBLE=.F.
ENDIF
THISFORM.REFRESH
ENDPROC
PROCEDURE LOSTFOCUS
THISFORM.label1.VISIBLE=.F.
ENDPROC
CAPTION = "\<S.上报"
PROCEDURE LOSTFOCUS
THISFORM.label2.VISIBLE=.F.
ENDPROC
PROCEDURE CLICK
THISFORM.label2.VISIBLE=.T.
IF MESSAGEBOX("是否确定要上报报名盘?",1,"报名上报")=1
SELE hzk
COPY TO a:\hzk.DBF
ENDIF
THISFORM.label2.VISIBLE=.F.
ENDPROC
AUTOSIZE = .T.
CAPTION = "请插入报名盘"
CAPTION = "请插入空盘"
CAPTION = "报名号"
CAPTION = "\<Q.退出"
PROCEDURE CLICK
SELE hzk
PACK
RELEASE THISFORM
ENDPROC
CAPTION = "\<H.汇总"
PROCEDURE CLICK
SELE hzk
IF FILE("c:\bysj2\bmk01.dbf")
APPE FROM c:\bysj2\bmk01
ERASE c:\bysj2\bmk01.DBF
ERASE c:\bysj2\bmk01.CDX
THISFORM.REFRESH
MESSAGEBOX("汇总完毕!",0,"报名汇总")
ELSE
MESSAGEBOX("请先接收软盘中报名信息BMK.DBF!",0,"报名汇总")
ENDIF
ENDPROC
CAPTION = "\<P.打印"
PROCEDURE CLICK
REPORT FORM c:\bysj2\hzb PREV
ENDPROC
****** * C:\BYSJ2\KCB.FRX
****** * C:\BYSJ2\KCBP.SCX
DATABASE = skkwgl.DBC
CURSORSOURCE = "kck"
PROCEDURE CLICK
THISFORM.REFRESH
ENDPROC
PROCEDURE CLICK
THISFORM.REFRESH
ENDPROC
CAPTION = "\<A.自动编排"
PROCEDURE CLICK
PARAMETER nn1,nn2
nn1=1
nn2=1
SET TALK OFF
SET SAFE OFF
SELE kck
GO TOP
IF MESSAGEBOX("自动编排将更新现有考场库!",1,"自动编排")=1
IF .NOT.EOF()
IF MESSAGEBOX("更新现有考场库吗?",1,"自动编排")=1
ZAP
APPEND FROM c:\bysj2\hzk
ENDIF
ELSE
APPEND FROM c:\bysj2\hzk
ENDIF
REPL ALL 准考证号 WITH STR(1808000000+THISFORM.list1.VALUE*10000+RECN(),10)
REPL ALL 考试日期 WITH THISFORM.text1.VALUE
REPL ALL 考试时间 WITH "上午 9:30-10:45"
DO CASE
CASE THISFORM.opg1.VALUE=1
REPL ALL 科目 WITH '外语'
CASE THISFORM.opg1.VALUE=2
REPL ALL 科目 WITH '计算机'
ENDCASE
DO CASE
CASE THISFORM.opg2.VALUE=1
REPL ALL 等级 WITH '高级'
CASE THISFORM.opg2.VALUE=2
REPL ALL 等级 WITH '中级'
CASE THISFORM.opg2.VALUE=3
REPL ALL 等级 WITH '初级'
ENDCASE
GO TOP
DO WHILE .NOT. EOF()
REPL 考机 WITH nn1,考场 WITH nn2
nn1=nn1+1
IF nn1=31
nn2=nn2+1
nn1=1
ENDIF
IF .NOT.EOF()
SKIP
ENDIF
ENDDO
GO TOP
*thisform.dataenvironment.cursor1.exclusive=.f.
THISFORM.REFRESH
ENDIF
ENDPROC
CAPTION = "\<C.打印考场表"
NAME = "Command2"
PROCEDURE CLICK
REPORT FORM c:\bysj2\kcb PREV
ENDPROC
CAPTION = "\<Z.打印准考证"
PROCEDURE CLICK
LABEL FORM c:\bysj2\zkz PREV
ENDPROC
CAPTION = "\<Q.退 出"
PROCEDURE CLICK
RELEASE THISFORM
ENDPROC
ROWSOURCE = "khdk.考核点号,考核点名称"
****** * C:\BYSJ2\RESSET.PRG
***************************************
*: 过程文件C:\BYSJ2\文档\RESSET.PRG
***************************************
*: resset
SET SYSMENU TO DEFA
SET SYSMENU ON
SET TALK ON
SET SAFE ON
QUIT
****** * C:\BYSJ2\SETTING.PRG
***************************************
*: 过程文件C:\BYSJ2\文档\SETTING.PRG
***************************************
*: setting
***环境设置setting.prg
SET SYSMENU OFF
SET SYSMENU TO
SET TALK OFF
SET NOTIFY OFF
SET CLOCK STATUS
SET CARRY ON
SET DEFA TO SYS(5)+CURDIR()
SET PATH TO SYS(5)+CURDIR()
SET RESOURCE ON
SET CENTURY ON
****** * C:\BYSJ2\SKKWGL.DBC
****** * C:\BYSJ2\SKXT.SCX
PROCEDURE command1.CLICK
DO FORM c:\bysj2\bmxt
ENDPROC
PROCEDURE command2.CLICK
DO FORM c:\bysj2\hzsb
ENDPROC
PROCEDURE command3.CLICK
DO FORM c:\bysj2\kcbp
ENDPROC
PROCEDURE command1.CLICK
DO FORM c:\bysj2\cjjs
ENDPROC
PROCEDURE command2.CLICK
DO FORM c:\bysj2\cjtj
ENDPROC
PROCEDURE command3.CLICK
DO FORM c:\bysj2\zsgl
ENDPROC
FONTNAME = "幼圆"
FONTSIZE = 16
CAPTION = "“双考”考务管理系统"
PROCEDURE command1.CLICK
DO FORM c:\bysj2\xtwh
ENDPROC
PROCEDURE command1.CLICK
CLEAR EVENTS
RELEASE THISFORM
ENDPROC
****** * C:\BYSJ2\TJB.FRX
****** * C:\BYSJ2\TJB1.FRX
****** * C:\BYSJ2\TJB2.FRX
****** * C:\BYSJ2\XTWH.SCX
HEIGHT = 90
CAPTION = "系统初始化"
PROCEDURE LOSTFOCUS
THISFORM.label1.VISIBLE=.F.
THISFORM.label2.VISIBLE=.F.
THISFORM.label3.VISIBLE=.F.
ENDPROC
PROCEDURE CLICK
THISFORM.label1.VISIBLE=.T.
THISFORM.label2.VISIBLE=.T.
THISFORM.label3.VISIBLE=.T.
ENDPROC
CAPTION = "数据备份"
PROCEDURE LOSTFOCUS
THISFORM.label5.VISIBLE=.F.
ENDPROC
PROCEDURE CLICK
THISFORM.label5.VISIBLE=.T.
ENDPROC
CAPTION = "退 出"
PROCEDURE CLICK
RELEASE THISFORM
ENDPROC
****** * C:\BYSJ2\ZSB.FRX
****** * C:\BYSJ2\ZSGL.SCX
CAPTION = "自动编号"
PROCEDURE CLICK
IF MESSAGEBOX("重新编号吗?",1,"自动编号")=1
REPL ALL 证书号 WITH STR(810000+RECN(),6)
ENDIF
ENDPROC
CAPTION = "查 找"
PROCEDURE CLICK
DO FORM c:\bysj2\zsglss
CAPTION = "打印登记册"
PROCEDURE CLICK
REPORT FORM c:\bysj2\zsb PREV
ENDPROC
CAPTION = "打印合格证"
PROCEDURE CLICK
LABEL FORM c:\bysj2\hgz PREV
ENDPROC
CAPTION = "\<Q.退出"
PROCEDURE CLICK
RELEASE THISFORM
ENDPROC