⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d.prg

📁 包括出车记录
💻 PRG
字号:
SET TALK OFF
SET ECHO OFF
SET STAT OFF
SET SCOR OFF
SET BELL OFF
SET CONF ON
SET COLO TO w/B
CLEAR
DO WHILE .T.
 CLOSE DATA
 DO hk WITH 1,2,23,76
 @ 3,2 SAY "+"+REPL("-",37)+"+"
 SET COLO TO W/B,GR+/R
 @ 2,4 PROM"选择数据库"
 @ 2,16 PROM"选择输出字段"
 @ 2,30 PROM"输入条件"
 @ 2,44 PROM"显   示"
 @ 2,54 PROM"退   出"
 MENU TO xz 
 DO CASE 
    CASE xz=1
       DO stsr
    CASE xz=2
       DO strz
    CASE xz=3 
       DO stsr2
    CASE xz=4
       DO iag440
    CASE xz=5
       RETURN
    ENDCASE
 ENDDO
*************
PROCEDURE hk
*************
PARA line1,col1,col2
IF (col2_col1)/2<>INT((col2_col1)/2)
   col2=col2+1
ENDIF
@ line1,col1 SAY "["+REPLICATE("-",(col2-col1)/2)+"]"
i=line1+1
DO WHILE i<line2
   @ i,col1 SAY "|"+SPACE(col2-col1)+"]"
   i=i+1
ENDDO
@ line2,col1 SAY "["+REPLICATE("-",(col2-col1)/2)+"]"  
RETURN
**************
PROCEDURE stsr
**************
SET BELL OFF
SET STAT OFF
SET SCOR OFF
SET SAFE OFF
SET TALK OFF
SET ECHO OFF
SET CONF ON
RELE jsq
PUBLI jsq
xscolor="w/b,b/w"
SELE 1
USE stwj
ZAP
gs=0
SET COLO TO &xscolor
jxq=0
DO hk WITH 5,10,9,50
SET COLO TO &xscolor
@ 7,12 SAY "数据库名:"
@ 8,12 SAY "数据库中文名:"
@ 6,12 SAY "请输入查询的数据库个数" GET gs>0.and.gs<9
READ
pp=READKEY()
IF pp=12
   CLOSE DATA
   RETURN
ENDIF
APPE BLAN
sz="V"+STR(gs,1)
REPL v_file WITH sz
j=1
DO WHILE J<=gs
   APPEN BLAN
   j=j+1
ENDDO
! DIR *.dbf>aaa.txt
SELE 2
USE stk
ZAP
APPE FROM aaa.txt SDF
! del aaa.txt
RELE asg,choice
PUBL choice,asg(100)
j=1
DO WHILE j<=gs
  SET COLO TO &xscolor
  @ 7,42 SAY "第"+STR(j,2)+"个"
  @ 7,22 SAY SPACE(12)
  @ 8,22 SAY SPACE(20)
  SELE 2
  DO sthelp2
  bbmc1=SUBS(asg(choice),1,8)
  bbmc2=TRIM(bbmc1)+".dbf"
  IF .NOT. FILE("&bbmc2")
     @ 1,10 SAY ":该表没有打印程序"
     ? CHR(7)+CHR(7)+CHR(7)+CHR(7)
     @ 1,10 SAY SPACE(69)
     LOOP
   ENDIF
   SET COLO TO &xscolor
   @ 7,22 SAY bbmc2
   zwm=SPACE(20)
   @ 8,26 GET zwm
   READ
   SELE 1
   GO j+1
   REPL v_file WITH TRIM(bbmc1),v_note WITH TRIM(zwm)
   j=j+1
ENDDO 
! del A*.dbf
RETURN
*****************
PROCEDURE sthelp2
*****************
gsq=1
DO WHILE gsq<=100
   asg(gsq)=SPACE(12)
   gsq=gsq+1
ENDDO
gsq=1
GO TOP 
SKIP 4
DO WHILE .not.eof()
  asg(gsq)=cxm
  SKIP
  gsq=gsq+1
ENDDO
gsq=gsq-1
DO stwin1 WHTH 4,62,12,12,100
IF choice=0
   bz1=1
ELSE
   bz1=0
ENDIF
RETURN
****************
PROCEDURE stwin1
****************
***********************
window display program
***********************
PARAM windx,windy,viewh,vieww,NUMB
PRIVA i,viewstart,vcurrent,linestart,KEY,lenth
*****************************************
*****view pointer*****
viewstart=1
******line pointer******
linestart=1
******current cursor****
vcurrent=1
SET ESCA OFF
DO WHILE .T.
   SET COLOR TO W/B,W/B,B
   i=0
   DO WHILE i<viewh
      @windx+i+1,windy SAY SUBSTR(asg(viewstart+i),1,vieww)
      @0,0 SAY ""
      i=i+1
   ENDDO
   **************************************
   SET COLOR TO R/BG,W+/B,B
   @windx+vcurrent,windy SAY SUBSTR(asg(viewstart+;
         vcurrent-1),linestart,vieww)
   @0,0 SAY ""
   **************************************
   KEY=0
   DO WHILE KEY <> -1
      KEY = INKEY()
      DO CASE
      CASE KEY=5
         vcurrent=vcurrent-1
         *******move up a line**********
      IF vcurrent<1
         vcurrent=1
         IF viewstart>1
           viewstart=viewstart-1
         ENDIF
       ENDIF
       KEY=-1   
     CASE KEY=24
       vcurrent=vcurrent+1
       ********move down a line********
       IF vcurrent>viewh
          vcurrent=viewh
          IF (viewstart+vjewh)<=NUMB
             viewstart=viewstart+1
          ENDIF
          KEY=-1
     CASE KEY=3
      *******move down viewh lines *****
      IF (viewstart+2*viewh-1)<=NUMB
          viewstart=viewstart+viewh
      ELSE
          viswstart=NUMB-viewh+1
          vcurrent=viewh
      ENDIF
      KEY=-1
     CASE KEY=18
     ********move up viewh lines ********** 
      IF (viewstart-viewh)>=1
         viewstart=viewstart-viewh
      ELSE
         viewstart=1
         vcurrent=1
      ENDIF
      KEY=-1
     CASE KEY=29
      ******move to start line ***************
      viewstart=1
      vcurrent=1
      KEY=-1
     CASE KEY=23
     *******move to end line *******************
      viewstart=NUMB-viewh+1
      vcurrent=viewh
      KEY=-1
     CASE KEY=19
     *******move left a char ***********************
      linestart=linestart-1
      IF linestart<1
         linsetart=1
      ENDIF
      KEY=-1
     CASE KEY=4
     *******move right a char ***************
      linstart=linestart+1
      lenth=LEN(asg(viewstart+vcurrent-1))
      IF linestart>(lenth-vieww+1)
         linsetart=lenth-vieww+1
      ENDIF
      KEY=-1
     CASE KEY=1
     *******move to start of a line ****************
      linestart=1
      KEY=-1
     CASE KEY=6
     ********move to end of a line *********************
      linestart=LEN(asg(viewstart+vcurrent-1))-vieww+1
      KEY=-1
     CASE KEY=13
      choice=viewstart+vcurrent-1
      RETURN
     CASE KEY=27
      choice=0
      RETURN
     ENDCASE
    ENDDO
ENDDO
********************************
PROCEDURE stsr1
********************************     
gsq=1
DO WHILE gsq<=100
  asg(gsq)=SPACE(12)
  gsq=gsq+1
ENDDO
gsq=1
GO TOP 
DO WHIL .not.eof()
  asg(gsq)=field_name
  SKIP
  gsq=gsq+1
ENDDO
gsq=gsq-1
@ 9,52 SAY "输出字段选择"
DO WHILE .T.
  DO stwi1 WITH 10,52,10,10,100
  IF choice=0
     EXIT
  ENDIF
  
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -