www.pudn.com > jq_caiwu.ARJ > JSGSXG.PRG
ON KEY
ON KEY LABEL CTRL+N do _insert
ON KEY LABEL CTRL+T DO _DELE
ON KEY LABEL F6 do _inser1
BROW FIELDS h :H = '行' :V = h>0 :E = '行数应大于零!', l :H = '列' :V = l>0 :E = '列数应大于零!', ysf :H = '算符' :V = fysf() :E = "只能输入'= + - * / 符号!'", gs :H = '公式' :P = '@!' :V = fgs() :E = "输入'SUM DED DIV'", h1 :H = '行' :V = h1>0 :E = '列数应大于零!', l1 :H = '列' :E = '行数应大于零!', h2 :H = '行' :V = IIF(gs='DIV', h2>0, h2>=h1) :E = '应大于或等于前面行数!', l2 :H = '列' :V = IIF(gs<>'DIV', (fl() .AND. l2>=l1), l2>0) :E = '取数范围无法确定!' :F, bj :H = '备注' TITLE bt+'运算公式 F6 增加 ^T 删除 ^N 插入 ^W存盘退出'
PACK
CLOS DATABASES
ON KEY
ON KEY LABEL ESCape do Rquit
RETU
*
FUNC frzy
IF rzy='期末及累计' .OR. rzy='期初余额' .OR. rzy='本月合计'
pd = .T.
ELSE
pd = .F.
ENDI
RETU (pd)
*
FUNC fgs
IF gs='SUM' .OR. gs='DED' .OR. gs='DIV'
pd = .T.
ELSE
pd = .F.
ENDI
RETU (pd)
*
FUNC fysf
IF ysf='=' .OR. ysf='+' .OR. ysf='-' .OR. ysf='*' .OR. ysf='/'
pd = .T.
ELSE
pd = .F.
ENDI
RETU (pd)
*
FUNC fl
pd = .T.
IF h1<>h2 .AND. l1<>l2
pd = .F.
ENDI
RETU (pd)
*
PROC _insert
INSE BLANK BEFORE
DEFI WINDOW win FROM 2, 2 TO 10, 10
ACTI WINDOW win
DEAC WINDOW win
KEYB '{ctrl+leftarrow}'
KEYB '{ctrl+rightarrow}'
RETU
*
PROC _dele
IF DELETED()
RECA
ELSE
DELE
ENDI
RETU
*
PROC _inser1
SET CARRY ON
INSE BLANK
DEFI WINDOW win FROM 2, 2 TO 10, 10
ACTI WINDOW win
DEAC WINDOW win
KEYB '{ctrl+leftarrow}'
KEYB '{ctrl+rightarrow}'
SET CARRY OFF
RETU
*