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