開放式程式語言

開放式程式語言(Open Programming Language ,OPL)是一種用於運行Symbian作業系統的攜帶型設備的嵌入式程式語言。

基本介紹

  • 中文名:開放式程式語言
  • 外文名:Open Programming Language
  • 縮寫:OPL
用法,歷史,例子,測試對話回響,變數類型,細節,

用法

它可以在諾基亞9200,9300和9500 Communicator系列行動電話/個人數字助理(PDA)和索尼愛立信P800,P900,P910系列上找到。 在經典的Psion PDA(如Series 3,5 / 5mx,Series 7和netBook / netPad)以及MC218上,OPL是標準套用套件的一部分。 OPL也包含在Psion Teklogix工業手持設備中,例如Workabout mx。 OPL是一種類似於BASIC的解釋語言。 完全兼容Visual Basic的語言OVAL也已經開發完成。

歷史

該語言最初被稱為組織者程式語言,由Psion Ltd為Psion Organizer開發。由Colly Myers設計,由Richard Harrison和Martin Stamp實施的第一次疊代。第一個實現(沒有圖形)是原始的Psion Organizer(稱為Psion Organizer I,1984),它與Science,Finance和Math數據包捆綁在一起。作為Psion Organizer II(1986)中的內置軟體,它變得真正可用,並且該語言繼續用於Psion Series 3和更高版本。 Psion從攜帶型數字助理市場退出後,該項目推遲到2003年,當時剛剛起步的Symbian開發人員計畫將其作為開源軟體發布。該語言在opl-dev項目的SourceForge上開發。
Symbian OS v8及更高版本無法使用該語言,主要原因是主要Symbian授權商諾基亞和索尼愛立信缺乏興趣和支持。因此,OPL很可能永遠不會用於新一代Symbian OS手機如索尼愛立信P990,M600,W950,P1i和諾基亞E61i和E90。截至2010年,我們鼓勵諾基亞設備開發人員使用Python代替S60。

例子

以下是Hello world程式的控制台版本:
PROC main:  PRINT "Hello World!"  PAUSE 40ENDP
這裡是諾基亞Series 80用戶界面的GUI版本:
CONST KKeyEnter%=13PROC hello:  dINIT "Hello"  dTEXT "","Hello World!"  dBUTTONS "OK",KKeyEnter%  DIALOGENDP
OPL是一種結構化程式語言。 OPL程式包含PROCed,它與其他程式語言中的函式非常相似。
在這個例子中,dINIT關鍵字初始化一個對話框(直觀地說,所有對話框相關的函式都以字母'd'開頭;為了清楚起見,這個字母是小寫字母,但是該語言與案例無關)。 對話框的第一個參數是一個可選的字元串,用於標題欄中顯示的對話框的標題。
dTEXT函式顯示帶有兩個必需參數的文本:一個左對齊的“提示”字元串和一個主字元串。
dBUTTONS關鍵字允許您在對話框上放置按鈕 - 這裡有一個帶有文本“OK”的按鈕。 每個按鈕的第二個參數既是該按鈕的快捷鍵的特殊標記,又是對話框的返回碼,在本例中為“Enter”鍵。
最後,在螢幕上顯示先前初始化的對話框需要DIALOG關鍵字。

測試對話回響

一個例子:
PROC test:   dINIT "Your Challenge"      dTEXT "","Will your answer to this question be no?"   dBUTTONS "Yes",%y,"No",%n   IF DIALOG=%y      PRINT "No it wasn't!"   ELSE      PRINT "Yes it was!"   ENDIF   GET ENDP
在這個殘酷的疑問程式中,Yes按鈕被分配了Ctrl + y的快捷鍵,而No則有Ctrl + n,分別由%y和%n表示。 在IF語句中測試DIALOG的用戶輸入,並在螢幕上列印適當的回響。請注意,“GET”關鍵字在不使用對話框的情況下獲取用戶輸入,此處僅用於在終止程式之前等待按鍵(否則它將立即結束,而無需為用戶提供讀取文本的時間)。 DIALOG的輸出也可以存儲在變數中。
必須使用LOCAL關鍵字聲明特定於過程的變數; 全局變數是用GLOBAL關鍵字定義的。

變數類型

下表使用了一個名為'var'的示例變數。
數據類型
語法
Floating Point
var
Integer
var%
Long Integer
var&
String
var$(length)

細節

OPL通過作業系統CALL與先進的Psion Series 3功能接口,但在後來的Psion Series 5mx中,這被更改為存儲在系統ROM(Z驅動器)中的所謂'OPX'庫。 還為諾基亞9210,諾基亞9300和諾基亞9500通訊器提供了“OPX”庫,增加了OPX例程來處理簡訊和管理藍牙通訊。
其他OPL功能包括那些在開始時帶有字母'g'的圖形功能; 選單上帶字母'm'的那些; 和那些帶有字母'd'的對話框。

相關詞條

熱門詞條

聯絡我們