1.2抽象化curses函数
在Unix/Linux环境下的文本模式交互式应用程序编程中,需要从curses下申请主应用程序的窗口空间,并采用curses库提供的一系列屏幕操作函数来绘制窗口信息即屏幕元素。curses提供了几百个函数调用来处理用户的键盘操作以便给用户进行交互处理,虽然可以直接从curses中调用任意的Windows函数,但Object Unix/Linux Class Library通过提供一组对象成员函数来简化调用函数的过程。通过抽象化用户的键盘交互操作,提供一系列界面元素操作控件如输入条、列表框、校验按钮等标准的屏幕操作来简化用户的编程并使用户的界面一致性。
这一方法虽然减少对每个curses函数的依赖性,但不限制对curses库函数的直接调用。Object Unix/Linux Class Library具备了两方面的优越性:高级面向对象的开发加之对Unix/Linux文本模式环境的最大限度的控制。
1.3 自动消息响应
常规的交互式应用程序需要由程序设计人员对用户的各种可能的按键进行比较来判别该执行哪种操作,通常通过大量的case语句来实现,这使得程序冗长而复杂,而且不便于程序的维护,对于实现应用程序的功能来说,正确处理和响应消息是至关重要的。
Object Unix/Linux Class Library定义了所有内部控件的键盘消息响应函数,每个控件类都有从基类派生出来的键盘事件成员函数KeyEvent,当用户需要定义自己的对话框时,重载KeyEvent成员函数,来执行不同的用户按键处理,达到消息的封装和自动消息响应。在创建该控件时,为之指定一个一个窗口类或者对话框类的成员函数来做为该控件下按下回车这个最基本的事件响应。同时,类库提供了对常规事件类型如“OnChange”、“OnEnter”、“OnExit”、“OnKeyPress”、“OnKeyPressEnter”、“OnClick”的支持。
2 OUCL的安装、类库及常用控件
2.1 安装方法
OUCL可以在SCO Unix 5.0.5/5.0.6/5.0.7系列平台上安装,本文的源码附件提供了OUCL个人试用版的安装包,安装步骤如下:
在Unix的#下执行:(假设lfr_ide.tar.Z已经拷贝到/tmp目录下)
# cd /tmp
# uncompress lfr_ide.tar
# tar xvf lfr_ide.tar
系统自动把产品解开放在/lfr_ide目录下
# cd /lfr_ide/lib
# cp libowl.a /lib
# cp libowl.a /usr/lib
# cd /lfr_ide/bin
# ./register 进行注册,注册码为上面说明
安装后的目录为:/lfr_ide,请在.profile增加PATH的内容为:/lfr_ide/bin。
试用版的注册码如下:
序列号为:SCO5-OUCL-LFR1-WYQ1
注册码为:GHK5-WKJV-DSTR-F6PS
产品号码:OUCL0001
安装完成后在在Unix的#下执行:ide回车后出现图1。

图1 整个IDE开发环境如同DOS下的TC一样使用。
|