想写出GUI的程序,REBOL/Core是不够的,必须使用REBOL/View。REBOL/View具备Graphics与View+VID组件,用来支持GUI编程。除此之外,REBOL/View还具备一个Desktop(桌面)组件,提供一个简单的桌面环境。目前REBOL/View最新版是1.2.x。现在REBOL Technologies公司正积极进行1.3版的软件开发,估计今年就会推出。我们可以期待1.3版会是一个大跃进。
你可以到http://www.rebol.com/view-platforms.shtml下载REBOL/View。REBOL/Core和REBOL/View可以并存,不会互相干扰。所以你可以不用先卸载REBOL/Core。【注】
【注】REBOL/View虽然包含REBOL/Core的功能,但是REBOL/View内含的REBOL/Core功能通常比较旧。所以我不移除REBOL/Core,而是同时使用REBOL/Core与REBOL/View。
安装REBOL/View
你可以选择安装REBOL/View,也可以不安装。如果不安装的话,每次执行REBOL/View时,必须使用“--noinstall”选项或“-i”选项,如下所示:
rebol --noinstall
如果你已经安装REBOL/View,且想取消安装(uninstall)的话,必须使用“--uninstall”选项或“-u”选项,如下所示:
rebol --uninstall
如果你已经安装REBOL/View,且想再次安装(reinstall)的话,必须使用“--reinstall”选项或“+i”选项,如下所示:
rebol --reinstall
如果你不使用上述的任何选项【注】,而直接执行REBOL/View的解释器,那么解释器会自动判断:如果已经安装,就不再安装,如果尚未安装,就进行安装。如下所示:
rebol
【注】这些安装相关的选项(例如--noinstall),只有REBOL/View和REBOL/Link才有提供,其它的解释器不支持。本文章稍后会提到REBOL/Link。
安装REBOL/View时,会出现图1的画面,这是授权声明。按下图1的【Accept】按钮之后,就会出现图2所示的画面。
图1 REBOL/View的授权声明
在图2的画面中,在【Installation Directory】字段输入所欲安装的目录(directory),此目录必须使用REBOL的文件路径(path)方式,例如:“C:\REBOL\View”必须改写成“/C/REBOL/View”。当此目录不存在时,如果希望自动建立此目录的话,则选取【Create above directory】(X记号表示选取);当prefs.r文件存在时,如果希望将旧的prefs.r丢弃,则选取【Override user preference】;如果希望在程序选单中出现REBOL/View的快捷方式,则选取【Create REBOL program group】;如果希望在操作系统桌面出现REBOL/View的快捷方式,则选取【Put REBOL icon on desktop】;如果希望以后可以用鼠标双击(double-click)REBOL script(其扩展名.r),就自动调用REBOL/View解释器的话,则选取【Make .r file association】。按下【Install】按钮之后,就可以进入图3所示的偏好设置画面。
图2 安装程序
在图3所示的画面中,在【User name】字段输入你的名字,请勿使用中文(因为REBOL不支持双位),请用英文。如果你希望一启动就自动连到网络,则选取【Auto-connect on startup】。如果你希望一启动就自动开启Desktop,则选取【Open desktop on startup】,否则一启动就会自动进入REBOL console。如果你希望一关闭Desktop窗口(Desktop模式),就会自动开启Icon窗口(Icon模式),则选取【Close box activates icon」。图4和图5就是Desktop窗口,图6就是icon窗口。其实,Desktop模式虽然名为Desktop,但只是一个窗口,而Icon模式虽然名为Icon,但也只是一个窗口。一开始,你可能会对这样名实不符的状况感到不习惯。
图3 偏好设置
图4 REBOL Desktop
你可以按下【Email Setup】来设定email,按下【Proxy Setup】来设定proxy。这些设定值利用set-net函数纪录到user.r中。关于set-net函数,请参考上期文章的介绍。按下【Save】之后,就可以进入REBOL Desktop,如图4所示。安装完毕!
一进入图4,就表示启动了REBOL Desktop。如果你在偏好设置时选取了【Auto-connect on startup】,那么每次REBOL Desktop启动时,都会先连到REBOL公司的网站去。如果你的计算机没有连上网络,那么启动Desktop时会稍微延迟几秒的时间,直到Desktop发现网络不通。网络联机状况,会出现在Desktop窗口左下角灰色区域,该区域称为“Status Display”(状态显示),请参考图5。如果你的Desktop尚未连上网络,你可以用鼠标点击【Status Display】(请注意,不要点击到“View 1.2.xx”的文字),就可以进行联机。
Desktop面板配置解说
从图4的画面中,选择REBOL.com的图示,就可以进入图5。REBOL Desktop分成六个区域,如图5所示:分别为:
l Logo(商标):REBOL的商标。点击此处,将会在桌面模式和icon模式之间切换。Icon模式如图6所示。
l Services Bar(服务栏):服务列,这些服务可以自由修改,稍后会说明。
l Bookmark Panel(书签面板):将一些数据夹分门别类,也可以自由修改,稍后会说明。
图5 REBOL Desktop有六个区块
图6 Icon模式。点击REBOL商标会回到Desktop模式
l Folder Panel(文件夹面板):显示出目前路径下的文件夹内容。路径写在上面红色三角形旁边。点击路径名称,可以回到前一层。
l Status Display(状态显示):提供网络联机和数据传输的信息。
l Info Display(信息显示):显示信息以及项目说明。
默认(default)的环境下,Services Bar有四个服务【注】,分别是:
l User:进入用户偏好设置,如图3所示。
l Goto:直接连接到某个URL,如图7所示。
图7 直接连接到某个URL
l Help:进入help窗口,如图8所示。
图8 可以利用此对话框来联系REBOL Technologies公司,
订阅mailing list,订购REBOL产品
l Quit:离开本系统
【注】你可以自行编辑服务,只要用文字编辑软件(例如记事本)修改REBOL/View安装路径下的desktop/services.r即可。
默认的环境下,Bookmark Panel有三个书签【注】,分别是:
l REBOL.com:收集了许多REBOL官方的文件和程序。
l Local:可以把本机(local)计算机的REBOL程序放到这里,以方便执行。
l Console:进入REBOL console。
【注】你可以自行编辑书签,只要用文字编辑软件(例如记事本)修改REBOL/View安装路径下的desktop/bookmarks.r即可。
其中,REBOL.com书签中,有许多有趣的程序,放在“Demos”中。值得去瞧一瞧。
我建议大家一一去把玩这些程序,在顺便去看看程序的源码,可以藉此稍稍体会REBOL的能耐。
执行这些程序时,REBOL Desktop会先将程序下载到本机计算机储存之后才执行。所以,只要你执行过的程序,你都可以到REBOL/View安装的路径下找到源码。例如,我的REBOL/View安装路径是/C/REBOL/View/,这些源码会被放在C:\rebol\view\public\www.rebol.com\view\demos中。如果你用记事本(notepad)等软件打开这些源码来研究,你会很惊讶地发现,这些程序的源码都很短。同样功能的程序,用Java或C#来写,程序代码会多出许多倍。
以Digital clock(小时钟)程序来说,去除一开始没有用处的REBOL[ ]区块,真正有意义的程序只有下面数行:
view layout [
origin 0 banner "00:00:00" rate 1
effect [gradient 0x1 0.0.150 0.0.50]
feel [engage: func [face act evt]
[face/text: now/time show face]]
]
你可以点击Console书签,进入REBOL console的交互模式。还记得上次文章中的Hello REBOL程序吗?现在你可以输入这个程序了:
>> view layout [ Title "Hello REBOL" red Button "OK" [quit] ]
同样的一行程序,在REBOL/Core的console中无法执行,但是在REBOL/View的console中却可以执行,原因在于REBOL/Core不支持View+VID组件。想在程序中判断你的REBOL解释器有无支持view的功能,可以利用view?函数:
>> view?
== true
如果要从REBOL console回到Desktop,则在console中输入“desktop”,如下所示:
>> desktop
World Wild Reb
REBOL Desktop就像是网页浏览器,使用HTTP通信协议来和Web Server沟通。只不过,REBOL Desktop不是用来浏览HTML网页,而是用来浏览REBOL script程序(脚本),如图9所示。REBOL Technologies公司将这些用来传递REBOL程序的Web Server和REBOL Desktop统称为World Wide Reb【注】。
【注】显然这名称是从World Wide Web(WWW)所得到的构想。
图9 REBOL Desktop利用HTTP来传送REBOL脚本
在REBOL Desktop上选择【REBOL.com】书签,然后选择【Sites】,就可以进入World Wide Reb。你可以看到许多Reb网站。有些Reb网站提供一些蛮不错的REBOL程序,但有些Reb网站则已经年久失修。你也可以写出一些REBOL程序,放到你的网站,然后加入World Wide Reb。
执行World Wide Reb程序时,请务必小心,这些程序来自四面八方,我们不能确定这些程序都是对系统无害的。如果出现了安全对话框,不要轻易选择【Yes】或【Allow all】。
执行World Wide Reb程序时,REBOL Desktop仍然会先将程序下载到本机计算机储存之后才执行。所以,只要你执行过的程序,你仍然可以在REBOL/View安装的路径下找到源码。
发表日期:Mar. 7, 2004