powerbuilder是一個圖形化的應用程式開發環境。使用powerbuilder可以很容易地開發和資料庫打交道的商業化應用軟體。powerbuilder開發的應用軟體由視窗構成,視窗中不僅可以包含按鈕、下拉列表框及單選按鈕等標準的windows控制元件,還可以有powerbuilder提供的特殊的控制元件。這些特殊控制元件可以使應用軟體更容易使用,使應用軟體的開發效率更高。例如,資料視窗就是powerbuilder提供的一個整合度很高的控制元件,使用該控制元件可以很方便地從資料庫中提取資料。
商業化的軟體開發要求有很好的移植性。powerbuilder既可以跨平臺開發,也可以發行跨平臺軟體。例如,在windows95下開發的程式,可以不修改源程式而形成unix下的執行檔案或macintosh下的執行檔案。在開發小組中,不同成員可以使用不同的開發環境,但由於powerbuilder的支援,在不同的開發環境下看到的共享powerbuilder物件是相同的,所以仍可以同時開發同一個應用程式。
隨著internet的普及,開發internet應用的需求激增。powerbuilder8.0及時地強化了web開發功能,並提供了一些配套的開發工具,使powerbuilder程式設計師不用再學習其他的開發工具就能開發基於web的應用。
1.2.1畫筆
powerbuilder開發環境由一系列的畫筆(painter)組成。畫筆就是完成一定功能的工具,比如視窗畫筆定義視窗物件,使用者物件畫筆定義使用者物件,資料視窗畫筆定義資料視窗物件以及庫畫筆完成應用庫的增加、刪除和修改等。開發人員可以透過開啟、新建相關物件進入到相關的畫筆中,這點和powerbuilder6.5版本以前的有所不同。在畫筆中透過簡單的滑鼠操作就能設計、建立和測試相關的powerbuilder物件。畫筆中包含很多畫筆工具,用來完成該畫筆的功能。這些功能都是和具體的畫筆相關的。
如圖1-1所示是各個畫筆構成的主操作環境中的工具條,相關術語稱為powerbar,它是由很多圖形化的小圖示構成的,每個小圖示代表一種或者一類功能。將滑鼠在該小圖示上停留片刻後,滑鼠旁邊會顯示圖示的名稱,視窗底部的資訊提示欄(microhelp)中顯示該圖示功能的詳細描述。
1.2.2事件和指令碼
powerbuilder應用程式是事件驅動的。字元環境下的程式一經執行,使用者就不能控制程式的執行流程了。其中也有一些有限的提問,但程式的執行流程是確定的。而powerbuilder應用程式的執行流程是根據執行時事件的發生情況來決定的。使用者可以單擊按鈕,選擇選單,也可以在資料視窗中輸入資料,這時都會觸發相應的事件。事件什麼時候觸發取決於事件的定義。powerbuilder為很多控制元件(control)預先定義了大量事件,這些事件的觸發時機已經定義好了。開發人員需要掌握這些事件的觸發時機,才能決定自定義事件的觸發時機,才能知道在哪些控制元件的哪些事件中編寫指令碼。
每個事件的發生都得滿足一定的條件,除了掌握事件的觸發時機外,還要清楚事件是在哪個(或哪些)控制元件上發生的。觸發條件通常是使用者的動作,當有什麼動作時什麼事件才發生。有些指令碼也可以觸發其他事件,例如,在一個按鈕的clicked事件中開啟另外一個視窗時會觸發另外一個視窗的open事件。事件是屬於特定控制元件的。例如,按鈕可以單擊,觸發clicked事件;而視窗上的線控制元件(line)的單擊就沒有什麼意義,所以線就沒有clicked事件。
指令碼(script)是由powerscript的命令、函式、語句及sql語言等組成的命令集合,用來響應事件,做相應的處理工作。例如,可以在視窗的開啟事件中編寫指令碼,在檢索資料視窗中顯示資料;在編輯框中可以編寫指令碼來校驗使用者的輸入資料是否符合特定的要求,比如是否是數字等。指令碼和事件的關係是,指令碼的執行最終依賴於事件,沒有不透過事件的觸發就可以執行的指令碼。
1.2.3函式
powerbuilder提供了大約600個內建函式,這些函式是構成指令碼的基本元素。函式一般都是針對特定的物件操作的,例如,getitemstring是用來從資料視窗中讀取string型別的欄位的取值的,它不能用來操作其他的物件;函式finditem是從列表框、下拉列表框、圖形列表框及圖形下拉列表框等物件中查詢字串的,不能用來從資料視窗中查詢。powerbuilder是面向物件的,因此具有多型性,很多函式都有多種格式。例如,經常用來顯示資訊的函式messagebox有4種格式,系統會自動識別使用哪種。
程式設計師可以自己定義函式,不僅邏輯結構清楚,方便重複呼叫,而且有利於程式的封裝。可以定義多個同名但不同引數的函式。自定義函式和內建函式的使用一樣,在函式的作用域中的任意腳本里都可以呼叫自定義函式。自定義函式還可以呼叫本身,以編寫遞迴程式。
1.2.4庫檔案
powerbuilder物件,如選單、視窗、資料視窗和使用者物件等都儲存在庫檔案中。庫檔案的字尾是pbl。使用普通的編輯器無法檢視其中的內容,使用powerbuilder的library畫筆可以開啟它。在開發環境中,powerbuilder從庫檔案中檢索所需要的物件。
一個應用中可以有多個庫檔案,這時應該設定應用的搜尋路徑。可以根據物件的使用頻率或者功能的不同將物件放在不同的庫中。例如,將報表的相關物件放在report.pbl庫中,將查詢相關的物件放在query.pbl中。這些不同庫檔案的組織策略應根據個人開發方便和系統的執行效能來確定。
1.2.5建立執行檔案
應用程式開發完畢後,可以使用powerbuilder提供的工具建立執行檔案,交付給使用者安裝盤。powerbuilder提供打包應用程式的簡單方法,方便快捷地建立商業化的安裝盤。安裝介面是使用者接觸應用程式的第一步,第一印象的好壞很重要,反映出開發人員對自己的客戶重視程度。無論如何,提供給使用者一個漂亮的安裝介面,這肯定是沒錯的。
powerbuilder是一個圖形化的應用程式開發環境。使用powerbuilder可以很容易地開發和資料庫打交道的商業化應用軟體。powerbuilder開發的應用軟體由視窗構成,視窗中不僅可以包含按鈕、下拉列表框及單選按鈕等標準的windows控制元件,還可以有powerbuilder提供的特殊的控制元件。這些特殊控制元件可以使應用軟體更容易使用,使應用軟體的開發效率更高。例如,資料視窗就是powerbuilder提供的一個整合度很高的控制元件,使用該控制元件可以很方便地從資料庫中提取資料。
商業化的軟體開發要求有很好的移植性。powerbuilder既可以跨平臺開發,也可以發行跨平臺軟體。例如,在windows95下開發的程式,可以不修改源程式而形成unix下的執行檔案或macintosh下的執行檔案。在開發小組中,不同成員可以使用不同的開發環境,但由於powerbuilder的支援,在不同的開發環境下看到的共享powerbuilder物件是相同的,所以仍可以同時開發同一個應用程式。
隨著internet的普及,開發internet應用的需求激增。powerbuilder8.0及時地強化了web開發功能,並提供了一些配套的開發工具,使powerbuilder程式設計師不用再學習其他的開發工具就能開發基於web的應用。
1.2.1畫筆
powerbuilder開發環境由一系列的畫筆(painter)組成。畫筆就是完成一定功能的工具,比如視窗畫筆定義視窗物件,使用者物件畫筆定義使用者物件,資料視窗畫筆定義資料視窗物件以及庫畫筆完成應用庫的增加、刪除和修改等。開發人員可以透過開啟、新建相關物件進入到相關的畫筆中,這點和powerbuilder6.5版本以前的有所不同。在畫筆中透過簡單的滑鼠操作就能設計、建立和測試相關的powerbuilder物件。畫筆中包含很多畫筆工具,用來完成該畫筆的功能。這些功能都是和具體的畫筆相關的。
如圖1-1所示是各個畫筆構成的主操作環境中的工具條,相關術語稱為powerbar,它是由很多圖形化的小圖示構成的,每個小圖示代表一種或者一類功能。將滑鼠在該小圖示上停留片刻後,滑鼠旁邊會顯示圖示的名稱,視窗底部的資訊提示欄(microhelp)中顯示該圖示功能的詳細描述。
1.2.2事件和指令碼
powerbuilder應用程式是事件驅動的。字元環境下的程式一經執行,使用者就不能控制程式的執行流程了。其中也有一些有限的提問,但程式的執行流程是確定的。而powerbuilder應用程式的執行流程是根據執行時事件的發生情況來決定的。使用者可以單擊按鈕,選擇選單,也可以在資料視窗中輸入資料,這時都會觸發相應的事件。事件什麼時候觸發取決於事件的定義。powerbuilder為很多控制元件(control)預先定義了大量事件,這些事件的觸發時機已經定義好了。開發人員需要掌握這些事件的觸發時機,才能決定自定義事件的觸發時機,才能知道在哪些控制元件的哪些事件中編寫指令碼。
每個事件的發生都得滿足一定的條件,除了掌握事件的觸發時機外,還要清楚事件是在哪個(或哪些)控制元件上發生的。觸發條件通常是使用者的動作,當有什麼動作時什麼事件才發生。有些指令碼也可以觸發其他事件,例如,在一個按鈕的clicked事件中開啟另外一個視窗時會觸發另外一個視窗的open事件。事件是屬於特定控制元件的。例如,按鈕可以單擊,觸發clicked事件;而視窗上的線控制元件(line)的單擊就沒有什麼意義,所以線就沒有clicked事件。
指令碼(script)是由powerscript的命令、函式、語句及sql語言等組成的命令集合,用來響應事件,做相應的處理工作。例如,可以在視窗的開啟事件中編寫指令碼,在檢索資料視窗中顯示資料;在編輯框中可以編寫指令碼來校驗使用者的輸入資料是否符合特定的要求,比如是否是數字等。指令碼和事件的關係是,指令碼的執行最終依賴於事件,沒有不透過事件的觸發就可以執行的指令碼。
1.2.3函式
powerbuilder提供了大約600個內建函式,這些函式是構成指令碼的基本元素。函式一般都是針對特定的物件操作的,例如,getitemstring是用來從資料視窗中讀取string型別的欄位的取值的,它不能用來操作其他的物件;函式finditem是從列表框、下拉列表框、圖形列表框及圖形下拉列表框等物件中查詢字串的,不能用來從資料視窗中查詢。powerbuilder是面向物件的,因此具有多型性,很多函式都有多種格式。例如,經常用來顯示資訊的函式messagebox有4種格式,系統會自動識別使用哪種。
程式設計師可以自己定義函式,不僅邏輯結構清楚,方便重複呼叫,而且有利於程式的封裝。可以定義多個同名但不同引數的函式。自定義函式和內建函式的使用一樣,在函式的作用域中的任意腳本里都可以呼叫自定義函式。自定義函式還可以呼叫本身,以編寫遞迴程式。
1.2.4庫檔案
powerbuilder物件,如選單、視窗、資料視窗和使用者物件等都儲存在庫檔案中。庫檔案的字尾是pbl。使用普通的編輯器無法檢視其中的內容,使用powerbuilder的library畫筆可以開啟它。在開發環境中,powerbuilder從庫檔案中檢索所需要的物件。
一個應用中可以有多個庫檔案,這時應該設定應用的搜尋路徑。可以根據物件的使用頻率或者功能的不同將物件放在不同的庫中。例如,將報表的相關物件放在report.pbl庫中,將查詢相關的物件放在query.pbl中。這些不同庫檔案的組織策略應根據個人開發方便和系統的執行效能來確定。
1.2.5建立執行檔案
應用程式開發完畢後,可以使用powerbuilder提供的工具建立執行檔案,交付給使用者安裝盤。powerbuilder提供打包應用程式的簡單方法,方便快捷地建立商業化的安裝盤。安裝介面是使用者接觸應用程式的第一步,第一印象的好壞很重要,反映出開發人員對自己的客戶重視程度。無論如何,提供給使用者一個漂亮的安裝介面,這肯定是沒錯的。