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


 ON KEY 
 SELE 1 
 GOTO BOTTOM 
 endrecn = RECNO() 
 endzd = FCOUNT() 
 GOTO TOP 
 SELE 2 
 SELE 3 
 DO WHILE  .NOT. EOF() 
      @ 8, 6 SAY 'finding... '+kmh 
      kmh1 = ALLTRIM(kmh) 
      rlen = LEN(kmh1) 
      rzy1 = rzy 
      rh = h 
      rl = l 
      rysf = ysf 
      fx1 = fx 
      rbj = bj 
      SELE 2 
      x = 0 
      SET FILTER TO kmh1$kmdm 
      LOCA ALL FOR kmh1=SUBSTR(kmdm, 1, rlen) .AND. zy=rzy1 
      DO WHILE  .NOT. EOF() 
           IF fx1<>'IN()' 
                x=x+&fx1 
           ENDI 
           CONT 
      ENDD 
      SELE 1 
      IF rh>endrecn .OR. rl>endzd 
           IF rh>endrecn 
                ?? CHR(7) 
                WAIT WINDOW '行'+STR(rh, 2, 0)+'公式超长!' 
           ENDI 
           IF rl>endzd 
                ?? CHR(7) 
                WAIT WINDOW '行'+STR(rh, 2, 0)+'公式超宽!' 
           ENDI 
      ELSE 
           GOTO rh 
           zd = FIELD(rl) 
           IF fx1='IN()' 
                x=&zd 
                x1 = '请输入' 
                x2 = ALLTRIM(rbj) 
                x3 = LEN(x1+x2) 
                ?? CHR(7) 
                DEFI WINDOW win FROM 4, 2 TO 8, 26+x3 SHADOW TITLE '手工输入报表数据' 
                ACTI WINDOW win 
                @ 1, 1 SAY x1+x2 GET x 
                READ 
                DEAC WINDOW win 
           ENDI 
           DO CASE 
                CASE rysf='=' 
                     repl &zd with x 
                CASE rysf='+' 
                     repl &zd with &zd+x 
                CASE rysf='-' 
                     repl &zd with &zd-x 
                CASE rysf='*' 
                     repl &zd with &zd*x 
                CASE rysf='/' 
                     IF x<>0 
                          repl &zd with &zd/x 
                     ELSE 
                          ?? CHR(7) 
                          WAIT WINDOW '行'+STR(rh, 1, 2)+'除法运算出错!' 
                     ENDI 
           ENDC 
      ENDI 
      SELE 3 
      SKIP 
 ENDD 
 ON KEY LABEL ESCape do Rquit 
 RETU 
*