>
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(黑色) 具体色彩参数见 <tinfo.h>
DISPLAYMODE 3 para:1 预显示原值 0 不显示 缺省值 0
FIELDBOUND 4 para:1 对输入项划定界符 "[......]" 0 不划 缺省值 1 DISPLAYBOLD 5 para:1 显示的字符为高亮 缺省值 0 ENTERDEFAULT 6 para:1 输入项只按[ENTER],复制成原值。 缺省值 0 LINETYPE 7 para:1 双线 0 单线 缺省值 1
PATTERNFRONT 8 para:1 运行菜单时,输入的字符与菜单选项的 第一个字符相同,能选中并自动回车。 0 不能自动回车。 缺省值 1 (3) void TouchForm(short wincode) 用途∶重显被覆盖的FORM.
(4) int SqlMsg(short sqlcode) 用途∶能提供错误信息,反映程序执行到何处(那个文件的那一行)。 通常用于SQL执行错误返回。 (5) void DelDlgwin(short wincode) 用途∶删除FORM.
(6) int SkipDomain(short step) 用途∶跳过若干个域(step)。用于嵌入函数。
(7) void Rfmtdate(date i_date, char *fmt, char *result) 用途∶将INFORMIX中的date转成char. 例∶ 1899.12.31至1999.12.4的天数是36132. Rfmtdate(36132, "mm-dd-yyyy", result); result="12-04-1998" Rfmtdate(36132, "mm-dd-yy", result); result="12-04-98" Rfmtdate(36132, "日期: YYYY年MM月DD日", result); result="日期: 一九九八年十二月四日".
(8) void Rfmtdouble(double money, char *fmt, char *result) 用途∶将double转成char. 例∶ double a=-9030236.035; Rfmtdate(a, "---,---,--9.999", result); result=" -9,030,236.035"
(9) char *DoubleToStr(double money, const char *fmt); 用途∶将double转成char返回(char *).
(10) void PrintForm(short wincode, short lin, short col, char *fmt, ...); 用途∶向FORM输送字符.
(11) int RunFunction(int (*fun)(), char *msg); 用途∶运行函数fun时,在屏幕底显示信息msg,隔一秒钟跳动字符 '>'。 例∶ 见menu.ec的280行。 RunFunction(DeleteDetail, "正在清理数据"); 如果函数DeleteDetail()不在menu.ec中, 必须声明extern int DeleteDEtail();
(12) int CallFunction(int (*fun)(), char *msg); 用途∶同RunFunction(),不跳动字符。
(13) char *PntName(); 用途∶获得打印输出的设备名。 在主控台上得到"/dev/lp0",在终端上得到相应的终端号"/dev/tty???" (14) void Draws(WINDOW *w, int b_y, int b_x, int e_y, int e_x) 用途∶在指定的窗口画线。 起点坐标(b_x, b_y) 终点坐标(e_x, e_y) b_x=e_x 画垂直线。 b_y=e_y 画水平线。 b_x!=e_x b_y!=e_y 画矩形。
(15) int FormPath(char *path); 用途∶ 调用该函数设置FORM的参数的路径, 确省路径在配置文件中设定。 (16) InsetFun(n, fun); 用途∶ 函数指针初始化。 n 是函数指针的编号,fun是函数名.
(三) 关于嵌入函数的使用: 作用∶当FORM执行到某一域时调用的函数. 我们通过menu.ec这个程序来说明嵌入函数的运用。
****注意∶以下是test.form中的 110号form.
[命令] g [交易号] 110 [连接交易] 0 [驱动方式] E [索引项] 0 [序] [类型][长度][坐标][嵌入函数] [ 复 合 域 ] 0 C 3 1237 0 bank.exchno 1 c 20 1337 0 bank.officename 2 R 8 1537 1 3 t 0 0 0 日期须本日前一星期内 4 A 7 1737 0 5 M 10 1937 0 6 B 0 0 0 & 上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页 [JAVA开发]Informix J/Foundation [SyBase]Informix Dynamic Server 中的分布式事务 [MySql]windows系统下jsp+mysql+tomcat的配置 [Sql Server]Informix SQL函数的详细用法
|