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 
*