📄 readme.txt
字号:
┃09,735.2800 朝5-78-402 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
------------ 图 6.2 ------------
3.交易号为121的FORM内容∶
[命令] g [交易号] 121 [连接交易] 0 [驱动方式] B [索引项] 1
[序] [类型][长度][坐标][嵌入函数] [ 复 合 域 ]
0 C 8 1027 0 dtl$C0[1,6].date
1 M 10 1047 0 dtl$C0[1,6].amount
2 x 0 0 0 insert into querylog values($C0, $M0)
3 c 8 1506 0 dtl$C0[1,6].date
4 c 5 1517 0 dtl$C0[1,6].account
5 c 20 1528 0 dtl$C0[1,6].abst
6 c 1 1549 0 dtl$C0[1,6].flag
7 m 10 1553 0 dtl$C0[1,6].amount
8 l 0 1021 0 日期 金额
9 l 0 1306 0 日 期 帐 号 摘 要
10 l 0 1346 0 标志 金 额
11 l 0 2140 0
12 | 45 918 0 1165
13 | 0 1205 0 1272
14 | 45 938 0 1138
15 # 21 0 0 9999;!
16 # 12 808 0 0915;\
17 # 23 1008 0 1115;/
121 FORM是动态查询∶表名是不定的,根据输入的字符串来确定要查询的表名。
本例中∶
动态的表名为dtl$C0[1,6],表名的后六位是可变的,是根据输入日期的
前六位确定。
如果日期为 19970502,就查找dtl199705表。
如果日期为 1998112 ,就查找dtl199811表。
见(图7.2),当日期输入 “1998101",金额为 0.00系统执行SQL:
select date, account, abst, flag, amount
from dtl199810
where date matches "1998101*";
第 2项∶记录查询日志。
用本例来介绍系统的屏幕设计功能∶
第12项∶类型'|'划线符,坐标是起点,复合域的是终点。
画以(9, 18), (11, 65)为对角的矩形。
长度表示颜色, 个位数是背景色,十位数是前景色,长度为零不变色。
BLACK 0
RED 1
GREEN 2
YELLOW 3
BLUE 4
MAGENTA 5
CYAN 6
WHITE 7
第13项∶起点与终点在同一水平线上。
画以(12, 5)为起点, (12, 72)为终点的水平线。
第14项∶起点与终点在同一垂线上。
画以(12, 5)为起点, (12, 72)为终点的垂直线。
第15、16、17项∶类型'#'画背景字符,根据复合域中第六个字符写屏。
与划线符不同之处∶
(a) 根据复合域中第六个字符写屏。
(b) 在指定的区域内填满。
注意∶在主控台上使用屏幕绘图功能,可选用curses库字符,
用数字表示,可在150995000--150995100挑选。
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃!!\\\\\\\\!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!┃
┃!!\\\\\\\\!!┏━━━━━━━━━┳━━━━━━━━━━━━┓!!!!!!┃
┃!!////////!!┃!日期 [ ] ┃ 金额 [ ]!!┃!!!!!!┃
┃!!////////!!┗━━━━━━━━━┻━━━━━━━━━━━━┛!!!!!!┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃日 期 帐 号 摘 要 标志 金 额 !!!┃
┃!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!┃
┃!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!┃
┃!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!┃
┃!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!┃
┃!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!┃
┃!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!┃
┃!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!┃
┃!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
------------ 图 7.1 ------------
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃!!\\\\\\\\!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!┃
┃!!\\\\\\\\!!┏━━━━━━━━━┳━━━━━━━━━━━━┓!!!!!!┃
┃!!////////!!┃!日期 [1998101 ] ┃ 金额 [ 0.00]!!┃!!!!!!┃
┃!!////////!!┗━━━━━━━━━┻━━━━━━━━━━━━┛!!!!!!┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃日 期 帐 号 摘 要 标志 金 额 !!!┃
┃!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!┃
┃19981010 13003 市场部笔记本 2 50.00 ┃
┃19981010 10001 经理室铅笔 1 10.00 ┃
┃19981010 10004 经理室打印纸 1 500.00 ┃
┃19981011 13003 市场部笔记本 2 51.55 ┃
┃19981011 13004 市场部打印纸 1 50.00 ┃
┃19981012 13004 市场部打印纸 1 250.00 ┃
┃19981012 14002 电脑部钢笔 1 5.00 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
------------ 图 7.2 ------------
122 FORM是动态查询∶与以上两例不同,查询的表名和字段不是在每个域中填写,只要
规定其类型、长度、坐标,sql不是程序自动产生,由你指定,选出的查询字段要与前
面域的个数、类型相吻合,这样方法适合与多表查询。
[命令] a [交易号] 122 [连接交易] 0 [驱动方式] B [索引项] 0 ?
?[序] [类型][长度][坐标][嵌入函数] [ 复 合 域 ]
? 0 C 5 635 0
? 1 c 10 913 0
? 2 c 5 926 0
? 3 c 8 938 0
? 4 m 10 949 0
? 5 l 0 630 0 帐号
? 6 l 0 813 0 日 期 帐 号 部门名称
? 7 l 0 853 0 金 额
? 8 l 0 1512 0
? 9 x 0 0 0 select date, account, unit.name,amount
? 10 - 0 0 0 from detail, unit where unit.code=
? 11 - 0 0 0 detail.account[1,2] and
? 12 - 0 0 0 account matches $C0
13 q 250
注意:第13项'q'限定查询记录的数量,本例为250。如不限定查询记录的数量,服务进程始终提供服务,直至查询完毕。建议限定查询记录的数量,以免消耗过多资源。
[命令] a [交易号] 123 [连接交易] 0 [驱动方式] C [索引项] 0
?[序] [类型][长度][坐标][嵌入函数] [ 复 合 域 ]
? 0 C 76 1403 0 1220 Type table name or sql sentence
? 1 C 76 1503 0
? 2 l 0 1502 0
? 3 l 0 1178 0
? 4 - 0 0 0 operate.passwd
? 5 - 0 0 0 unit
123 FORM是综合查询∶
驱动方式∶C
功能:1.输入sql语句查询。
2.输入表名查询的所有字段(除要求屏蔽的表或字段外)。
第1、2项是输入域,可以增加。
第4、5项是要屏蔽的表和字段。
举例1:见《图7.3》输入表名"operate",即出现《图7.4》的查询框,除被屏蔽的passwd
字段,其余均在查询之列。
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ Type table name or sql sentence ┃
┃[operate ] ┃
┃[ ] ┃
┃ ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
------------ 图 7.3 ------------
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ no name level stat date ┃
┃ [ ] [ ] [ ] [ ] [ ] ┃
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
------------ 图 7.4 ------------
举例2:见《图7.5》输入sql语句,即出现《图7.6》的查询结果。这里有用中文替换英
文字段名的功能,这点isql尚未实现。
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ Type table name or sql sentence ┃
┃ ┃
┃[select unit.name 姓 名, account 帐 号, amount金 额 from detail, unit ] ┃
┃[where detail.account[1,2]=unit.code ] ┃
┃ ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
------------ 图 7.5 ------------
┏━━━━━━━━━━━━━━ Cute query ━━━━━━━━━━━━━━━━━┓
┃姓 名 帐 号 金 额 ┃
┃ ┃
┃人事部 11002 515.05 ┃
┃电脑部 14003 505.00 ┃
┃市场部 13003 50.00 ┃
┃经理室 10001 10.00 ┃
┃经理室 10004 500.00 ┃
┃市场部 13003 51.55 ┃
┃市场部 13004 50.00 ┃
.
.
.
------------ 图 7.5 ------------
(四)数据录入∶
[命令] g [交易号] 130 [连接交易] 29 [驱动方式] [索引项] 0
[序] [类型][长度][坐标][嵌入函数] [ 复 合 域 ]
0 A 5 2009 0
1 c 8 2022 0 unit.name
2 - 0 0 0 unit.code=$C0[1,2]
3 c 10 2036 0 goods.name
4 - 0 0 0 goods.code=$C0[3,5]
5 C 1 2052 0
6 B 0 0 0
7 i 0 0 0 [1,2]
8 M 10 2062 0
9 l 0 2003 0 帐号: 部门: 品名:
10 l 0 2043 0 借贷: 金额:
11 l 0 0 0 办公用品记明细帐
12 l 0 1940 0
13 l 0 2140 0
14 x 0 0 0 insert into detail(account, abst, flag,
15 - 0 0 0 amount, date) values
16 - 0 0 0 ($C0, $C1[1,6]$C2[1,8], $C3, $M0, today)
130 FORM是记帐输入窗口
第 0 项∶类型'A'字符型,只接受阿拉伯数字,有复制功能,一般用于输入帐号.?
复制功能介绍∶
如上次该域的值为 '12001',这次输入'35',那么原前三位不变,
后两位覆盖变成 '12035'.
第 1, 2 项∶根据帐号($C0)的前两位将表unit中name读出,如帐号为"12001",
则sql "select name from unit where code='12'"
第 3, 4 项∶根据帐号的第三至五位将表goods中name读出,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -