科蓝软件工作室->CLAN For Unix 使用说明手册
科蓝集成开发系统说明手册
    科蓝集成开发系统 GENERAL CLAN Integrate DevelopSet [简称CLAN]是
科蓝软件工作室 [CLANSOFT STUDIO]为 UNIX 及 UNIX-Open Server 操作系统
开发的通用软件开发工具,适用于 UNIX 下的应用软件开发以及现有应用软件
系统的界面改造.

■第一章 CLAN 介绍

1.1 CLAN 功能强大,独立于具体菜单,支持中西文、色彩、多种显示属性.
用它可以开发出漂亮整洁的菜单界面[下拉、弹出式],支持菜单层叠效果,具
有荫影、边框等多种控制功能,菜单级数没有限制.采用环境变量暂存屏幕内
容,显示及屏幕恢复速度很快.

1.2 CLAN 易学易用,只要会用 vi 便会使用本软件.用户可以自由地对软件
初始画面以及菜单位置、大小、颜色、荫影、边框、标题、显示属性等进行控
制,摆脱复杂烦琐的程序设计.

1.3 CLAN 兼容性强,它兼容 UNIX 及 U-OPS; 兼容中文及西文; 兼容彩色及
单色; 对软硬件环境无特殊要求.

1.4 预装例示系统,包括一个系统状态查询子菜单; 一个实用工具子菜单; 一
个英汉双向词典; 五个游戏(包括围棋、推箱子、猜数、十五子棋、扫雷)。具
体使用将在第三章[例示系统CLAN使用说明] 中详细说明.

1.5 科蓝图形开发包(CCGI)以及大量实用工具软件, 具体内容请参考后面的第
二章以及第三章3.3节、第五章的有关内容.

■第二章 CLAN 安装说明

2.1 CLAN 的运行环境

CLAN 可以运行在 UNIX 及 U-OPS 操作系统下的各种 IBM 兼容微机上,其安
装及运行需要操作系统的扩展部分 (即X盘),一般 UNIX 机器均可满足.对于
硬件无特别要求.推荐使用 386 以上机型,最好有汉字系统或者中文终端.

2.2 CLAN 的安装过程

在 UNIX 系统下安装 CLAN 的步骤如下:

一) 进入单用户方式[single user mode],或者在主控制台上以超级用户 root
注册

二) 启动 custom 命令.
	如果使用驱动器0使用如下命令:	custom
	如果使用驱动器1应使用如下命令:	custom -m /dev/rinstall1
	插入1号软盘,选择选项 Install,然后再选择 "A New Product"项,
	安装一个新产品.

三) 根据提示依次插入 01、02 号软盘,拷贝文件.

四) 文件拷贝完毕后.屏幕提示
	This machine's index is: xxxxxxxx
	Call 0318-XXXXXXX-XXXXXXX or 0318-XXXXXXX for active key with
	this lock index.

	please input active key:
	输入相应的密码后, 按回车. 屏幕显示
	Install complete, press ENTER ...
	表示安装成功.按回车后开始对文件解压缩.

五) 最后,系统提示
	Press  to Demonstrate (stage 1-10) ...
	按回车后进入自演示程序,共有10 种风格的演示,连续按 0 退出即
	可,除了 custom 命令的使用方法外,在 U-OPS系统下的安装过程与
	此大致相同,不再赘述[可参考用户手册].

附: CLAN 文件清单

一) CLAN 系统文件

/usr/bin/commenu	CLAN 菜单驱动主程序
/usr/bin/menudemo	自演示程序
/usr/bin/eclan		西文 CLAN 例示系统 Shell 脚本
/usr/bin/cclan		中文 CLAN 例示系统 Shell 脚本

/usr/man/cat.C/clan.C man		说明文件
/usr/lib/english/*.menu eclan		菜单文件
/usr/lib/english/first* eclan		屏幕初始化文件
/usr/lib/english/variable eclan		配置文件
/usr/lib/chinese/*.menu cclan		菜单文件
/usr/lib/chinese/first* cclan		屏幕初始化文件
/usr/lib/chinese/variable cclan 	配置文件

二) 英汉双向词典

/usr/bin/_word				单词查询服务员
/usr/lib/dict/word.lib			双向词典词库文件
/usr/bin/word				背单词
/usr/bin/word.sh			背单词 Shell 脚本
/usr/lib/dict/college			背单词 大学英语词库
/usr/lib/dict/computer			背单词 计算机专业英语词库
/usr/lib/dict/newconce			背单词 新概念英语词库
/usr/lib/dict/gre			背单词 GRE 词库

/usr/lib/dict/xuguozhang		背单词 许国璋英语词库
/usr/lib/dict/yiliao			背单词 医疗英语词库
/usr/lib/dict/highschool		背单词 高中英语词库
/usr/lib/dict/tofelword			背单词 托福英语词库

三) 游戏

/usr/bin/ckgl				仓库管理员
/usr/bin/ckgl.sh			仓库管理员 Shell 脚本
/usr/lib/ckgl/*.map			仓库地图文件
/usr/bin/go				网络围棋
/usr/lib/go/*.go			围棋棋谱文件
/usr/bin/guess				猜数
/usr/bin/mguess				计算机猜数
/usr/bin/guess.sh			猜数 Shell 脚本
/usr/bin/mguess.sh			计算机猜数 Shell 脚本
/usr/bin/puzzle				十五子棋
/usr/bin/mine				扫雷游戏[只支持 VGA]

四) 图形开发系统

/usr/bin/graphdemo			图形演示程序

/usr/include/clangraph.h		C 语言图形接口头文件
/usr/lib/386/Slibccgi.a			U-OPS 系统图形开发系统库文件
/usr/lib/libccgi.a			UNIX 系统图形开发系统库文件
/usr/lib/asc16				16*8 ASCII 码点阵文件
/usr/lib/hzk16				16*16 国标汉字点阵文件
/usr/lib/clansrc/graphdemo.c		图形演示程序 C 源代码
/usr/lib/clansrc/makefile		图形演示程序的 make 文件

五) 实用程序

/usr/bin/be				十六进制编辑器
/usr/bin/crtdata			自动产生 informix 库数据文本
/usr/bin/crtform			自动产生 informix 库表格文件
/usr/bin/curstate			当前菜单状态
/usr/bin/emore				制作 emore 格式文档
/usr/bin/demore				释放 emore 格式文档
/usr/bin/dt				时钟
/usr/bin/getpage			分页输出程序
/usr/bin/lpcancel			取消打印队列

/usr/bin/man.sh				联机用户手册 Shell 脚本
/usr/bin/myformat			通用软盘格式化 Shell 脚本
/usr/bin/part				按字节大小分割文件
/usr/bin/password			提问密码
/usr/bin/readme				说明文件
/usr/bin/readkey			读单个键
/usr/bin/string				系统命令 strings 中文扩展版
/usr/bin/tot				文本两栏化处理程序
/usr/bin/transdos			DOS 格式软盘全盘拷贝
/usr/bin/ttykb				终端键盘控制
/usr/bin/viewfd				浏览软盘
/usr/bin/vmode				设置 | 获取显示方式.

■第三章 例示系统 CLAN 使用说明

3.1 CLAN 例示系统的启动

.) 在西文模式下启动 CLAN 的方法:
	$ eclan
	eclan 自动在屏幕右上角启动一时钟显示.
:) 在中文模式下启动 CLAN 的方法:
	$ cclan

3.2 CLAN 菜单功能列表

例示系统 CLAN 是一个应用 CLAN 所开发出的功能丰富的系统,具有简单实
用、美观大方、易于理解、易于维护和扩充的优点.其预先集成的功能如下:

1.SYS 子菜单: 一组系统状态查询命令.
	sys.1 查询系统名称
	sys.2 查询系统状态
	sys.3 查询日历
	sys.4 查询硬盘使用情况
	sys.5 查询进程状态
	sys.6 查询用户状态
	sys.7 查询打印系统状态
	sys.8 查询 IPC 状态
	sys.9 特权操作子菜单[需要超级用户密码]
		sys.9.1 用户代理
		sys.9.2 重新启动系统
		sys.9.3 系统关机
	sys.10 当前菜单信息[用于开发]

2.UTILITY 子菜单: 一组实用工具程序.
	util.1 察看软盘内容子菜单
		util.1.1	软驱 0
		util.1.2	软驱 1
	util.2 格式化 UNIX / U-OPS 软盘子菜单
		util.2.1	软驱 0,360 K
		util.2.2	软驱 0,1200 K
		util.2.3	软驱 0,720 K
		util.2.4	软驱 0,2880 K
		util.2.5	软驱 1,360 K
		util.2.6	软驱 1,1200 K
		util.2.7	软驱 1,720 K
		util.2.8	软驱 1,2880 K
	util.3 格式化 DOS 软盘子菜单
		util.2.1	软驱 0,360 K
		util.2.2	软驱 0,1200 K
		util.2.3	软驱 0,720 K
		util.2.4	软驱 0,2880 K
		util.2.5	软驱 1,360 K
		util.2.6	软驱 1,1200 K
		util.2.7	软驱 1,720 K
		util.2.8	软驱 1,2880 K
	util.4 取消打印队列
	util.5 电子信箱
	util.6 数学计算器
	util.7 联机命令帮助
	util.8 用户手册
	util.9 锁定终端键盘
	util.10 终端键盘开锁

3.DICTIONARY 子菜单: 背单词及英汉双向词典.
	dict.1 查单词服务器
	dict.2 背单词─大学英语
	dict.3 背单词─新概念英语
	dict.4 背单词─托福英语
	dict.5 背单词─GRE 英语
	dict.6 背单词─计算机专业英语

4.GAME 子菜单: 一组游戏.
	game.1 仓库管理员
	game.2 围棋
	game.3 猜数
	game.4 计算机猜数
	game.5 十五子棋
	game.6 图形演示程序
	game.7 扫雷

5.SHELL 子菜单: 各种 shell 环境.
	shell.1	shell
	shell.2	c shell
	shell.3	v shell
	shell.4	r shell
	shell.5	k shell

6. 说明: 本说明手册.

3.3 CLAN 部分功能说明

3.3.1 察看软盘内容
	命令名: viewfd
	功 能: 识别软盘格式并对其内容列表.可识别下列格式的软盘:
		1.Dump
		2.Tar
		3.Cpio
		4.Dos
		5.FileSystem
	菜 单: util.1
	命令行: viewfd [0|1]
	参数说明:
		0 软盘驱动器 0
		1 软盘驱动器 1

3.3.2 取消打印队列
	命令名: lpcancel
	功 能: 取消所有可取消的已排队的打印任务
	菜 单: util.4
	命令行: lpcancel
	参数说明: 无

3.3.3 终端键盘控制
	命令名: ttykb
	功 能: 暂时锁定或解锁终端键盘
	菜 单: util.9 util.10
	命令行: ttykb [o]
	参数说明:
	缺省 加锁,o 解锁
	例子: 输入 tty04,第四屏暂时被锁死,以后可以用 ttykb o 打开.

3.3.4 背单词
	命令名: word
	功  能: 可对大学英语、新概念英语、托福词汇、计算机专业英语、
		GRE 英语词汇等五个方面的英文词汇进行循环累进记忆,设
		置了 19 级难度,用户输入错误时给出正确结果,并可给出
		得分比.
	菜 单: dict.2 - dict.6
	命令行: word lib [complex]
	参数说明:
	lib 词库文件名
	complex 难度系数 [1-19]
	功能键: q 退出,0 进入单词查询状态

3.3.5 英汉双向词典 [支持多用户同时查询]
	英汉双向词典是通过在背单词时键入0 切换到单词查询状态,以及在
	查询状态时键入0 切换回背单词状态而实现的.它不能脱离背单词而
	独立使用.

	1.英汉双向词典的启动

	在使用词典之前,必须首先启动查单词服务器,否则进入查询状态时
	会显示信息 Server not ready.查单词服务器只需要启动一次.
	命令名: _word
	功 能: 启动查单词服务器
	菜 单: dict.1
	命令行: _word lib
	参数说明:
		lib 词汇库文件名
	功能键:
		如果已经启动过一次,再次启动时系统提示
		Server already started,(r)eset,(c)lose,else ENTER?
	此时键入	r 重新启动,c 关闭,回车 不作任何工作

	2.英汉双向词典的使用

	首先启动查单词服务器,进入任何一个背单词状态,键入0 切换到查
	询单词状态.屏幕显示输入光条,此时即可输入待查词汇. 查单词可
	查英语单词,也可以查汉语词汇.查单词支持模糊查询.利用此项功
	能,用户可以在仅知待查词汇一部分的情况下进行查询; 也可以对于
	具有一定共同特征的词汇进行查询列表,以系统学习.
	合法查询输入字符串的构成规则如下:
		.) 单个字母匹配自身.
		如: 输入"list",则所有含"list"的词汇都将被显示出来.
		:) "^" 匹配单词开头.
		如: 输入 "^list",则所有"list"开头的词汇将显示出来.
		:.) TAB 键匹配单词结尾.
		如: 输入"list"TAB, 则所有"list"结尾的词将显示出来.
		::) "." 匹配任意一字母.
		如: 输入"li.st", 则显示出所有包含"li"及"st"且中间间
			隔某一其它字母的单词.
		::.) "*" 匹配一字母的 0 或多次出现.
		如: 输入 "^list.*list"TAB 将显示所有以 "list" 开头且
			以其结尾的单词,当然这样的单词未必会存在.
	熟练应用上面的条件组合,您会发现背单词是一件轻松快乐的事情.
	例如:
		"^...."TAB 显示所有四字母单词.
		"^.u."TAB 显示所有中间字母为 "u" 的三字母单词.

	3.词库文件格式及用户自建词库

		系统提供五个背单词词库、一个查询词库.其中查询词库有
	将近4 万条词汇,一般不需要用户再行建立词汇库.如有特殊需求,
	可按下述格式自建或追加系统词库:
		英文单词TAB汉意
	例如:	CLANSOFT STUDIO[TAB]科蓝软件工作室
		Chinese[TAB]中国
		HeBei[TAB]河北
		HengShui[TAB]衡水
		Computer[TAB]计算机

3.3.6 仓库管理员游戏
	命令名: ckgl
	功 能: (请参考 DOS 下的游戏软件 <<仓库世家>>
	菜 单: game.1
	命令行: ckgl map
	参数说明:
	map 地图文件名 (预设 18 幅地图)

3.3.7 围棋游戏
	命令名: go
	功 能: 围棋记谱打谱; 联网下围棋. 可以设定让子数,自动提子. 联
	网使用时先登记方执白, 后登记方执黑.  执黑方可以通过 b 键设置
	让子. 预置 6 局古谱.
	菜 单: game.2
	命令行: go

3.3.8 猜数游戏
	命令名: guess & mguess
	功  能: 猜一个 n 位数字
		guess: 对用户每次猜测的结果,给出有几
		个数字包含在未知数串中,其中有几个数字
		位于正确的位置上,据此进行下一次猜测.
		直到猜中或键入 n 位 0 退出.
		mguess: 计算机模仿人的思维来猜数.
	菜 单:	game.3
		game.4
	命令行: guess [n] 或 mguess [n]
	参数说明:
		n	位数 [缺省为 4 位]

3.3.9 十五子棋游戏
	命令名: puzzle
	功 能: (请参考 DOS 系统下的 PUZZLE 游戏)
	菜 单: game.4
	命令行: puzzle
	参数说明: 无

3.3.10 扫雷游戏
	命令名: mine [n]
	功 能: (请参考 WINDOWS 系统下的扫雷游戏)
	菜 单: game.6
	命令行: mine
	参数说明: n 地雷个数, 缺省为 100.
	当前目录或者 /usr/bin 目录下有字库文件 hzk16 以及 asc16. [包
	括在 CCGI 中, 用户也可以从 UCDOS 软件中得到].

3.3.11 中西文十六进制编辑器
	命令名: be
	功 能: 对文件进行全屏幕十六进制编辑.类似 DOS 系统下 Pctools
	软件中 File 菜单中的 F 功能. 支持中文模式,支持多文件编辑,支
	持扇区定位、扇区读写.可用于软件分析及加密解密、软盘及文件修
	复等多种特殊用途领域.支持二进制及字符串两种模式的搜索定位.
	菜 单: 无
	命令行: be [-n blocksize] f1 [f2 ...]
	参数说明:
		-n	blocksize 用于编辑软盘等块设备文件时指定总块
			数,每块512字节. 例如容量 1.2Mb 的高密度5.25
			英寸软盘块数为 2400.
		f1 [f2...]	一个或多个文件名字.可以是包括设备文
			件、管道文件名在内的任何文件名字.
	功能键:
	浏览状态 [VIEW]
		TAB	中文方式显示微调键,用于 ASCII显示区汉字显示
			显示混乱时调节一字节,以澄清汉字显示.加 -n 
			参数时不可用.
		?	二进制搜索.
		/	字符串搜索.
		CTRL-X	退出本编辑器.
		CTRL-U	前一文件.
		CTRL-V	后一文件.
		CTRL-E	进入编辑状态.
		CTRL-P	上一页.
		CTRL-N	下一页.
		CTRL-F	定位扇区.
		CTRL-W	写本扇区内容到一文件中.
		CTRL-R	从某文件读入 512 字节并进入编辑状态.[若退出
			编辑状态时不存盘,则恢复文件原来内容 ]
		CTRL-L	整理屏幕显示.
	编辑状态 [EDIT]
		TAB	16 进制与 ASCII 码方式切换键.
		CTRL-X	退出编辑状态.若编辑过程中有修改操作,系统提
			示是否保存,答 y 确认修改,答 n 忽略修改.
		CTRL-G	重复上次的搜索.
		CTRL-P	上一页.
		CTRL-N	下一页.
		光标键	移动光标
		CTRL-L	整理屏幕显示.

3.3.12 析出十六进制文件中的中西文字串
	命令名: string
	功 能: 系统命令 strings 的中文扩展版
	菜 单: 无
	命令行: string [-a] [-l n] file1 [file2...]
	参数说明:
		-a	打印偏移地址
		-l n	指定析出字符串长度下限为 n
		file1 [file2]	一个或多个文件

3.3.13 文本两栏化处理程序
	命令名: tot
	功 能: 用于将文本文件转换为两栏格式,并可加标题与页号.
	菜 单: 无
	命令行: tot [-r ln][-l ll][-d fd] from to
	参数说明:
		-r ln 指定每页行数.只作两栏处理,不加标题和页号.
		-l ll 指定栏宽 (字符数.缺省为 85)
		-d fd 指定栏距 (字符数.缺省为 10)
		from 源文件名
		to 目标文件名

3.3.14 DOS 格式软盘全盘拷贝
	命令名:	transdos
	功  能:	DOS 格式软盘与 UNIX/U-OPS 文件系统之间的批量拷贝. 类
		似 DOS 系统下的 XCOPY 命令, 它连同被拷贝目录下的各级
		子目录内容一起拷贝.
	菜 单: 无
	命令行:
		1 transdos [-h ksize] [-m|-r] disk:[path] path
		2 transdos [-h ksize] [-m|-r] path disk:[path]
	参数说明:
		格式 1. 递归拷贝 DOS软盘的内容到一目录
		格式 2. 递归拷贝一目录的内容到 DOS软盘
		-h	指定繁重方式, 用于待拷贝目录和文件非常多时提
			高速度.
		ksize	360,720,1200,1400:	删除旧数据
			0:	保留旧数据,必须是DOS格式软盘
		-m	强制进行 CR-LF 到 CR 的转换
		-r	强制不进行 CR-LF 到 CR 的转换
		disk:	A: 或者 B: 指定 DOS 软盘号
		path	目录名

3.3.15 分页输出程序
	命令名: getpage
	功 能: 用于输出文本文件中的某些页.
	菜 单: 无
	命令行: getpage file startpage [endpage]
	参数说明:
		file	文本文件名
		startpage 起始页号
		endpage	结束页号 [本项缺省则只输出起始页]

3.3.16 按字节大小分割文件
	命令名: part
	功 能: 略
	菜 单: 无
	命令行: part file bsize [ startblock endblock ]
	参数说明:
		file	文件名
		bsize	分割字节大小
		startblock	起始块
		endblock	终止块

3.3.17 提问密码程序
	命令名: password
	功 能: 主要用于 Shell 程序设计,检验密码.密码正确返回 0,否
		则返回 1
	菜 单: 无
	命令行: password [key]
	参数说明:
		key 密码串(由 a-j 构成, 被翻译为 0-9)

3.3.18 读单个键
	命令名: readkey
	功 能: 主要用于 Shell 程序设计,读单个键.打印键值或返回键码.
	菜 单: 无
	命令行: readkey [-s]
	参数说明:
		-s 返回键码, 可用系统环境变量 $? 访问, 缺省打印键值.

3.3.19 设置 | 获取显示方式.
	命令名: vmode
	功 能:
	菜 单: 无
	命令行: vmode [n]
	参数说明:
		n 设置显示方式为 n, 缺省时打印显示方式号.

3.3.20 其他杂项命令
	时钟显示				命令行: dt
	自动产生 informix 数据库的 form		命令行: crtform dbs
	制作 emore 格式的文档			命令行: emore files
	释放 emore > achieve 产生的文档		命令行: demore arch
	CLAN 演示程序			命令行: menudemo
	CLAN 说明程序			命令行: readme 或 man clan
	CLAN 注册说明			命令行: readme register

注 1:	CLAN 例示系统中大部分软件均为中西文兼容,环境变量 CHINESE 设
	为 1 时指定中文方式,其他值或缺省时为西文方式.请参考 /bin目
	录下的 eclan 及 cclan.

注 2:	如何得到本说明的文本:
	readme > /tmp/readme.txt	输出到文件
	readme | lp			输出到打印机
		或
	man clan > /tmp/readme.txt	输出到文件
	man clan | lp			输出到打印机

■第四章 CLAN 开发说明

	CLAN 面向应用软件开发以及二次开发.用户只需经过简单的学习,
使用vi等编辑器编辑几个简单的文本文件,即可生成实用、漂亮、易于理解、
维护和扩充的菜单屏幕风格的应用系统.
	CLAN 由一个独立于具体菜单的通用菜单驱动程序、一个屏幕初始文
件、一个配置文件,以及一组菜单数据文件所构成.其中除了菜单驱动程序以
外,其他文件均可由用户修改或重建,从而生成新的系统.
	[ 注: 本章提到的所有系统文件包括菜单数据文件, 屏幕控制文件, 
配置文件. 其有效行均以"##"开头, 对于屏幕控制文件及配置文件, 无效行(
非 "##" 开头的行)被忽略, 对于菜单数据文件, 无效行首先被执行, 请关心
开发的用户注意.参考shell.menu ]

详细说明如下:
1.应用系统目录.
	每个应用系统应该单独设置一个目录,以存放配置文件、屏幕初始文
件及各菜单文件.在例示系统CLAN中,中文模式对应目录 /usr/lib/chinese,
西文模式对应于目录 /usr/lib/english.
2.菜单数据文件.
	这是为数最多的一类文件, 每个菜单对应于一个菜单数据文件.以
main.menu 命名的文件产生横向菜单,其它名字命名的菜单数据文件产生纵向
菜单,一个应用系统通常由一个横向主菜单及几个以致几十个纵向子菜单构成
多级树型结构.CLAN 生成的应用系统菜单级数没有限制.
	CLAN 支持菜单的交叉调用及递归调用.虽然我们一般不这样做,但
通过子菜单调用主菜单是完全可能的.菜单数据文件的命名方式不加限制,例
示系统 CLAN 约定菜单数据文件后缀名为 ".menu".

菜单数据文件结构:
	.) 第一行控制菜单全局特征:
	格式: linec|bgc|title|tfgc|tbgc|optionc|exitc
	其中
		linec:	边框颜色
		bgc:	菜单底色
		title:	标题信息
		tfgc:	标题颜色
		tbgc:	标题底色
		optionc:选择项提示颜色
		exitc:	退出项提示颜色
	:) 第二行到第 N+1 行控制菜单第 1 至 N 项的特征
	格式:display|execute|control|attribute|fgc|bgc
	其中
		display:	显示字段
		execute:	执行字段
		control:	控制字段
		attribute:	显示属性
		fgc:		前景色
		bgc:		背景色
	每个字段均可为空,但 "|" 分割符不可省略.
		其中:
		a) 显示字段格式:
			选择击活字符串K:说明串C
			键入 K 时, 本菜单项执行字段的内容将被执行.
		若本字段不含有冒号,则本项不能执行,只能显示.
		b) 控制字段格式:
			有 3 种可选择值: "menu" "cls" 其它值(或空).
		menu 控制本项启动一下级子菜单; "cls" 控制首先清除屏
		幕,再执行 execute 字段的内容. 其它值则控制默然(不
		清屏幕) 执行 execute 字段的内容.
		c) 执行字段格式:
			如果控制字段为 "menu",则为:
			菜单文件名 起始行 起始列 菜单高度 宽度
		否则,本字段接受合法的 shell命令行.
		可以访问下列内部环境变量, 请关心开发的用户注意:
			$is 选择键 K 的值
			$mn 本菜单数据文件名
			$com 本执行字段自身内容
		请参考 state.menu 菜单项 10.
		d) 显示属性字段格式:
		有下列可选择值:
			"normal"	正常属性
			"highlight"	高亮度
			"underline"	下划线
			"flash"		闪烁
			"reverse"	反象显示
			"nodisp"	隐藏
		e) 有关色彩字段可选择:
			"lt_green"	浅绿色
			"lt_cyan"	浅蓝绿色
			"lt_red"	浅红色
			"lt_magenta"	浅紫红色
			"yellow"	黄色
			"lt_white"	亮白色
			"blue"		蓝色
			"green"		绿色
			"cyan"		蓝绿色
			"red"		红色
			"magenta"	紫红色
			"brown"		棕色
			"white"		白色
			"gray"		灰色
			"lt_blue"	浅蓝色
			"black"		黑色
3.屏幕初始文件.
	用于控制系统的初始画面.一般每个应用系统对应一屏幕初始文件.
每行有下列 3 种选择:
	.) clear | 色彩 (参考前述色彩值)
		功能: 以指定色彩清屏
	:) box | 行 | 列 | 高 | 宽 | 框色 | 底色
		功能: 在指定位置以指定色彩和大小画方框
	:.) 行 | 列 | 信息 | 属性 | 前景 | 背景
		功能: 在指定区以指定属性,颜色显示信息
4.配置文件
	控制全局变量,每个应用系统对应一个配置文件,用户仅可对值域进
行合法修改.
	格式: 变量名 | 变量值 | 注释
	其中变量名含义如下:
	a_cont	提示运行完毕返回的显示属性.
	a_errmsg提示输入错误的显示属性.
	a_exec	提示正在执行的显示属性.
	a_m_q	退出主菜单提示的显示属性.
	a_s_q	退出某子菜单提示的显示属性.
	a_s_opt	子菜单输入选择提示的显示属性.
	a_m_opt	主菜单输入选择提示的显示属性.
	a_m_t	主菜单标题显示属性
	a_mbox	消息框显示属性
	a_rd	用户输入时的显示属性
	a_shadow方框荫影的显示属性
	a_s_t	子菜单标题显示属性
	b_mbox	消息框底色
	b_shadow荫影颜色
	f_cont	提示程序运行返回的显示前景色.
	f_errmsg提示错误输入的前景色.
	f_exec	提示正在运行的前景色.
	f_mbox	消息框边框色.
	b_clan	CLAN 标记的底色.
	f_clan	CLAN 标记的前景色.
	a_clan	CLAN 标记的显示属性.
	f_normal正常的前景色.
	b_normal正常的背景色.
	a_normal正常的显示属性.

	显示属性及颜色值可参考前述第 2 节中第 :)小节的 d,e 两部分.
[ 可参考例示系统 CLAN 中所使用的配置文件: /usr/lib/chinese/variables
和 /usr/lib/english/variables.]

5.通用菜单驱动程序 commenu 命令行调用参数说明:
	CLAN 强大的功能、绚丽的界面,最终都是由驱动程序 commenu实现
的./usr/bin/menudemo 演示程序用实例说明了 commenu 命令行参数的用法.
	下边对其参数概括说明:
	commenu [-f m][-x c][-y r][-w w][-d d][-c p]
		[-i i][-v v][-l c][-m m][-r r][-p p]
		-f m 指定主菜单文件名.
			默认文件main.menu,产生横向主菜单.
			否则产生纵向菜单.
		-x c 指定菜单起始列号. 默认为 1
		-y r 指定菜单起始行号. 默认为 1
		-w w 指定菜单宽度列数. 默认为 80
		-d d 指定菜单高度行数. 默认为 1
		-c p 指定应用系统目录. 默认为当前目录

		-i i 指定初始画面文件. 默认为 first
		-v v 指定配置文件. 默认 variables
		-l c 指定中文方式. 默认为西文方式
		-m m1 强制单色方式. 默认为自动检测
		-r 11 强制取消边框. 默认为有边框
		-p 11 强制取消荫影. 默认为有荫影
		-* 显示本帮助信息.

	在例示系统CLAN中提供了大量的实例, 用户可以通过修改、扩充例示
系统的目录/usr/lib/english和/usr/lib/chinese 的内容,逐步理解CLAN的
功能和其所构成的应用系统的结构, 以便自行开发软件或改造现有软件.

■第五章 关于图形开发包

	针对 UNIX/U-OPS 系统下的商品图形软件包价格较贵, 不易配备的问
题, 我们开发了 CCGI-科蓝计算机图形接口, 实现您在 UNIX 及U-OPS 系统下
编制图形界面程序及显示汉字的梦想. 扫雷游戏以及此部分是 CLAN3.1 及其
后版本的新增内容.  具体包括: 一个 C 语言函数库, 一个 C语言头文件. 提
供了写像素, 读像素, 画线, 画矩形, 画椭圆, 画圆, 模式色彩填充, 保存显
示区, 恢复显示区以及显示中文, 显示 ASCII字符, 显示放大字体的中文以及
ASCII 字符等功能.

图形函数参考:
1)int setvmode(vmode)
	设置显示方式, 成功返回0, 否则返回 -1. 一般在进入图形方式时以
宏参数 GRAPHMODE 调用, 在退出图形方式时以原来的方式为参数调用.
2)int getvmode()
	获取显示方式, 返回显示方式号.
3)void putpixel(x,y,color)
	写像素, x y 为屏幕坐标, color 为颜色值.
4)int getpixel(x,y)
	读像素, x y 为屏幕坐标, 返回(x,y)点的颜色值.
5)void line(x1,y1,x2,y2,color)
	以颜色 color 画 (x1,y1) 到 (x2,y2) 的线段.
6)void rectangle(x1,y1,x2,y2,color)
	以颜色color画左上角(x1,y1)右下角(x2,y2)的矩形.
7)void ellipse(x,y,a,b,color)
	以颜色 color 画 (x,y) 为中心, a b 为轴的椭圆.
8)void circle(x,y,r,color)
	以颜色 color 画 (x,y) 为中心, r 为半径的圆.
9)void echarxy(x,y,c,forecolor,backcolor)
	在 x,y 处以前景色 forecolor 背景色 backcolor 写ASCII 字符 c.
10)void ccharxy(x,y,cc,forecolor,backcolor)
	在 x,y 处以前景色 forecolor 背景色 backcolor 写汉字 cc.
11)void textxy(x,y,text,forecolor,backcolor,dir)
	在 x,y 处以前景色 forecolor 背景色 backcolor 写 dir 方向的字
符串 text. dir 为 H 或 V (横向或纵向)
12)void bigecharxy(x,y,c,forecolor,backcolor,nx,ny)
	在 x,y 处以前景色 forecolor 背景色 backcolor 写大字体ASCII字
符 c, nx ny 分别为横向及纵向放大倍数.
13)void bigccharxy(x,y,cc,forecolor,backcolor,nx,ny)
	在 x,y 处以前景色 forecolor 背景色 backcolor 写大字体汉字cc,
nx ny 分别为横向及纵向放大倍数.
14)void bigtextxy(x,y,text,forecolor,backcolor,nx,ny)
	在 x,y 处以前景色 forecolor 背景色 backcolor 写 dir 方向的大
字体字符串text,nx ny分别为横纵向放大倍数.
15)void fill(x,y,fillcolor,bordercolor)
	以 x,y 为种子,  以 fillcolor 和 PATTERN 填充模式屏蔽码作与运
算之后的色值为填充色, 对以 bordercolor 为边界的区域进行填充.
16)void clearpattern()
	清除 PATTERN 填充模式屏蔽码.
17)void setpattern(pattern)
	设置 PATTERN 填充模式屏蔽码.  pattern 为一个 16 元素的无符号
字符数组, 用于控制填充颜色. 例如点 x0,y0 的填充颜色应为:
	fillcolor & pattern [ x0 & 0x0f ]
18)unsigned char *getimage(x,y,width,depth)
	分配一字符指针指向的内存区, 用于保存 (x,y) 为左上角, 宽width
高 depth 的屏幕矩形区域的内容.
19)void putimage(image,x,y,width,depth)
	把字符指针 image 指向的内存区域的内容, 写入(x,y) 为左上角, 
宽 width, 高 depth 的屏幕矩形区域.

编译命令行:
	cc -o 文件名 C源程序文件名 -lccgi
	您可以参照图形演示程序 /usr/bin/graphdemo  的C语言源代码文件
 /usr/lib/clansrc/graphdemo.c 以了解实际的应用.
	CCGI支持VGA图形方式12(640X480 16色)和13(320X200).
				[END]