??
????? 想寫出GUI的程序,REBOL/Core是不夠的,必須使用REBOL/View。REBOL/View具備Graphics與View+VID組件,用來支持GUI編程。除此之外,REBOL/View還具備一個(gè)Desktop(桌面)組件,提供一個(gè)簡單的桌面環(huán)境。目前REBOL/View最新版是1.2.x?,F(xiàn)在REBOL Technologies公司正積極進(jìn)行1.3版的軟件開發(fā),估計(jì)今年就會(huì)推出。我們可以期待1.3版會(huì)是一個(gè)大躍進(jìn)。
????? 你可以到http://www.rebol.com/view-platforms.shtml下載REBOL/View。REBOL/Core和REBOL/View可以并存,不會(huì)互相干擾。所以你可以不用先卸載REBOL/Core。【注】
【注】REBOL/View雖然包含REBOL/Core的功能,但是REBOL/View內(nèi)含的REBOL/Core功能通常比較舊。所以我不移除REBOL/Core,而是同時(shí)使用REBOL/Core與REBOL/View。
安裝REBOL/View
????? 你可以選擇安裝REBOL/View,也可以不安裝。如果不安裝的話,每次執(zhí)行REBOL/View時(shí),必須使用“--noinstall”選項(xiàng)或“-i”選項(xiàng),如下所示:
rebol --noinstall
????? 如果你已經(jīng)安裝REBOL/View,且想取消安裝(uninstall)的話,必須使用“--uninstall”選項(xiàng)或“-u”選項(xiàng),如下所示:
rebol --uninstall
????? 如果你已經(jīng)安裝REBOL/View,且想再次安裝(reinstall)的話,必須使用“--reinstall”選項(xiàng)或“+i”選項(xiàng),如下所示:
rebol --reinstall
????? 如果你不使用上述的任何選項(xiàng)【注】,而直接執(zhí)行REBOL/View的解釋器,那么解釋器會(huì)自動(dòng)判斷:如果已經(jīng)安裝,就不再安裝,如果尚未安裝,就進(jìn)行安裝。如下所示:
rebol
【注】這些安裝相關(guān)的選項(xiàng)(例如--noinstall),只有REBOL/View和REBOL/Link才有提供,其它的解釋器不支持。本文章稍后會(huì)提到REBOL/Link。
????? 安裝REBOL/View時(shí),會(huì)出現(xiàn)圖1的畫面,這是授權(quán)聲明。按下圖1的【Accept】按鈕之后,就會(huì)出現(xiàn)圖2所示的畫面。

圖1? REBOL/View的授權(quán)聲明
????? 在圖2的畫面中,在【Installation Directory】字段輸入所欲安裝的目錄(directory),此目錄必須使用REBOL的文件路徑(path)方式,例如:“C:\REBOL\View”必須改寫成“/C/REBOL/View”。當(dāng)此目錄不存在時(shí),如果希望自動(dòng)建立此目錄的話,則選取【Create above directory】(X記號(hào)表示選?。划?dāng)prefs.r文件存在時(shí),如果希望將舊的prefs.r丟棄,則選取【Override user preference】;如果希望在程序選單中出現(xiàn)REBOL/View的快捷方式,則選取【Create REBOL program group】;如果希望在操作系統(tǒng)桌面出現(xiàn)REBOL/View的快捷方式,則選取【Put REBOL icon on desktop】;如果希望以后可以用鼠標(biāo)雙擊(double-click)REBOL script(其擴(kuò)展名.r),就自動(dòng)調(diào)用REBOL/View解釋器的話,則選取【Make .r file association】。按下【Install】按鈕之后,就可以進(jìn)入圖3所示的偏好設(shè)置畫面。

圖2? 安裝程序
????? 在圖3所示的畫面中,在【User name】字段輸入你的名字,請(qǐng)勿使用中文(因?yàn)?/span>REBOL不支持雙位),請(qǐng)用英文。如果你希望一啟動(dòng)就自動(dòng)連到網(wǎng)絡(luò),則選取【Auto-connect on startup】。如果你希望一啟動(dòng)就自動(dòng)開啟Desktop,則選取【Open desktop on startup】,否則一啟動(dòng)就會(huì)自動(dòng)進(jìn)入REBOL console。如果你希望一關(guān)閉Desktop窗口(Desktop模式),就會(huì)自動(dòng)開啟Icon窗口(Icon模式),則選取【Close box activates icon」。圖4和圖5就是Desktop窗口,圖6就是icon窗口。其實(shí),Desktop模式雖然名為Desktop,但只是一個(gè)窗口,而Icon模式雖然名為Icon,但也只是一個(gè)窗口。一開始,你可能會(huì)對(duì)這樣名實(shí)不符的狀況感到不習(xí)慣。

圖3? 偏好設(shè)置

圖4? REBOL Desktop
????? 你可以按下【Email Setup】來設(shè)定email,按下【Proxy Setup】來設(shè)定proxy。這些設(shè)定值利用set-net函數(shù)紀(jì)錄到user.r中。關(guān)于set-net函數(shù),請(qǐng)參考上期文章的介紹。按下【Save】之后,就可以進(jìn)入REBOL Desktop,如圖4所示。安裝完畢!
????? 一進(jìn)入圖4,就表示啟動(dòng)了REBOL Desktop。如果你在偏好設(shè)置時(shí)選取了【Auto-connect on startup】,那么每次REBOL Desktop啟動(dòng)時(shí),都會(huì)先連到REBOL公司的網(wǎng)站去。如果你的計(jì)算機(jī)沒有連上網(wǎng)絡(luò),那么啟動(dòng)Desktop時(shí)會(huì)稍微延遲幾秒的時(shí)間,直到Desktop發(fā)現(xiàn)網(wǎng)絡(luò)不通。網(wǎng)絡(luò)聯(lián)機(jī)狀況,會(huì)出現(xiàn)在Desktop窗口左下角灰色區(qū)域,該區(qū)域稱為“Status Display”(狀態(tài)顯示),請(qǐng)參考圖5。如果你的Desktop尚未連上網(wǎng)絡(luò),你可以用鼠標(biāo)點(diǎn)擊【Status Display】(請(qǐng)注意,不要點(diǎn)擊到“View 1.2.xx”的文字),就可以進(jìn)行聯(lián)機(jī)。
Desktop面板配置解說
????? 從圖4的畫面中,選擇REBOL.com的圖示,就可以進(jìn)入圖5。REBOL Desktop分成六個(gè)區(qū)域,如圖5所示:分別為:
l???????? Logo(商標(biāo)):REBOL的商標(biāo)。點(diǎn)擊此處,將會(huì)在桌面模式和icon模式之間切換。Icon模式如圖6所示。
l???????? Services Bar(服務(wù)欄):服務(wù)列,這些服務(wù)可以自由修改,稍后會(huì)說明。
l???????? Bookmark Panel(書簽面板):將一些數(shù)據(jù)夾分門別類,也可以自由修改,稍后會(huì)說明。

圖5? REBOL Desktop有六個(gè)區(qū)塊

圖6? Icon模式。點(diǎn)擊REBOL商標(biāo)會(huì)回到Desktop模式
l???????? Folder Panel(文件夾面板):顯示出目前路徑下的文件夾內(nèi)容。路徑寫在上面紅色三角形旁邊。點(diǎn)擊路徑名稱,可以回到前一層。
l???????? Status Display(狀態(tài)顯示):提供網(wǎng)絡(luò)聯(lián)機(jī)和數(shù)據(jù)傳輸?shù)男畔ⅰ?/span>
l???????? Info Display(信息顯示):顯示信息以及項(xiàng)目說明。
默認(rèn)(default)的環(huán)境下,Services Bar有四個(gè)服務(wù)【注】,分別是:
l???????? User:進(jìn)入用戶偏好設(shè)置,如圖3所示。
l???????? Goto:直接連接到某個(gè)URL,如圖7所示。

圖7? 直接連接到某個(gè)URL
l???????? Help:進(jìn)入help窗口,如圖8所示。

圖8? 可以利用此對(duì)話框來聯(lián)系REBOL Technologies公司,
?????????????????????? 訂閱mailing list,訂購REBOL產(chǎn)品
l???????? Quit:離開本系統(tǒng)
【注】你可以自行編輯服務(wù),只要用文字編輯軟件(例如記事本)修改REBOL/View安裝路徑下的desktop/services.r即可。
默認(rèn)的環(huán)境下,Bookmark Panel有三個(gè)書簽【注】,分別是:
l???????? REBOL.com:收集了許多REBOL官方的文件和程序。
l???????? Local:可以把本機(jī)(local)計(jì)算機(jī)的REBOL程序放到這里,以方便執(zhí)行。
l???????? Console:進(jìn)入REBOL console。
【注】你可以自行編輯書簽,只要用文字編輯軟件(例如記事本)修改REBOL/View安裝路徑下的desktop/bookmarks.r即可。
???? 其中,REBOL.com書簽中,有許多有趣的程序,放在“Demos”中。值得去瞧一瞧。
我建議大家一一去把玩這些程序,在順便去看看程序的源碼,可以藉此稍稍體會(huì)REBOL的能耐。
????? 執(zhí)行這些程序時(shí),REBOL Desktop會(huì)先將程序下載到本機(jī)計(jì)算機(jī)儲(chǔ)存之后才執(zhí)行。所以,只要你執(zhí)行過的程序,你都可以到REBOL/View安裝的路徑下找到源碼。例如,我的REBOL/View安裝路徑是/C/REBOL/View/,這些源碼會(huì)被放在C:\rebol\view\public\www.rebol.com\view\demos中。如果你用記事本(notepad)等軟件打開這些源碼來研究,你會(huì)很驚訝地發(fā)現(xiàn),這些程序的源碼都很短。同樣功能的程序,用Java或C#來寫,程序代碼會(huì)多出許多倍。
????? 以Digital clock(小時(shí)鐘)程序來說,去除一開始沒有用處的REBOL[ ]區(qū)塊,真正有意義的程序只有下面數(shù)行:
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]]
]
????? 你可以點(diǎn)擊Console書簽,進(jìn)入REBOL console的交互模式。還記得上次文章中的Hello REBOL程序嗎?現(xiàn)在你可以輸入這個(gè)程序了:
>> view layout [ Title "Hello REBOL" red Button "OK" [quit] ]
????? 同樣的一行程序,在REBOL/Core的console中無法執(zhí)行,但是在REBOL/View的console中卻可以執(zhí)行,原因在于REBOL/Core不支持View+VID組件。想在程序中判斷你的REBOL解釋器有無支持view的功能,可以利用view?函數(shù):
>> view?
== true
????? 如果要從REBOL console回到Desktop,則在console中輸入“desktop”,如下所示:
>> desktop
World Wild Reb
??????????? REBOL Desktop就像是網(wǎng)頁瀏覽器,使用HTTP通信協(xié)議來和Web Server溝通。只不過,REBOL Desktop不是用來瀏覽HTML網(wǎng)頁,而是用來瀏覽REBOL script程序(腳本),如圖9所示。REBOL Technologies公司將這些用來傳遞REBOL程序的Web Server和REBOL Desktop統(tǒng)稱為World Wide Reb【注】。
【注】顯然這名稱是從World Wide Web(WWW)所得到的構(gòu)想。

圖9? REBOL Desktop利用HTTP來傳送REBOL腳本
????? 在REBOL Desktop上選擇【REBOL.com】書簽,然后選擇【Sites】,就可以進(jìn)入World Wide Reb。你可以看到許多Reb網(wǎng)站。有些Reb網(wǎng)站提供一些蠻不錯(cuò)的REBOL程序,但有些Reb網(wǎng)站則已經(jīng)年久失修。你也可以寫出一些REBOL程序,放到你的網(wǎng)站,然后加入World Wide Reb。
????? 執(zhí)行World Wide Reb程序時(shí),請(qǐng)務(wù)必小心,這些程序來自四面八方,我們不能確定這些程序都是對(duì)系統(tǒng)無害的。如果出現(xiàn)了安全對(duì)話框,不要輕易選擇【Yes】或【Allow all】。
????? 執(zhí)行World Wide Reb程序時(shí),REBOL Desktop仍然會(huì)先將程序下載到本機(jī)計(jì)算機(jī)儲(chǔ)存之后才執(zhí)行。所以,只要你執(zhí)行過的程序,你仍然可以在REBOL/View安裝的路徑下找到源碼。
?
發(fā)表日期:Mar. 7, 2004