UNIX系统下informix自制开发工具构思介绍

** 前 言 **

当前WINDODS 上的编程工具日新月异,推陈出新;然而因UNIX运用的局限性,其编程工
具十分贫乏。在UNIX上要做画面、菜单、查询、输入,编程者往往要从底层入手,重复劳动
,效率极低。笔者为了解决这个问题而尽点力,将本系统介绍给您,如您能读完本文,收获
一定不少。

编者:王光红

EMAIL: [email protected]
[email protected]

软件下载:
http://www.csdn.net/cnshare/soft/16/16735.shtm
http://www.ccrun.com/program/down.asp?id=10

一。系统介简

(一)实现功能∶
用于UNIX上做画面、菜单、查询、输入、修改;可操作数据库。

(二)设计思路∶
将人机对话,可分为基本的输入与输出两大类,在此前提下,为了不同的需要把域分作
多种类型;对涉及数据库的域指明有关的表名、字段名,以进行数据库的读写。将这些
不同功能的域有机的组合在一个FORM中,来实现一个功能模块。将FORM编号,按一定的
结构以二进制的形式存入文件,在使用时,系统按编号读入FORM的数据,按步实现预定
的功能。

(三)软件环境∶
1.操作系统SCO UNIX OpenServer 5.0、SCO UNIX OpenServer 3.0、SCO UNIX 3.0。
2.编程语言 C、INFORMIX/ESQL。
说明∶笔者的工作条件仅限于以上环境,如能提供其他的UNIX、SQL数据库(如ORACLE、
SYBASE等), 系统只需略加修改。

二。系统的文件与库

(一)集成开发器执行程序∶
/usr/wform/bin/mkform FORM的定制工具
/usr/wform/bin/netform FORM的定制工具(网络版)
/usr/wform/bin/net_server FORM的数据服务器

(二)配置文件∶
FORM的配置文件的路径由环境变量CONFIGPATH指定,缺省为/usr/wform/etc/form.cfg
文本文件
它规定UNIX编辑器、FORM参数文件的路径;菜单的格式;存储变量的多少;
特殊键的键值。

(三)FORM参数文件∶
FORM参数文件的路径在配置文件中声明。
二进制文件
存放Dialog结构FORM的数据,系统读此文件,按步执行。
mkform(netform)的画面的参数文件是 /usr/wform/etc/form.bin.sys

(四)帮助信息文件:
帮助信息文件的路径由环境变量MSGPATH指定,缺省为 /usr/wform/etc/form_msg.dat
文本文件

(五)系统说明文件:
系统说明文件 /usr/wform/etc/readme.frm

(六)程序库:
/usr/wform/lib/libsetform.a 在SCO UNIX OpenServer 5.0上生成。
/usr/wform/lib/libnetform.a 在SCO UNIX OpenServer 5.0上生成(网络版)。
(七)演示例程∶
1.两个FORM参数文件∶
/usr/wform/data/demo.form
/usr/wform/data/test.form
2.菜单式演示程序∶
/usr/wform/menu/menu
/usr/wform/menu/menu.ec
/usr/wform/menu/print.c
/usr/wform/menu/errhandle.c
/usr/wform/menu/makefile
/usr/wform/menu/mknet 链接libnetform.a的makefile
3.交易式演示程序∶
/usr/wform/trade/trade
/usr/wform/trade/trade.ec
/usr/wform/trade/makefile
/usr/wform/trade/mknet 链接libnetform.a的makefile
4.两个数据库∶
/usr/wform/demo.exp
/usr/wform/test.exp

说明:演示程序menu、trade使用的数据库是test,form参数文件是test.form。

三。系统的基本概念及用途

(一)FORM的结构:

typedef struct item_st {
char flag; //数据类型(或标志)
char len; //数据长度
char seat_y; //纵坐标
short seat_x; //横坐标
char fun; //FORM中嵌入的函数指针编号
char field[41]; //复合域
}Item;

typedef struct tagOfDialog {
unsigned long form_id; //交易号
unsigned long link_form; //连接交易
char mode; //驱动方式
char key; //索引项
short num; //以下Item的个数
Item *f; //FORM中域的结构
}Dialog;

(二)基本概念及用途
1.[交易号] (Dialog.form_id)
FORM的编号,以此为索引。

2.[连接交易] (Dialog.link_form)
FORM结束后调用的另一个FORM的交易号,此值=0,则不调用。

3.[驱动方式] (Dialog.mode)
以确定FORM的性质。
M∶菜单
P∶打印
B∶浏览
E∶结束清域
D∶结束删除WINDOW
S∶屏幕滚动
C∶综合查询

4.[索引项] (Dialog.key)
指定查询条件的字段数, 其值是对应于[序],序号小于等于该值的字段为查询条
件。 仅对查询类FORM有效。

以下为FORM中域的结构(Dialog.f),域的数量可变。
5.[类型] (Dialog.Item->flag)

标志符 用 途 数据类型 SQLDateType

(1) 输入输出项
C、c 普通字符串 char char
H 汉字 char char
R 日期(对字符串进行日期合法性检查) char char
A 帐号(对字符串有复制功能) char char
P 密码(不回显) char char
G 选项 char char
F 帮助项 char char
D、d 日期(自1899.12.31起至今的天数) long char
M、m 金额 double money, float
N、n 数值 long intger, smallint

以上大写的字符是输入项、小写的字符是输出项。
可在复合区指明表名和字段名, 形如table.field

(2) 杂项
t 提示
f 菜单格式
B 值域检查(对上一项值进行检查)
b 数据库(指定远程数据库),形式 database@host
l 标题
i 菜单条目
x 执行 SQL语句
- 连接符
| 划线符

画背景符

W

当无需指定表和字段时, 复合区前四位存入坐标, 后面的字符可作标题
类型为 'l', 坐标=0, 则作表头用。

6.[长度]
对输出输出项而言是数据长度;对杂项'|','#'是代表颜色。
字符串数据长度<=128。
金额的长度 <=16∶长度是小数点前和小数点后位数总数,小数点后定为二位。
例∶长度=14,
小数点前12位,小数点后2位。
金额的长度 >=20∶
个位是小数点后位数, 个位前是小数点前的位数。
例∶长度=125,
小数点前12位,小数点后5位。
金额的长度 >=17and<20非法.

7.[坐标]
对一般的FORM后二位是横坐标。前面是纵坐标;纵坐标<24。
对于浏览器的坐标有特别规定:
当坐标值大于2499∶ 后三位是横坐标,前面是纵坐标。
横坐标的最大值512.
例∶坐标值5150表示∶ 横坐标=150,纵坐标=5。

8.[嵌入函数]
FORM中嵌入的函数指针编号,当程序执行完该域后,调用一个特定的函数,函数
指针须初始化符值。

9.[复合域]
是多用途的域,可用作写标题、SQL语句、数据库表名、字段名等。

四。实例讲解(略)

** 五。本系统的函数及运用 **

(一) 系统的定义∶

宏及FORM结构 wform.h
变量定义 wvai.h
嵌套函数指针 fun.h

(二) 系统函数的调用:

1. 菜单的调用: int SetMenu(long id)
id是主菜单的编号。
返回值是反映程序执行到菜单第几层的第几项,祥见菜单制作.

2. FORM的调用: int SetupForm(long id, short wincode)
id是FORM的编号。
wincode 是窗口的编号(0-9).
如同时用多个窗口,窗口编号须不同,否则会覆盖。
返回值:
0 取消 (即按[ESCAPE]退出)
1 正常 (即按[ENTER] 退出)
>1 按热键或自定义键返回

对某些特殊键和自定义键,即退出FORM,返回值如下∶

键 名 返回码

借方键 DEBIT
贷方键 CREDIT
向前键 PREVIOES
向后键 NEXT
热键 HOTKEY
发送键 FINISHKEY
自定义键 键值+2000

3. 其他函数∶
(1) int MsgBox(char type, const char fmt, .../ args */);
用途∶信息提示。信息长度小于80在屏幕底线显示,否则在当前光标下组成BOX.
type∶MSGERR(0) 错误 MSGPROM(1) 提示 MSGWAIT(2) 等待 MSGWARN(3) 警告
用法同printf函数。

(2) void SetFormPara(short mode, short para);
用途∶设FORM参数。
mode:
宏 数值 作 用
WINFRAME 0 para:1 窗口画框 0 窗口无框 缺省值 0
F_COLOR 1 设定前景色 缺省值COLOR_WHITE(白色)
B_COLOR 2 设定背景色 缺省值COLOR_BLACK(黑色)
具体色彩参数见

  1<tinfo.h>
  2
  3DISPLAYMODE 3 para:1 预显示原值   
  40 不显示   
  5缺省值 0 
  6
  7FIELDBOUND 4 para:1 对输入项划定界符 "[......]"   
  80 不划   
  9缺省值 1   
 10DISPLAYBOLD 5 para:1 显示的字符为高亮   
 11缺省值 0   
 12ENTERDEFAULT 6 para:1 输入项只按[ENTER],复制成原值。   
 13缺省值 0   
 14LINETYPE 7 para:1 双线   
 150 单线   
 16缺省值 1 
 17
 18PATTERNFRONT 8 para:1 运行菜单时,输入的字符与菜单选项的   
 19第一个字符相同,能选中并自动回车。   
 200 不能自动回车。   
 21缺省值 1   
 22  
 23(3) void TouchForm(short wincode)   
 24用途∶重显被覆盖的FORM. 
 25
 26(4) int SqlMsg(short sqlcode)   
 27用途∶能提供错误信息,反映程序执行到何处(那个文件的那一行)。   
 28通常用于SQL执行错误返回。   
 29  
 30(5) void DelDlgwin(short wincode)   
 31用途∶删除FORM. 
 32
 33(6) int SkipDomain(short step)   
 34用途∶跳过若干个域(step)。用于嵌入函数。 
 35
 36(7) void Rfmtdate(date i_date, char *fmt, char *result)   
 37用途∶将INFORMIX中的date转成char.   
 38例∶   
 391899.12.31至1999.12.4的天数是36132.   
 40Rfmtdate(36132, "mm-dd-yyyy", result);   
 41result="12-04-1998"   
 42Rfmtdate(36132, "mm-dd-yy", result);   
 43result="12-04-98"   
 44Rfmtdate(36132, "日期: YYYY年MM月DD日", result);   
 45result="日期: 一九九八年十二月四日". 
 46
 47(8) void Rfmtdouble(double money, char *fmt, char *result)   
 48用途∶将double转成char.   
 49例∶   
 50double a=-9030236.035;   
 51Rfmtdate(a, "---,---,--9.999", result);   
 52result=" -9,030,236.035" 
 53
 54(9) char *DoubleToStr(double money, const char *fmt);   
 55用途∶将double转成char返回(char *). 
 56
 57(10) void PrintForm(short wincode, short lin, short col, char *fmt, ...);   
 58用途∶向FORM输送字符. 
 59
 60(11) int RunFunction(int (*fun)(), char *msg);   
 61用途∶运行函数fun时,在屏幕底显示信息msg,隔一秒钟跳动字符 '&gt;'。   
 62例∶   
 63见menu.ec的280行。   
 64RunFunction(DeleteDetail, "正在清理数据");   
 65如果函数DeleteDetail()不在menu.ec中,   
 66必须声明extern int DeleteDEtail(); 
 67
 68(12) int CallFunction(int (*fun)(), char *msg);   
 69用途∶同RunFunction(),不跳动字符。 
 70
 71(13) char *PntName();   
 72用途∶获得打印输出的设备名。   
 73在主控台上得到"/dev/lp0",在终端上得到相应的终端号"/dev/tty???"   
 74(14) void Draws(WINDOW *w, int b_y, int b_x, int e_y, int e_x)   
 75用途∶在指定的窗口画线。   
 76起点坐标(b_x, b_y) 终点坐标(e_x, e_y)   
 77b_x=e_x 画垂直线。   
 78b_y=e_y 画水平线。   
 79b_x!=e_x b_y!=e_y 画矩形。 
 80
 81(15) int FormPath(char *path);   
 82用途∶   
 83调用该函数设置FORM的参数的路径, 确省路径在配置文件中设定。   
 84(16) InsetFun(n, fun);   
 85用途∶   
 86函数指针初始化。   
 87n 是函数指针的编号,fun是函数名.   
 88
 89
 90  
 91(三) 关于嵌入函数的使用:   
 92作用∶当FORM执行到某一域时调用的函数.   
 93我们通过menu.ec这个程序来说明嵌入函数的运用。 
 94
 95****注意∶以下是test.form中的 110号form. 
 96
 97[命令] g [交易号] 110 [连接交易] 0 [驱动方式] E [索引项] 0   
 98[序] [类型][长度][坐标][嵌入函数] [ 复 合 域 ]   
 990 C 3 1237 0 bank.exchno   
1001 c 20 1337 0 bank.officename   
1012 R 8 1537 1   
1023 t 0 0 0 日期须本日前一星期内   
1034 A 7 1737 0   
1045 M 10 1937 0   
1056 B 0 0 0   
1067 i 0 0 0 62.50   
1078 i 0 0 0 999999.99   
1089 C 1 2137 0   
10910 B 0 0 0   
11011 i 0 0 0 [1,4]   
11112 l 0 1226 2 受 理 行   
11213 l 0 1326 0 行 名∶   
11314 l 0 1526 0 凭证日期   
11415 l 0 1726 0 号 码   
11516 l 0 1926 0 金 额   
11617 l 0 2126 0 联 次   
11718 l 0 2224 0 
118
119第 2、12域有嵌入函数∶1、2是函数指针的编号,分别代表函数CheckDate()、Pattern().   
120函数指针初始化∶   
121InsetFun(1, CheckDate);   
122InsetFun(2, Pattern);   
123见menu.ec中第217、218行。 
124
125当程序执行完第 2域(即输入日期),系统就调用函数CheckDate(),以检查日期   
126是否本日至前一星期内,如日期正确函数返回 0,程序继续执行; 如日期错误函   
127数返回-1, 程序仍停止在第 2域。如函数返回-3程序退回到第 0域。   
128设SN为程序执行的序号.   
129ret=Fun[n]();   
130SN +=ret;   
131你可根据需要函数返回值,如返回值为2,就会跳过2个域。 
132
133当程序执行完第11域,系统就调用函数Pattern(),进行凭证配对。 
134
135(四)关于FORM的值∶ 
136
1371.类型. 
138
139类 型 变量名 宿主变量名 FORM编辑器的代名   
140字符(char) Chars(n) $INFString[n] $Cn   
141整型(long) Number[n] $Number[n] $Nn   
142金额(double) Money[n] $Money[n] $Mn   
143日期(long) Date[n] $Date[n] $Dn   
144  
145注∶   
146n是顺序号   
147Chars(n)是宏,C语言中Chars(n)、INFString[n]都可用;   
148SQL语言中只能用INFString[n],不能用宏Chars(n); 
149
150  
1512.值的配置. 
152
153系统根据配置动态申请内存,按你的需要调整系统配置(或修改form.cfg),   
154确定值的个数. 
155
1563.值的顺序. 
157
158用下例来说明∶ 
159
160[序] [类型][长度][坐标] 对应的变量 注 解 
161
1620 C 3 1237 Chars(0) 'C'字符型第 1 次出现   
1631 c 20 1337 Chars(1) 'c'字符型第 2 次出现   
1642 H 8 1537 Chars(2) 'H'字符型第 3 次出现   
1653 A 7 1737 Chars(3) 'A'字符型第 4 次出现   
1664 M 10 1937 Money[0] 'M'金额型第 1 次出现   
1675 B 0 0 控制类与变量无关   
1686 i 0 0 控制类与变量无关   
1697 i 0 0 控制类与变量无关   
1708 c 11 2120 Chars(4) 'c'字符型第 5 次出现   
1719 B 0 0 控制类与变量无关   
17210 i 0 0 控制类与变量无关   
17311 m 12 2126 Money[1] 'm'金额型第 2 次出现   
17412 F 1 2146 Chars(5) 'F'字符型第 6 次出现   
17513 i 0 0 控制类与变量无关   
17614 i 0 0 控制类与变量无关   
17715 N 6 2170 Number[0] 'N'长整型第 1 次出现 
178
179** 六。使用FORM的用户环境  **
180
181用户可设置以下环境变量   
182(1)CONFIGPATH: FORM的配置文件的路径。缺省为 /usr/wform/etc/form.cfg   
183FORM的参数的路径在配置文件中设定。   
184用户的程序中可在启动FORM前,调用FormPath(char *path)设定路径。 
185
186(2)MSGPATH: 帮助项信息文件路径。缺省为 /usr/wform/etc/form_msg.dat   
187(3)NETCONFIGFILE:通讯的配置文件,适用于本系统网络版,客户及服务端都   
188需要,缺省为 /usr/wform/etc/sys.net 
189
190  
191七。FORM生成器(mkform、netform)的使用 
192
193_.----..__.'   
194_ / -._   
195__ ``-._ ) | ||..\\\\\ .\ \\`-   
196-'_ `-._ /( `-.\ / // |\   
197/-'' ``-._| \\`-. .`. / | |\ \\\ | | \   
198/_.---.__.| `_/``' `-..-'_/_/ /_/ |//\ \   
199_..--'/ /' -._ .'"(@ ` @`/-._ \ \   
200( ' /\ `-.` `(| _' ;`-. ` `_ `.   
201/ / ``-._ _.'| _ ` ,' '_.-` .'   
202/ /-------- ``'-~-' `;`~'`` . '   
203'._ \\\ ` \\\ / . '   
204```` --- .. -. \\\ \\\'   
205`\ \ \\\ \\\   
206`. | || . || ┏━━━━━选择━━━━━┓   
207\ . || .' `-|| ┃ V 全屏幕编辑_______(0)┃   
208\ `||' ;|| ┃ T 交易式演示程序___(1)┃   
209;|| '// ┃ M 菜单式演示程序___(2)┃   
210_; || // [ ]┃ D 显示系统配置_____(3)┃   
211/.``||..__.-; ┃ A 调整系统配置_____(3)┃   
212.'` ``-._|_|.-| ┃ S 清理FORM_________(5)┃   
213/ ; ┃ P 改变FORM参数路径_(6)┃   
214; ; ┃ L 登记注册_________(7)┃   
215; ; ┃ E 退出_____________(8)┃   
216; ,' ┗━━━━━━━━━━━━┛ 
217
218\------------ 图10 --------------   
219(一)运行mkform(或netform)   
220mkform的用法∶mkform -d database -f filename   
2211.打开数据库∶ -d database 可省略(不访问数据库)。   
2222.指定FORM参数文件名∶-f filename 如省略则按系统配置文件中指定的路径。 
223
224mkform与netform的主要区别:mkform对远程数据库的访问是利用了informix本   
225身的功能,也就是由sqlexecd提供服务;netform访问数据库的服务程序(net_server)由   
226作者编写,在数据安全方面进行了控制,所以在运行netform的同时,必须启动net_server   
227服务程序。 
228
229(二)菜单功能 
230
231当你运行mkform时,就出现图10,下面就菜单的功能逐一介绍∶ 
232
2331\. V 全屏幕编辑   
234进入FORM的编辑、定制程序。(祥见以下关于FORM编辑的一章)。 
235
2362\. T 交易式演示程序   
237演示以交易码驱动的程序。 
238
2393\. M 交易式演示程序   
240演示以菜单驱动的程序。 
241
2424\. D 显示系统配置(图11)   
243配置文件的路径由环境变量CONFIGPATH指定,缺省为 /usr/wform/etc/form.cfg   
244
245
246┏━━━━━━━━━━━ 系 统 配 置 ━━━━━━━━━━━┓   
247┃ 0. FORM参数路径: ../data/demo.form ┃   
248┃ 1. 编缉命令: /usr/bin/vi ┃   
249┃ ┃   
250┃ 2. 字符型(char)个数: 50 3. 数值型(long)个数: 10 ┃   
251┃ 4. 金额型(double)个数: 10 5. 日期型(date)个数: 8 ┃   
252┃ ┃   
253┃ 6. 菜单最大项数: 100 ┃   
254┃ 主菜单格式: ( 7. 2 8. 5 ) ┃   
255┃ 子菜单格式: ( 9. 12 10. 1 ) ┃   
256┃ ┃   
257┃ 11.双零键: 46 12.四零键: 47 ┃   
258┃ 13.五零键: 42 14.六零键: 45 ┃   
259┃ 15.借方键: 3 16.贷方键: 4 ┃   
260┃ 17.向前键: 91 18.向后键: 93 ┃   
261┃ 19.热 键: 26 20.发送键: 10 ┃   
262┃ ┃   
263┃ 选择: [ ] (Esc取销) ┃   
264┃ ┃   
265┃ ┃   
266┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛   
267  
268\------------ 图11 -------------- 
269
270  
2715\. A 调整系统配置   
272只有root用户才能调整系统配置。 
273
274编缉命令: 编辑FORM所调用的文本编辑程序。 
275
276主菜单格式: ( 7. 2 8. 5 )   
277该项配置说明主菜单格式是 2行, 5列。   
278选择第 7项修改行数,选择第 8项修改列数。   
279  
280子菜单格式: ( 9. 12 10. 1 )   
281该项配置说明主菜单格式是12行, 1列。   
282选择第 9项修改行数,选择第10项修改列数。 
283
2846\. S 清理FORM   
285对作废和删除的FORM定期清理。 
286
2877\. P 改变FORM参数路径   
288FORM参数路径在mkform启动时或系统配置文件中指定,如果你需要其他的FORM   
289参数文件可由此选项改变。   
290  
2918\. L 登记注册。   
2929\. E 退出系统。 
293
294  
295(三)关于FORM编辑 
296
297在图10中的菜单选第 0项,就进入图12。 
298
299┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓   
300┃ [命令] ┏━━━━━━━┓ [连接交易] 0 [驱动方式] [索引项] ┃   
301┃ [序] [类型┃a 进入___(00) ┃函数] [ 复 合 域 ]┃   
302┃ 0 ┃e 退出___(01) ┃ ┃   
303┃ 1 ┃g 取数___(02) ┃ ┃   
304┃ 2 ┃h 帮助___(03) ┃ ┃   
305┃ 3 ┃s 演示___(04) ┃ ┃   
306┃ 4 ┃u 恢复___(05) ┃ ┃   
307┃ 5 ┃d 设计___(06) ┃ ┃   
308┃ 5 ┃v 编辑___(07) ┃ ┃   
309┃ 6 ┃w 存盘___(08) ┃ ┃   
310┃ 7 ┃F 单选___(09) ┃ ┃   
311┃ 8 ┃D 删除___(10) ┃ ┃   
312┃ 9 ┗━━━━━━━┛ ┃   
313┃ 10 ┃   
314┃ 11 ┃   
315┃ 12 ┃   
316┃ 13 ┃   
317┃ 14 ┃   
318┃ 15 ┃   
319┃ 16 ┃   
320┃ 17 ┃   
321┃ 18 ┃   
322┃ 19 ┃   
323┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛   
324\------------ 图12 ------------ 
325
326图12中的命令菜单功能∶ 
327
3281\. a 进入本系统的FORM编辑器,编辑的窗口每屏是20项,共 5屏;   
329当光标到最后一行,再按↓键,就可翻到下一屏。 
330
3312\. e 退出本编辑器。 
332
3333\. g 取数   
334输入交易号就可读到此交易的FORM参数。 
335
3364\. h 帮助   
337显示文本/usr/wform/etc/readme.frm. 
338
3395\. s 演示FORM   
340输入交易号就可此交易的FORM框架,演示输入、查询的过程。 
341
3426\. u 恢复被误删除的FORM. 
343
3447\. d 设计   
345利用UNIX编辑工具,对FORM进行初步的定制。具体的方法详见FORM的定制。 
346
3477\. v 编缉   
348利用UNIX编辑工具,对FORM的参数进行设定。具体的方法详见FORM的编辑。   
349  
3509\. w 存盘   
351将编辑或修改完的FORM存入文件。原来同号的FORM被作废,故需定期清理   
352FORM。   
353  
35410\. F 单选   
355可单独选出一个指定的FORM参数,文件名"./f????", ?表示FORM号。   
356作用∶有些FORM的功能通用,可移到其他用户的FORM参数文件中。   
357移值方法∶ cat f??? &amp;gt;&amp;gt; other.form 
358
35911\. D 删除   
360对弃用的FORM进行删除。 
361
362  
363(四)FORM的定制:   
364  
3651\. 利用UNIX编辑工具,对FORM进行初步的定制。   
366(1) 选命令 v,输入交易号,(假设交易号是88)。系统就调用UNIX编辑工具   
367(如vi),生成文本/tmp/form88,在文本在写的内容如下∶ 
368
369序号 文 本 内 容   
3701   
3712   
3723   
3734   
3745 记 帐   
3756   
3767   
3778 帐 号∶ $A12   
3789   
37910 凭证号∶ $N6   
38011   
38112 摘 要∶ $C10   
38213   
38314 金 额∶ $M12 
384
385\------------ 图13 ------------ 
386
387在'$'符后的字符是类型,类型后的数字是长度。   
388将该文本存盘退出后,即返回系统画面,系统根据文本内容及各个域的   
389坐标,在内存生成结构为Dialog的FORM,见图14. 
390
391┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓   
392┃ [命令] g [交易号] 88 [连接交易] 0 [驱动方式] [索引项] 0 ┃   
393┃ [序] [类型][长度][坐标][嵌入函数] [ 复 合 域 ]┃   
394┃ 0 A 12 739 0 &amp;amp;nbs&lt;/tinfo.h&gt;
Published At
Categories with 数据库类
Tagged with
comments powered by Disqus