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
*