www.pudn.com > jq_caiwu.ARJ > CSHZZYE.PRG


 SET COLOR TO W/N 
 CLOS ALL 
 CLEA 
 IF FILE('A%.dbf') 
      ERAS A%.dbf 
 ENDI 
 IF FILE('B%.dbf') 
      ERAS B%.dbf 
 ENDI 
 USE zzk 
 COPY TO a% 
 SELE 2 
 USE A% 
 DELE ALL FOR zy='期初余额' .AND. jhd='-' 
 PACK 
 SELE 1 
 COPY TO b% 
 SELE 2 
 USE B% 
 DELE ALL FOR zy='期初余额' .AND. jhd='+' 
 PACK 
 USE 
 a1 = 0 
 a2 = 0 
 SELE 1 
 USE A% 
 SUM ALL FOR LEN(LTRIM(TRIM(kmdm)))=3 ye TO a1 
 SELE 2 
 USE B% 
 SUM ALL FOR LEN(LTRIM(TRIM(kmdm)))=3 ye TO a2 
 SELE 3 
 USE cc 
 DELE ALL 
 PACK 
 SELE 1 
 GOTO TOP 
 DO WHILE .T. 
      SELE 1 
      IF  .NOT. EOF() 
           pd1 = zzkm 
           pd2 = ye 
           SELE 3 
           APPE BLANK 
           REPL zzkm1 WITH pd1 
           REPL ye1 WITH pd2 
           SELE 1 
           IF  .NOT. EOF() 
                SKIP 
           ELSE 
                EXIT 
           ENDI 
      ELSE 
           EXIT 
      ENDI 
 ENDD 
 SELE 3 
 GOTO TOP 
 SELE 2 
 GOTO TOP 
 DO WHILE .T. 
      SELE 2 
      IF  .NOT. EOF() 
           pd1 = zzkm 
           pd2 = ye 
           SELE 3 
           IF EOF() 
                APPE BLANK 
           ENDI 
           REPL zzkm2 WITH pd1 
           REPL ye2 WITH pd2 
           IF  .NOT. EOF() 
                SKIP 
           ENDI 
           SELE 2 
           IF  .NOT. EOF() 
                SKIP 
           ELSE 
                EXIT 
           ENDI 
      ELSE 
           EXIT 
      ENDI 
 ENDD 
 SELE 3 
 SET CLOCK TO 0, 69 
 SET COLOR TO GR/N 
 @ 1, 0 SAY 'JQ软件工作室' 
 @ 1, 67 SAY 'JQ财务系统' 
 SET COLOR TO G/N 
 @ 0, 25 SAY '总 帐 余 额 表' 
 @ 2, 0 SAY '┏━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━┯━━━━━━━━┓' 
 @ 3, 0 SAY '┃' 
 @ 3, 5 SAY ' 资  产  类' 
 @ 3, 20 SAY '│' 
 @ 3, 23 SAY ' 借 方 余 额' 
 @ 3, 38 SAY '│' 
 @ 3, 44 SAY '负债及权益类' 
 @ 3, 60 SAY '│' 
 @ 3, 63 SAY ' 贷 方 余 额' 
 @ 3, 78 SAY '┃' 
 @ 4, 0 SAY '┠─────────┼────────┼──────────┼────────┨' 
 pd = 4 
 DO WHILE pd<20 
      i = pd+1 
      @ i, 0 SAY '┃' 
      @ i, 20 SAY '│' 
      @ i, 38 SAY '│' 
      @ i, 60 SAY '│' 
      @ i, 78 SAY '┃' 
      pd = pd+1 
 ENDD 
 @ 21, 0 SAY '┠─────────┼────────┼──────────┼────────┨' 
 @ 22, 0 SAY '┃' 
 @ 22, 4 SAY ' 合       计' 
 @ 22, 20 SAY '│' 
 @ 22, 22 SAY a1 PICTURE '9,999,999,999.99' 
 @ 22, 38 SAY '│' 
 @ 22, 42 SAY ' 合       计' 
 @ 22, 60 SAY '│' 
 @ 22, 62 SAY a2 PICTURE '9,999,999,999.99' 
 @ 22, 78 SAY '┃' 
 @ 23, 0 SAY '┗━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━┷━━━━━━━━┛' 
 SET COLOR TO B/GR 
 @ 24, 0 SAY '        ↑ 上一笔 : ↓ 下一笔 : PgUp 上一页 : PgDn 下一页 : Esc 退出            ' 
 SET COLOR TO W/N 
 SELE 3 
 GOTO BOTTOM 
 pd = RECNO() 
 pd = pd/16 
 pd1 = INT(pd) 
 ys = pd-pd1 
 IF ys=0 
      ys = pd1 
 ELSE 
      ys = pd1+1 
 ENDI 
 GOTO TOP 
 pd = 1 
 ys1 = 1 
 DO WHILE .T. 
      pd1 = zzkm1 
      pd1 = SUBSTR(pd1, 1, 18) 
      pd2 = zzkm2 
      pd2 = SUBSTR(pd2, 1, 18) 
      @ 4+pd, 2 SAY pd1 
      IF ye1<>0 
           @ 4+pd, 22 SAY ye1 PICTURE '9,999,999,999.99' 
      ENDI 
      @ 4+pd, 40 SAY pd2 
      IF ye2<>0 
           @ 4+pd, 62 SAY ye2 PICTURE '9,999,999,999.99' 
      ENDI 
      IF  .NOT. EOF() 
           SKIP 
           pd = pd+1 
      ELSE 
           EXIT 
      ENDI 
      IF pd=17 
           EXIT 
      ENDI 
 ENDD 
 GOTO TOP 
 pd1 = zzkm1 
 pd2 = zzkm2 
 SET COLOR TO G+/B 
 @ 5, 2 SAY pd1 
 IF ye1<>0 
      @ 5, 22 SAY ye1 PICTURE '9,999,999,999.99' 
 ENDI 
 @ 5, 40 SAY pd2 
 IF ye2<>0 
      @ 5, 62 SAY ye2 PICTURE '9,999,999,999.99' 
 ENDI 
 pd = 1 
 DO WHILE .T. 
      x = INKEY(0) 
      DO CASE 
           CASE x=5 
                IF pd=1 .OR. RECNO()=1 
                     ?? CHR(7) 
                ELSE 
                     SET COLOR TO W/N 
                     pd1 = zzkm1 
                     pd1 = SUBSTR(pd1, 1, 18) 
                     pd2 = zzkm2 
                     pd2 = SUBSTR(pd2, 1, 18) 
                     @ 4+pd, 2 SAY pd1 
                     IF ye1<>0 
                          @ 4+pd, 22 SAY ye1 PICTURE '9,999,999,999.99' 
                     ENDI 
                     @ 4+pd, 40 SAY pd2 
                     IF ye2<>0 
                          @ 4+pd, 62 SAY ye2 PICTURE '9,999,999,999.99' 
                     ENDI 
                     SET COLOR TO G+/B 
                     SKIP -1 
                     pd = pd-1 
                     pd1 = zzkm1 
                     pd1 = SUBSTR(pd1, 1, 18) 
                     pd2 = zzkm2 
                     pd2 = SUBSTR(pd2, 1, 18) 
                     @ 4+pd, 2 SAY pd1 
                     IF ye1<>0 
                          @ 4+pd, 22 SAY ye1 PICTURE '9,999,999,999.99' 
                     ENDI 
                     @ 4+pd, 40 SAY pd2 
                     IF ye2<>0 
                          @ 4+pd, 62 SAY ye2 PICTURE '9,999,999,999.99' 
                     ENDI 
                ENDI 
           CASE x=24 
                IF pd=16 .OR. EOF() 
                     ?? CHR(7) 
                ELSE 
                     SET COLOR TO W/N 
                     pd1 = zzkm1 
                     pd1 = SUBSTR(pd1, 1, 18) 
                     pd2 = zzkm2 
                     pd2 = SUBSTR(pd2, 1, 18) 
                     @ 4+pd, 2 SAY pd1 
                     IF ye1<>0 
                          @ 4+pd, 22 SAY ye1 PICTURE '9,999,999,999.99' 
                     ENDI 
                     @ 4+pd, 40 SAY pd2 
                     IF ye2<>0 
                          @ 4+pd, 62 SAY ye2 PICTURE '9,999,999,999.99' 
                     ENDI 
                     SET COLOR TO G+/B 
                     SKIP 
                     pd = pd+1 
                     pd1 = zzkm1 
                     pd1 = SUBSTR(pd1, 1, 18) 
                     pd2 = zzkm2 
                     pd2 = SUBSTR(pd2, 1, 18) 
                     @ 4+pd, 2 SAY pd1 
                     IF ye1<>0 
                          @ 4+pd, 22 SAY ye1 PICTURE '9,999,999,999.99' 
                     ENDI 
                     @ 4+pd, 40 SAY pd2 
                     IF ye2<>0 
                          @ 4+pd, 62 SAY ye2 PICTURE '9,999,999,999.99' 
                     ENDI 
                ENDI 
           CASE x=18 
                IF ys1>1 
                     ys1 = ys1-1 
                     GOTO ys1*16 
                     SKIP -15 
                     pd = 1 
                     SET COLOR TO W/N 
                     @ 5, 2 CLEAR TO 20, 19 
                     @ 5, 21 CLEAR TO 20, 37 
                     @ 5, 40 CLEAR TO 20, 59 
                     @ 5, 61 CLEAR TO 20, 77 
                     DO WHILE .T. 
                          pd1 = zzkm1 
                          pd1 = SUBSTR(pd1, 1, 18) 
                          pd2 = zzkm2 
                          pd2 = SUBSTR(pd2, 1, 18) 
                          @ 4+pd, 2 SAY pd1 
                          IF ye1<>0 
                               @ 4+pd, 22 SAY ye1 PICTURE '9,999,999,999.99' 
                          ENDI 
                          @ 4+pd, 40 SAY pd2 
                          IF ye2<>0 
                               @ 4+pd, 62 SAY ye2 PICTURE '9,999,999,999.99' 
                          ENDI 
                          IF  .NOT. EOF() 
                               SKIP 
                               pd = pd+1 
                          ELSE 
                               EXIT 
                          ENDI 
                          IF pd=17 
                               EXIT 
                          ENDI 
                     ENDD 
                     SKIP -16 
                     pd1 = zzkm1 
                     pd2 = zzkm2 
                     SET COLOR TO G+/B 
                     @ 5, 2 SAY pd1 
                     IF ye1<>0 
                          @ 5, 22 SAY ye1 PICTURE '9,999,999,999.99' 
                     ENDI 
                     @ 5, 40 SAY pd2 
                     IF ye2<>0 
                          @ 5, 62 SAY ye2 PICTURE '9,999,999,999.99' 
                     ENDI 
                     pd = 1 
                ELSE 
                     ?? CHR(7) 
                ENDI 
           CASE x=3 
                SET COLOR TO W/N 
                IF ys10 
                               @ 4+pd, 22 SAY ye1 PICTURE '9,999,999,999.99' 
                          ENDI 
                          @ 4+pd, 40 SAY pd2 
                          IF ye2<>0 
                               @ 4+pd, 62 SAY ye2 PICTURE '9,999,999,999.99' 
                          ENDI 
                          IF  .NOT. EOF() 
                               SKIP 
                               pd = pd+1 
                          ELSE 
                               EXIT 
                          ENDI 
                          IF pd=17 
                               EXIT 
                          ENDI 
                     ENDD 
                     GOTO x 
                     pd1 = zzkm1 
                     pd2 = zzkm2 
                     SET COLOR TO G+/B 
                     @ 5, 2 SAY pd1 
                     IF ye1<>0 
                          @ 5, 22 SAY ye1 PICTURE '9,999,999,999.99' 
                     ENDI 
                     @ 5, 40 SAY pd2 
                     IF ye2<>0 
                          @ 5, 62 SAY ye2 PICTURE '9,999,999,999.99' 
                     ENDI 
                     pd = 1 
                ELSE 
                     ?? CHR(7) 
                ENDI 
           CASE x=27 
                EXIT 
           OTHE 
                ?? CHR(7) 
      ENDC 
 ENDD 
 CLOS DATABASES 
 SET CLOCK TO 23, 69 
 ERAS a%.dbf 
 ERAS b%.dbf 
 RETU 
*