当前位置:数据库 > SQLServer >>

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

答案:
            前     言

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

                   EMAIL:       wgh166@hotmail.com
                                wghsoftware@hotmail.com
 
软件下载:  
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       

上一个:动态SQL中DESCRIPTOR的应用
下一个:德国500多政府部门放弃微软 转用Linux

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,