📄 -i+
字号:
DO rk && 键控过程,按Ctrl+End结束程序
STORE zhai1(h) TO skdf(i,1) && 记下摘要
IF h>=2 && 如果选中第二以下的摘要
FOR w=h TO 2 STEP -1 && 循环
zhai1(w)=zhai1(w-1) && 向下递推
NEXT && 下一个FOR循环
ENDIF
zhai1(1)=skdf(i,1) && 第一个摘要自动更新 **
zhai1(20)=' ' && 第二十个为空
DEAC WINDOW zyw && 挂起摘要窗口
@ 4.4+i*2.2,3.5 GET skdf(i,1) SIZE 1,14 && 编辑摘要
@ 4.4+i*2.2,23 GET z3 DEFAULT '☆' SIZE 1,2,1 DISABLE && 在显示结算方式之处显示☆
DEFI WINDOW zyw FROM 6,77 TO 16,103 TITLE " 结算方式 " ;
ZOOM MINIMIZE FLOAT DOUB CLOSE && 定义窗口
ACTI WINDOW zyw && 激活窗口
STORE 1 TO h && 初始化变量
@ 1,1 GET h DEFA 2 FUNC '&t' FROM jsfs && 结算方式List列表
READ && 激活对象
STORE jsfs(h) TO skdf(i,2) && 记下结算方式
FOR h1=h TO 2 STEP -1 && 循环
jsfs(h1)=jsfs(h1-1) && 结算方式递推
NEXT && 下一个FOR循环
jsfs(1)=skdf(i,2) && 第一个总是刚选过的
DEAC WINDOW zyw && 挂起窗口
@ 4.4+i*2.2,22 GET skdf(i,2) SIZE 1,8 DISABLE && 显示结算方式,禁止编辑
@ 4.4+i*2.2,32 GET skdf(i,3) SIZE 1,4 && 编辑票号
READ && 激活对象
DO rk && 键控过程,按Ctrl+End结束程序
NEXT && 下一个FOR循环
** 填写收款借方和贷方的金额金额
STORE .F. TO jc && 初始化逻辑变量
DO WHILE jc=.F. && 循环
STORE 0.00 TO skjfzj,jehj_m && 初始化变量
FOR i=1 TO mj && 循环,终值为借方个数
@ i*1.2+0.4,66 GET skjf(i,4) SIZE 1,12 DEFA 0.00 FONT '宋体',11 && 编辑借方金额
NEXT && 下一个FOR循
FOR i=1 TO m1 && 循环
@ 4.4+i*2.2,67 GET skdf(i,6) SIZE 1,12 FONT '宋体',11 && 编辑贷方金额
NEXT && 下一个FOR循
READ && 激活对象
DO rk && 键控过程,按Ctrl+End结束程序
STORE 0 TO skjfzj && 收款借方总计变量清零
FOR i=1 TO mj && 循环
skjfzj=skjfzj+skjf(i,4) && 累加
NEXT && 下一个FOR循
STORE 0 TO skdfzj && 收款贷方总计变量清零
FOR i=1 TO m1 && 循环
skdfzj=skdfzj+skdf(i,6) && 累加
NEXT && 下一个FOR循环
@ 20,54 GET skjfzj SIZE 1,12 DISABLE && 显示收款借方总计,禁止编辑
@ 20,67 GET skdfzj SIZE 1,12 DISABLE && 显示收款贷方总计,禁止编辑
READ && 激活对象
IF skjfzj=skdfzj && 如果借方总计等于贷方总计
jehj_m=skjfzj && 记下金额合计
kmmxgs=mj+m1 && 记下借方和贷方科目和明细个数
? ' 正在登帐 请稍候 ' && 显示信息
STORE .T. TO jc && 逻辑变量为真,跳出DO循环
ELSE && 否则
DEFI WINDOW jg FROM 6,80 TO 12,103 TITLE " 警告 " ;
ZOOM MINIMIZE FLOAT DOUB CLOSE && 定义窗口
ACTI WINDOW jg && 激活窗口
@ 1,1 GET jg DEFA '借贷不相等, 请纠正' COLOR r/w && 出错信息
FOR N=1 TO 1000 && 循环
?? CHR(7) && 笛声
NEXT && 下一个FOR循环
READ && 激活对象
DEAC WINDOW jg && 挂起窗口
STORE .F. TO jc
ENDIF
ENDDO && 下一个DO循环,重新填写金额
DEAC WINDOW skjzpz && 挂起收款记账凭证窗口
FOR i=1 TO mj && 循环,终值为收款借方科目和明细个数
zza(i,1)=skjf(i,3) && 摘要
zza(i,4)=skjf(i,1) && 科目名称
zza(i,5)=skjf(i,2) && 明细名称
zza(i,6)=skjf(i,4) && 借方金额
zza(i,8)='借' && 借贷标识
zza(i,9)=skjf(i,5) && 登张数据表名
NEXT && 下一个FOR循环
FOR i=1 TO m1 && 循环,终值为收款贷方科目和明细个数
zza(i+mj,1)=skdf(i,1) && 摘要
zza(i+mj,2)=skdf(i,2) && 结算方式
zza(i+mj,3)=skdf(i,3) && 票号
zza(i+mj,4)=skdf(i,4) && 科目名称
zza(i+mj,5)=skdf(i,5) && 明细名称
zza(i+mj,7)=skdf(i,6) && 贷方金额
zza(i+mj,8)='贷' && 借贷标识
zza(i+mj,9)=skdf(i,7) && 登张数据表名
NEXT && 下一个FOR循环
kmmxgs=mj+m1 && 科目明细个数
ELSE && 否则 收款贷方科目明细个数大于6
FOR i=1 TO mj && 循环,终值为收款借方科目和明细个数
zza(i,1)=skjf(i,3) && 摘要
zza(i,4)=skjf(i,1) && 科目名称
zza(i,5)=skjf(i,2) && 明细名称
zza(i,6)=skjf(i,4) && 借方金额
zza(i,8)='借' && 借贷标识
zza(i,9)=skjf(i,5) && 登张数据表名
NEXT && 下一个FOR循环
FOR i=1 TO m1 && 循环,终值为收款贷方科目和明细个数
zza(i+mj,1)=skdf(i,1) && 摘要
zza(i+mj,2)=skdf(i,2) && 结算方式
zza(i+mj,3)=skdf(i,3) && 票号
zza(i+mj,4)=skdf(i,4) && 科目名称
zza(i+mj,5)=skdf(i,5) && 明细名称
zza(i+mj,7)=skdf(i,6) && 贷方金额
zza(i+mj,8)='贷' && 借贷标识
zza(i+mj,9)=skdf(i,7) && 登张数据表名
NEXT && 下一个FOR循环
DEFI WINDOW wbrow FROM 7,4 TO 27,106 CLOSE && 定义浏览窗口
ACTI WINDOW wbrow && 激活浏览窗口
SET SAFE OFF && 关闭安全提示窗口
USE 大被单表 && 打开表
ZAP && 清除记录
FOR i=1 TO m1 && 循环
APPEND BLANK && 追加空记录
REPLACE 科目 WITH zza(i,4),明细 WITH zza(i,5) && 替换字段
NEXT && 下一个FOR循环
STORE .F. TO hj && 初始化逻辑变量
DO WHILE hj=.F. && 循环
GOTO TOP && 指针指向表顶
BROW TITLE '输入摘要,借方,贷方' FIELDS 科目:W=.F.:18,明细:W=.F.:20,;
借方:W=IIF(ZZA(RECNO(),8)='借',.T.,.F.),;
贷方:W=IIF(ZZA(RECNO(),8)='贷',.T.,.F.),;
摘要:30: v=fzy():F
&& 在浏览窗口中输入摘要、借方、贷方,借方借允许,贷方贷允许,摘要自动点选
SUM 借方,贷方 TO jhj,dhj && 累加和
IF jhj<>dhj && 如果借贷不相等
FOR i=1 TO 500
?? CHR(7) && 笛声
NEXT
STORE '借方:'+STR(jhj,13,2)+' 贷方:'+STR(dhj,13,2)+CHR(13)+'借贷不相等!' TO jg
WAIT WINDOW jg && 警告信息
ELSE && 否则
STORE .T. TO hj && 逻辑变量为真,跳出DO循环
ENDIF
ENDDO && 下一个DO循环
@ 2,30 SAY '稍候' && 显示信息
jehj_m=jhj && 记下累加和
FOR kk=1 TO m1 && 循环
GOTO kk && 移动指针
zza(kk,1)=摘要 && 给数组元素赋值,下同
zza(kk,6)=借方
zza(kk,7)=贷方
NEXT && 下一个FOR循环
ZAP && 删除全部记录
SET SAFE ON && 打开安全提示窗口
USE && 关闭表
STORE m1 TO kmmxgs && 记下科目明细个数
DEACTI WINDOW wbrow && 挂起窗口
ENDIF
DO 摘要更新 && 过程
RETURN && 收款记账凭证登录子程序结束
PROC 摘要更新 && 过程
FOR K=1 TO 20
ZHAI(K,1)=ZHAI1(K) && 更新数组
NEXT
SET SAFETY OFF && 关闭安全提示窗口
IF USED('ZY') && 如果摘要文件打开
SELECT 5 && 激活工作区
ELSE && 否则
SELECT 5 && 激活工作区
USE ZY && 打开摘要文件
ENDIF
ZAP && 清除纪录
APPEND FROM ARRAY ZHAI && 从数组追加
RETURN && 返回调用程序
FUNCTION fzy && 摘要自动点选函数
IF 摘要<>' ' && 如果摘要栏里有内容
zhai1(1)=摘要 && 让该内容占据首位
zhai1(20)=' '
ELSE && 否则
DEFI WINDOW zyw FROM 1,96 TO 28,116 TITLE "摘要" ;
ZOOM MINIMIZE FLOAT DOUB CLOSE && 定义摘要窗口
ACTI WINDOW zyw && 激活窗口
STORE 1 TO hekh000s && 初始化变量
@ 0,1 GET hekh000s DEFA 1 FUNC '&t ' FROM zhai1 && List列表,列出摘要内容
READ CYCLE && 激活对象
REPLACE 摘要 WITH zhai1(hekh000s) && 替换字段
IF hekh000s>=2 && 如果点选的是第二以下的内容
FOR w=hekh000s TO 2 STEP -1 && 循环
zhai1(w)=zhai1(w-1) && 下推
NEXT && 下一个FOR循环
zhai1(1)=摘要 && 让中选者占据首位
zhai1(20)=' ' && 末位为空
ENDIF
ENDIF
DEAC WINDOW zyw && 挂起窗口
RETURN && 函数返回真
PROC rk && 键控过程
IF READKEY()=270 && 如果按了Ctrl+End 结束程序
CLEAR ALL && 释放变量、窗口,关闭表
CANCEL && 停止当前程序的执行
ENDIF
RETURN && 返回调用程序
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -