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


 HIDE POPUP pop1 
 HIDE MENU mainmenu 
 SET CLOCK TO 0, 69 
 DEAC WINDOW win 
 ON KEY 
 SET SYSMENU OFF 
 SET COLOR TO W/N 
 CLOS ALL 
 CLEA 
 SELE 1 
 USE kmk 
 xg = 0 
 SET COLOR TO GR/B 
 @ 1, 0 SAY rdwmc PICTURE '99999999999999999999999' 
 @ 1, 67 SAY 'JQ财务系统' 
 SET COLOR TO G/N 
 @ 0, 25 SAY '科 目 维 护 、 管 理' 
 @ 2, 0 SAY '================================================================================' 
 @ 3, 0 SAY '科目代码' 
 @ 3, 10 SAY '    一 级 科 目 ' 
 @ 3, 31 SAY '      二 级 科 目' 
 @ 3, 52 SAY '       三 级 科 目' 
 @ 4, 0 SAY '================================================================================' 
 pd = 4 
 SET COLOR TO G/N 
 @ 23, 0 SAY '================================================================================' 
 SET COLOR TO B/GR 
 @ 24, 0 SAY ' ↑上笔: ↓下笔: PgUp上页: PgDn下页: F5整理: F6增加: Delete删除: ^P打印: Esc退出 ' 
 SET COLOR TO W/N 
 GOTO BOTTOM 
 pd = RECNO() 
 pd = pd/18 
 pd1 = INT(pd) 
 ys = pd-pd1 
 IF ys=0 
      ys = pd1 
 ELSE 
      ys = pd1+1 
 ENDI 
 km1 = ' ' 
 km2 = ' ' 
 GOTO TOP 
 pd = 1 
 ys1 = 1 
 IF LEN(LTRIM(TRIM(kmdm)))=3 
      km1 = kmmc 
 ENDI 
 IF LEN(LTRIM(TRIM(kmdm)))=7 
      km2 = kmmc 
 ENDI 
 DO WHILE .T. 
      IF LEN(LTRIM(TRIM(kmdm)))=3 
           km1 = kmmc 
      ENDI 
      IF LEN(LTRIM(TRIM(kmdm)))=7 
           km2 = kmmc 
      ENDI 
      @ 4+pd, 0 SAY kmdm 
      pd2 = LEN(LTRIM(TRIM(kmdm))) 
      DO CASE 
           CASE pd2=3 
                @ 4+pd, 11 SAY kmmc 
           CASE pd2=7 
                @ 4+pd, 11 SAY km1 
                @ 4+pd, 33 SAY kmmc 
           CASE pd2=9 
                @ 4+pd, 11 SAY km1 
                @ 4+pd, 33 SAY km2 
                @ 4+pd, 55 SAY kmmc 
      ENDC 
      IF  .NOT. EOF() 
           SKIP 
           pd = pd+1 
      ELSE 
           EXIT 
      ENDI 
      IF pd=19 
           EXIT 
      ENDI 
 ENDD 
 GOTO TOP 
 pd = 1 
 SET COLOR TO GR+/BG 
 IF LEN(LTRIM(TRIM(kmdm)))=3 
      km1 = kmmc 
 ENDI 
 IF LEN(LTRIM(TRIM(kmdm)))=7 
      km2 = kmmc 
 ENDI 
 @ 4+pd, 0 SAY kmdm 
 pd2 = LEN(LTRIM(TRIM(kmdm))) 
 DO CASE 
      CASE pd2=3 
           @ 4+pd, 11 SAY kmmc 
           @ 4+pd, 33 SAY '                   ' 
           @ 4+pd, 55 SAY '                   ' 
      CASE pd2=7 
           @ 4+pd, 11 SAY km1 
           @ 4+pd, 33 SAY kmmc 
           @ 4+pd, 55 SAY '                   ' 
      CASE pd2=9 
           @ 4+pd, 11 SAY km1 
           @ 4+pd, 33 SAY km2 
           @ 4+pd, 55 SAY kmmc 
 ENDC 
 DO WHILE .T. 
      x = INKEY(0) 
      DO CASE 
           CASE x=16 
                hc = pd 
                eof = .F. 
                IF EOF() 
                     eof = .T. 
                     hc = hc-1 
                ENDI 
                x = RECNO() 
                SAVE SCREEN TO pm 
                DO kmdy 
                REST SCREEN FROM pm 
                IF eof 
                     GOTO BOTTOM 
                ELSE 
                     GOTO x 
                ENDI 
                pd = hc 
           CASE x=1 
                SAVE SCREEN TO crt 
                xg = 0 
                x = RECNO() 
                SET COLOR TO W+/BG 
                @ 7, 20 CLEAR TO 10, 50 
                x1 = 7 
                x2 = 10 
                y1 = 22 
                y2 = 48 
                DO box-1 
                @ 8, 26 SAY '  正在进行科目整理,' 
                @ 9, 26 SAY '  请 稍 候 ......' 
                DO kmkzl 
                GOTO x 
                REST SCREEN FROM crt 
                SET COLOR TO GR+/BG 
                IF LEN(LTRIM(TRIM(kmdm)))=3 
                     km1 = kmmc 
                ENDI 
                IF LEN(LTRIM(TRIM(kmdm)))=7 
                     km2 = kmmc 
                ENDI 
                @ 4+pd, 0 SAY kmdm 
                pd2 = LEN(LTRIM(TRIM(kmdm))) 
                DO CASE 
                     CASE pd2=3 
                          @ 4+pd, 11 SAY kmmc 
                          @ 4+pd, 33 SAY '                   ' 
                          @ 4+pd, 55 SAY '                   ' 
                     CASE pd2=7 
                          @ 4+pd, 11 SAY km1 
                          @ 4+pd, 33 SAY kmmc 
                          @ 4+pd, 55 SAY '                   ' 
                     CASE pd2=9 
                          @ 4+pd, 11 SAY km1 
                          @ 4+pd, 33 SAY km2 
                          @ 4+pd, 55 SAY kmmc 
                ENDC 
           CASE x=-5 
                xg = 1 
                IF EOF() .AND.  .NOT. BOF() 
                     x1 = RECNO()-1 
                     pd = pd-1 
                ELSE 
                     x1 = RECNO() 
                ENDI 
                DO WHILE .T. 
                     pd1 = '          ' 
                     SET COLOR TO RB+/GR 
                     @ 4+pd, 0 SAY '' GET pd1 PICTURE '999999999' 
                     READ 
                     pd1 = TRIM(pd1) 
                     pd1 = LTRIM(pd1) 
                     xx = pd1 
                     IF 7<>LEN(pd1) .AND. 9<>LEN(pd1) 
                          SET COLOR TO BG+/RB 
                          ? CHR(7) 
                          @ 0, 0 CLEAR TO 3, 28 
                          @ 1, 1 SAY ' 编号不正确,应是7或9个数字' 
                          @ 2, 5 SAY '    按任意键继续......' 
                          a1 = INKEY(0) 
                          SET COLOR TO W/N 
                          @ 0, 0 CLEAR TO 3, 28 
                          SET COLOR TO GR/B 
                          @ 1, 0 SAY '广西盐业公司' 
                          SET COLOR TO G/N 
                          @ 0, 25 SAY '科 目 维 护 、 管 理' 
                          @ 2, 0 SAY '================================================================================' 
                          @ 3, 0 SAY '科目代码' 
                          @ 3, 11 SAY '   一 级 科 目' 
                          LOOP 
                     ENDI 
                     IF LEN(pd1)>3 
                          pd2 = SUBSTR(pd1, 1, 3) 
                          LOCA ALL FOR pd2$kmdm .AND. LEN(LTRIM(TRIM(pd2)))=LEN(LTRIM(TRIM(kmdm))) 
                          IF EOF() 
                               ?? CHR(7) 
                               SET COLOR TO BG+/RB 
                               @ 0, 0 CLEAR TO 3, 28 
                               @ 1, 7 SAY '没有上级科目!' 
                               @ 2, 5 SAY '按任意键继续......' 
                               a1 = INKEY(0) 
                               SET COLOR TO W/N 
                               @ 0, 0 CLEAR TO 3, 28 
                               SET COLOR TO GR/B 
                               @ 1, 0 SAY '广西盐业公司' 
                               SET COLOR TO G/N 
                               @ 0, 25 SAY '科 目 维 护 、 管 理' 
                               @ 2, 0 SAY '================================================================================' 
                               @ 3, 0 SAY '科目代码' 
                               @ 3, 11 SAY '    一 级 科 目' 
                               LOOP 
                          ENDI 
                          IF LEN(pd1)>7 
                               pd2 = SUBSTR(pd1, 1, 7) 
                               LOCA ALL FOR pd2$kmdm .AND. LEN(LTRIM(TRIM(pd2)))=LEN(LTRIM(TRIM(kmdm))) 
                               IF EOF() 
                                    ?? CHR(7) 
                                    SET COLOR TO BG+/RB 
                                    @ 0, 0 CLEAR TO 3, 28 
                                    @ 1, 7 SAY '没有上级科目!' 
                                    @ 2, 5 SAY '按任意键继续......' 
                                    a1 = INKEY(0) 
                                    SET COLOR TO W/N 
                                    @ 0, 0 CLEAR TO 3, 28 
                                    SET COLOR TO GR/B 
                                    @ 1, 0 SAY '广西盐业公司' 
                                    SET COLOR TO G/N 
                                    @ 0, 25 SAY '科 目 维 护 、 管 理' 
                                    @ 2, 0 SAY '================================================================================' 
                                    @ 3, 0 SAY '科目代码' 
                                    @ 3, 11 SAY '    一 级 科 目' 
                                    LOOP 
                               ENDI 
                          ENDI 
                     ENDI 
                     LOCA ALL FOR pd1$kmdm 
                     IF  .NOT. EOF() 
                          pd1 = 'F' 
                          SET COLOR TO BG+/RB 
                          @ 0, 0 CLEAR TO 3, 28 
                          @ 1, 5 SAY '此码科目库原已建立,' 
                          @ 2, 5 SAY '是否输入新的号码?' 
                          @ 3, 5 SAY ' Y=是,其他=否?' GET pd1 
                          READ 
                          SET COLOR TO W/N 
                          @ 0, 0 CLEAR TO 3, 28 
                          SET COLOR TO GR/B 
                          @ 1, 0 SAY '广西盐业公司' 
                          SET COLOR TO G/N 
                          @ 0, 25 SAY '科 目 维 护 、 管 理' 
                          @ 2, 0 SAY '================================================================================' 
                          @ 3, 0 SAY '科目代码' 
                          @ 3, 11 SAY '    一 级 科 目' 
                          IF pd1='Y' .OR. pd1='y' 
                               LOOP 
                          ELSE 
                               EXIT 
                          ENDI 
                     ENDI 
                     APPE BLANK 
                     GOTO BOTTOM 
                     REPL kmdm WITH xx 
                     IF 33 
                               pd3 = SUBSTR(LTRIM(kmdm), 1, 3) 
                               LOCA ALL FOR pd3$kmdm .AND. LEN(LTRIM(TRIM(kmdm)))=LEN(LTRIM(TRIM(pd3))) 
                               km1 = kmmc 
                          ENDI 
                          GOTO x 
                          IF LEN(LTRIM(TRIM(kmdm)))>7 
                               pd3 = SUBSTR(LTRIM(kmdm), 1, 7) 
                               LOCA ALL FOR pd3$kmdm .AND. LEN(LTRIM(TRIM(kmdm)))=LEN(LTRIM(TRIM(pd3))) 
                               km2 = kmmc 
                          ENDI 
                          GOTO x 
                          IF LEN(LTRIM(TRIM(kmdm)))=3 
                               km1 = kmmc 
                          ENDI 
                          @ 4+pd, 0 SAY kmdm 
                          pd2 = LEN(LTRIM(TRIM(kmdm))) 
                          DO CASE 
                               CASE pd2=3 
                                    @ 4+pd, 11 SAY kmmc 
                                    @ 4+pd, 33 SAY '                   ' 
                                    @ 4+pd, 55 SAY '                   ' 
                               CASE pd2=7 
                                    @ 4+pd, 11 SAY km1 
                                    @ 4+pd, 33 SAY kmmc 
                                    @ 4+pd, 55 SAY '                   ' 
                               CASE pd2=9 
                                    @ 4+pd, 11 SAY km1 
                                    @ 4+pd, 33 SAY km2 
                                    @ 4+pd, 55 SAY kmmc 
                          ENDC 
                     ENDI 
                ENDI 
           CASE x=7 
                IF err='1' 
                     ?? CHR(7) 
                     SAVE SCREEN TO crt 
                     SET COLOR TO W+/BG 
                     @ 7, 20 CLEAR TO 10, 50 
                     x1 = 7 
                     x2 = 10 
                     y1 = 22 
                     y2 = 48 
                     DO box-1 
                     @ 8, 26 SAY '本科目为系统级科目,' 
                     @ 9, 26 SAY '请勿删除 ... ... ' 
                     i = INKEY(0) 
                     REST SCREEN FROM crt 
                ELSE 
                     IF EOF() .AND.  .NOT. BOF() 
                          ?? CHR(7) 
                     ELSE 
                          x1 = RECNO() 
                          x2 = x1 
                          GOTO BOTTOM 
                          IF x1=RECNO() 
                               x2 = x1-1 
                               IF pd>1 
                                    pd = pd-1 
                               ENDI 
                          ENDI 
                          IF BOF() 
                               GOTO TOP 
                          ELSE 
                               GOTO x1 
                          ENDI 
                          DELE 
                          PACK 
                          IF BOF() 
                               GOTO TOP 
                          ELSE 
                               GOTO x2 
                          ENDI 
                          pd1 = pd 
                          SET COLOR TO W/N 
                          @ 4+pd, 0 CLEAR TO 22, 79 
                          x = RECNO() 
                          IF LEN(LTRIM(TRIM(kmdm)))>3 
                               pd3 = SUBSTR(LTRIM(kmdm), 1, 3) 
                               LOCA ALL FOR pd3$kmdm .AND. LEN(LTRIM(TRIM(kmdm)))=LEN(LTRIM(TRIM(pd3))) 
                               km1 = kmmc 
                          ENDI 
                          IF LEN(LTRIM(TRIM(kmdm)))>7 
                               pd3 = SUBSTR(LTRIM(kmdm), 1, 7) 
                               LOCA ALL FOR pd3$kmdm .AND. LEN(LTRIM(TRIM(kmdm)))=LEN(LTRIM(TRIM(pd3))) 
                               km2 = kmmc 
                          ENDI 
                          GOTO x 
                          DO WHILE .T. 
                               IF LEN(LTRIM(TRIM(kmdm)))=3 
                                    km1 = kmmc 
                               ENDI 
                               IF LEN(LTRIM(TRIM(kmdm)))=7 
                                    km2 = kmmc 
                               ENDI 
                               @ 4+pd, 0 SAY kmdm 
                               pd2 = LEN(LTRIM(TRIM(kmdm))) 
                               DO CASE 
                                    CASE pd2=3 
                                         @ 4+pd, 11 SAY kmmc 
                                         @ 4+pd, 33 SAY '                   ' 
                                         @ 4+pd, 55 SAY '                   ' 
                                    CASE pd2=7 
                                         @ 4+pd, 11 SAY km1 
                                         @ 4+pd, 33 SAY kmmc 
                                         @ 4+pd, 55 SAY '                   ' 
                                    CASE pd2=9 
                                         @ 4+pd, 11 SAY km1 
                                         @ 4+pd, 33 SAY km2 
                                         @ 4+pd, 55 SAY kmmc 
                               ENDC 
                               IF  .NOT. EOF() 
                                    SKIP 
                                    pd = pd+1 
                               ELSE 
                                    EXIT 
                               ENDI 
                               IF pd=19 
                                    EXIT 
                               ENDI 
                          ENDD 
                          GOTO BOTTOM 
                          pd = RECNO() 
                          pd = pd/18 
                          pd2 = INT(pd) 
                          ys = pd-pd2 
                          IF ys=0 
                               ys = pd2 
                          ELSE 
                               ys = pd2+1 
                          ENDI 
                          IF ys1>ys 
                               ys1 = ys 
                               GOTO (ys1-1)*18+1 
                               x2 = RECNO() 
                               pd = 1 
                               SET COLOR TO W/N 
                               @ 5, 0 CLEAR TO 22, 79 
                               x = RECNO() 
                               IF LEN(LTRIM(TRIM(kmdm)))>3 
                                    pd3 = SUBSTR(LTRIM(kmdm), 1, 3) 
                                    LOCA ALL FOR pd3$kmdm .AND. LEN(LTRIM(TRIM(kmdm)))=LEN(LTRIM(TRIM(pd3))) 
                                    km1 = kmmc 
                               ENDI 
                               IF LEN(LTRIM(TRIM(kmdm)))>7 
                                    pd3 = SUBSTR(LTRIM(kmdm), 1, 7) 
                                    LOCA ALL FOR pd3$kmdm .AND. LEN(LTRIM(TRIM(kmdm)))=LEN(LTRIM(TRIM(pd3))) 
                                    km2 = kmmc 
                               ENDI 
                               GOTO x 
                               DO WHILE .T. 
                                    IF LEN(LTRIM(TRIM(kmdm)))=3 
                                         km1 = kmmc 
                                    ENDI 
                                    IF LEN(LTRIM(TRIM(kmdm)))=7 
                                         km2 = kmmc 
                                    ENDI 
                                    @ 4+pd, 0 SAY kmdm 
                                    pd2 = LEN(LTRIM(TRIM(kmdm))) 
                                    DO CASE 
                                         CASE pd2=3 
                                              @ 4+pd, 11 SAY kmmc 
                                              @ 4+pd, 33 SAY '                   ' 
                                              @ 4+pd, 55 SAY '                   ' 
                                         CASE pd2=7 
                                              @ 4+pd, 11 SAY km1 
                                              @ 4+pd, 33 SAY kmmc 
                                              @ 4+pd, 55 SAY '                   ' 
                                         CASE pd2=9 
                                              @ 4+pd, 11 SAY km1 
                                              @ 4+pd, 33 SAY km2 
                                              @ 4+pd, 55 SAY kmmc 
                                    ENDC 
                                    SKIP 
                                    pd = pd+1 
                                    IF pd=19 
                                         EXIT 
                                    ENDI 
                               ENDD 
                               GOTO x2 
                          ELSE 
                               IF BOF() 
                                    GOTO TOP 
                               ELSE 
                                    GOTO x2 
                               ENDI 
                          ENDI 
                          pd = pd1 
                          SET COLOR TO GR+/BG 
                          x = RECNO() 
                          IF LEN(LTRIM(TRIM(kmdm)))>3 
                               pd3 = SUBSTR(LTRIM(kmdm), 1, 3) 
                               LOCA ALL FOR pd3$kmdm .AND. LEN(LTRIM(TRIM(kmdm)))=LEN(LTRIM(TRIM(pd3))) 
                               km1 = kmmc 
                          ENDI 
                          IF LEN(LTRIM(TRIM(kmdm)))>7 
                               pd3 = SUBSTR(LTRIM(kmdm), 1, 7) 
                               LOCA ALL FOR pd3$kmdm .AND. LEN(LTRIM(TRIM(kmdm)))=LEN(LTRIM(TRIM(pd3))) 
                               km2 = kmmc 
                          ENDI 
                          GOTO x 
                          IF LEN(LTRIM(TRIM(kmdm)))=3 
                               km1 = kmmc 
                          ENDI 
                          IF LEN(LTRIM(TRIM(kmdm)))=7 
                               km2 = kmmc 
                          ENDI 
                          @ 4+pd, 0 SAY kmdm 
                          pd2 = LEN(LTRIM(TRIM(kmdm))) 
                          DO CASE 
                               CASE pd2=3 
                                    @ 4+pd, 11 SAY kmmc 
                                    @ 4+pd, 33 SAY '                   ' 
                                    @ 4+pd, 55 SAY '                   ' 
                               CASE pd2=7 
                                    @ 4+pd, 11 SAY km1 
                                    @ 4+pd, 33 SAY kmmc 
                                    @ 4+pd, 55 SAY '                   ' 
                               CASE pd2=9 
                                    @ 4+pd, 11 SAY km1 
                                    @ 4+pd, 33 SAY km2 
                                    @ 4+pd, 55 SAY kmmc 
                          ENDC 
                     ENDI 
                ENDI 
           CASE x=24 
                IF pd=18 .OR. EOF() 
                     ?? CHR(7) 
                ELSE 
                     SET COLOR TO W/N 
                     IF LEN(LTRIM(TRIM(kmdm)))=3 
                          km1 = kmmc 
                     ENDI 
                     IF LEN(LTRIM(TRIM(kmdm)))=7 
                          km2 = kmmc 
                     ENDI 
                     @ 4+pd, 0 SAY kmdm 
                     pd2 = LEN(LTRIM(TRIM(kmdm))) 
                     DO CASE 
                          CASE pd2=3 
                               @ 4+pd, 11 SAY kmmc 
                               @ 4+pd, 33 SAY '                   ' 
                               @ 4+pd, 55 SAY '                   ' 
                          CASE pd2=7 
                               @ 4+pd, 11 SAY km1 
                               @ 4+pd, 33 SAY kmmc 
                               @ 4+pd, 55 SAY '                   ' 
                          CASE pd2=9 
                               @ 4+pd, 11 SAY km1 
                               @ 4+pd, 33 SAY km2 
                               @ 4+pd, 55 SAY kmmc 
                     ENDC 
                     SET COLOR TO GR+/BG 
                     SKIP 
                     pd = pd+1 
                     IF LEN(LTRIM(TRIM(kmdm)))=3 
                          km1 = kmmc 
                     ENDI 
                     IF LEN(LTRIM(TRIM(kmdm)))=7 
                          km2 = kmmc 
                     ENDI 
                     @ 4+pd, 0 SAY kmdm 
                     pd2 = LEN(LTRIM(TRIM(kmdm))) 
                     DO CASE 
                          CASE pd2=3 
                               @ 4+pd, 11 SAY kmmc 
                               @ 4+pd, 33 SAY '                   ' 
                               @ 4+pd, 55 SAY '                   ' 
                          CASE pd2=7 
                               @ 4+pd, 11 SAY km1 
                               @ 4+pd, 33 SAY kmmc 
                               @ 4+pd, 55 SAY '                   ' 
                          CASE pd2=9 
                               @ 4+pd, 11 SAY km1 
                               @ 4+pd, 33 SAY km2 
                               @ 4+pd, 55 SAY kmmc 
                     ENDC 
                ENDI 
           CASE x=18 
                IF ys1>1 
                     ys1 = ys1-1 
                     GOTO ys1*18 
                     SKIP -17 
                     pd = 1 
                     SET COLOR TO W/N 
                     @ 5, 0 CLEAR TO 22, 79 
                     x = RECNO() 
                     IF LEN(LTRIM(TRIM(kmdm)))>3 
                          pd3 = SUBSTR(LTRIM(kmdm), 1, 3) 
                          LOCA ALL FOR pd3$kmdm .AND. LEN(LTRIM(TRIM(kmdm)))=LEN(LTRIM(TRIM(pd3))) 
                          km1 = kmmc 
                     ENDI 
                     GOTO x 
                     IF LEN(LTRIM(TRIM(kmdm)))>7 
                          pd3 = SUBSTR(LTRIM(kmdm), 1, 7) 
                          LOCA ALL FOR pd3$kmdm .AND. LEN(LTRIM(TRIM(kmdm)))=LEN(LTRIM(TRIM(pd3))) 
                          km2 = kmmc 
                     ENDI 
                     GOTO x 
                     DO WHILE .T. 
                          IF LEN(LTRIM(TRIM(kmdm)))=3 
                               km1 = kmmc 
                          ENDI 
                          IF LEN(LTRIM(TRIM(kmdm)))=7 
                               km2 = kmmc 
                          ENDI 
                          @ 4+pd, 0 SAY kmdm 
                          pd2 = LEN(LTRIM(TRIM(kmdm))) 
                          DO CASE 
                               CASE pd2=3 
                                    @ 4+pd, 11 SAY kmmc 
                                    @ 4+pd, 33 SAY '                   ' 
                                    @ 4+pd, 55 SAY '                   ' 
                               CASE pd2=7 
                                    @ 4+pd, 11 SAY km1 
                                    @ 4+pd, 33 SAY kmmc 
                                    @ 4+pd, 55 SAY '                   ' 
                               CASE pd2=9 
                                    @ 4+pd, 11 SAY km1 
                                    @ 4+pd, 33 SAY km2 
                                    @ 4+pd, 55 SAY kmmc 
                          ENDC 
                          IF  .NOT. EOF() 
                               SKIP 
                               pd = pd+1 
                          ELSE 
                               EXIT 
                          ENDI 
                          IF pd=19 
                               EXIT 
                          ENDI 
                     ENDD 
                     SKIP -18 
                     SET COLOR TO GR+/BG 
                     pd = 1 
                     x = RECNO() 
                     IF LEN(LTRIM(TRIM(kmdm)))>3 
                          pd3 = SUBSTR(LTRIM(kmdm), 1, 3) 
                          LOCA ALL FOR pd3$kmdm .AND. LEN(LTRIM(TRIM(kmdm)))=LEN(LTRIM(TRIM(pd3))) 
                          km1 = kmmc 
                     ENDI 
                     GOTO x 
                     IF LEN(LTRIM(TRIM(kmdm)))>7 
                          pd3 = SUBSTR(LTRIM(kmdm), 1, 7) 
                          LOCA ALL FOR pd3$kmdm .AND. LEN(LTRIM(TRIM(kmdm)))=LEN(LTRIM(TRIM(pd3))) 
                          km2 = kmmc 
                     ENDI 
                     GOTO x 
                     IF LEN(LTRIM(TRIM(kmdm)))=3 
                          km1 = kmmc 
                     ENDI 
                     IF LEN(LTRIM(TRIM(kmdm)))=7 
                          km2 = kmmc 
                     ENDI 
                     @ 4+pd, 0 SAY kmdm 
                     pd2 = LEN(LTRIM(TRIM(kmdm))) 
                     DO CASE 
                          CASE pd2=3 
                               @ 4+pd, 11 SAY kmmc 
                               @ 4+pd, 33 SAY '                   ' 
                               @ 4+pd, 55 SAY '                   ' 
                          CASE pd2=7 
                               @ 4+pd, 11 SAY km1 
                               @ 4+pd, 33 SAY kmmc 
                               @ 4+pd, 55 SAY '                   ' 
                          CASE pd2=9 
                               @ 4+pd, 11 SAY km1 
                               @ 4+pd, 33 SAY km2 
                               @ 4+pd, 55 SAY kmmc 
                     ENDC 
                     pd = 1 
                ELSE 
                     ?? CHR(7) 
                ENDI 
           CASE x=3 
                SET COLOR TO W/N 
                IF ys13 
                          pd3 = SUBSTR(LTRIM(kmdm), 1, 3) 
                          LOCA ALL FOR pd3$kmdm .AND. LEN(LTRIM(TRIM(kmdm)))=LEN(LTRIM(TRIM(pd3))) 
                          km1 = kmmc 
                     ENDI 
                     GOTO x 
                     IF LEN(LTRIM(TRIM(kmdm)))>7 
                          pd3 = SUBSTR(LTRIM(kmdm), 1, 7) 
                          LOCA ALL FOR pd3$kmdm .AND. LEN(LTRIM(TRIM(kmdm)))=LEN(LTRIM(TRIM(pd3))) 
                          km2 = kmmc 
                     ENDI 
                     GOTO x 
                     DO WHILE .T. 
                          IF LEN(LTRIM(TRIM(kmdm)))=3 
                               km1 = kmmc 
                          ENDI 
                          IF LEN(LTRIM(TRIM(kmdm)))=7 
                               km2 = kmmc 
                          ENDI 
                          @ 4+pd, 0 SAY kmdm 
                          pd2 = LEN(LTRIM(TRIM(kmdm))) 
                          DO CASE 
                               CASE pd2=3 
                                    @ 4+pd, 11 SAY kmmc 
                                    @ 4+pd, 33 SAY '                   ' 
                                    @ 4+pd, 55 SAY '                   ' 
                               CASE pd2=7 
                                    @ 4+pd, 11 SAY km1 
                                    @ 4+pd, 33 SAY kmmc 
                                    @ 4+pd, 55 SAY '                   ' 
                               CASE pd2=9 
                                    @ 4+pd, 11 SAY km1 
                                    @ 4+pd, 33 SAY km2 
                                    @ 4+pd, 55 SAY kmmc 
                          ENDC 
                          IF  .NOT. EOF() 
                               SKIP 
                               pd = pd+1 
                          ELSE 
                               EXIT 
                          ENDI 
                          IF pd=19 
                               EXIT 
                          ENDI 
                     ENDD 
                     GOTO x 
                     SET COLOR TO GR+/BG 
                     pd = 1 
                     x = RECNO() 
                     IF LEN(LTRIM(TRIM(kmdm)))>3 
                          pd3 = SUBSTR(LTRIM(kmdm), 1, 3) 
                          LOCA ALL FOR pd3$kmdm .AND. LEN(LTRIM(TRIM(kmdm)))=LEN(LTRIM(TRIM(pd3))) 
                          km1 = kmmc 
                     ENDI 
                     GOTO x 
                     IF LEN(LTRIM(TRIM(kmdm)))>7 
                          pd3 = SUBSTR(LTRIM(kmdm), 1, 7) 
                          LOCA ALL FOR pd3$kmdm .AND. LEN(LTRIM(TRIM(kmdm)))=LEN(LTRIM(TRIM(pd3))) 
                          km2 = kmmc 
                     ENDI 
                     GOTO x 
                     IF LEN(LTRIM(TRIM(kmdm)))=3 
                          km1 = kmmc 
                     ENDI 
                     IF LEN(LTRIM(TRIM(kmdm)))=7 
                          km2 = kmmc 
                     ENDI 
                     @ 4+pd, 0 SAY kmdm 
                     pd2 = LEN(LTRIM(TRIM(kmdm))) 
                     DO CASE 
                          CASE pd2=3 
                               @ 4+pd, 11 SAY kmmc 
                               @ 4+pd, 33 SAY '                   ' 
                               @ 4+pd, 55 SAY '                   ' 
                          CASE pd2=7 
                               @ 4+pd, 11 SAY km1 
                               @ 4+pd, 33 SAY kmmc 
                               @ 4+pd, 55 SAY '                   ' 
                          CASE pd2=9 
                               @ 4+pd, 11 SAY km1 
                               @ 4+pd, 33 SAY km2 
                               @ 4+pd, 55 SAY kmmc 
                     ENDC 
                     pd = 1 
                ELSE 
                     ?? CHR(7) 
                ENDI 
           CASE x=27 
                EXIT 
           OTHE 
                ?? CHR(7) 
      ENDC 
 ENDD 
 IF xg=1 
      SET COLOR TO W+/BG 
      @ 7, 20 CLEAR TO 10, 50 
      x1 = 7 
      x2 = 10 
      y1 = 22 
      y2 = 48 
      DO box-1 
      @ 8, 28 SAY '正在进行科目整理,' 
      @ 9, 28 SAY '请 稍 候 ......' 
      DO kmkzl 
 ENDI 
 CLOS DATABASES 
 SET COLOR TO W+/B 
 @ 0, 0, 23, 79 BOX '北北北北' 
 SET COLOR TO W+/N 
 @ 1, 1, 22, 78 BOX '鞍鞍鞍鞍鞍' 
 @ 23, 28 SAY '当前数据的月份:'+STR(ryear, 4, 0)+'年'+STR(ryf, 2, 0)+'月' COLOR B+/BG  
 @ 24, 0 SAY ' JQ001财务管理系统(Ver2.5)  黄朝生研制  版权所有  南宁市建政路51号  邮编:530023 ' COLOR R/W  
 SET CLOCK TO 23, 69 
 ON KEY LABEL Escape do Rquit 
 RETU 
*