PowerBuilder實(shí)用教程第2章-PowerScript語言課件_第1頁
PowerBuilder實(shí)用教程第2章-PowerScript語言課件_第2頁
PowerBuilder實(shí)用教程第2章-PowerScript語言課件_第3頁
PowerBuilder實(shí)用教程第2章-PowerScript語言課件_第4頁
PowerBuilder實(shí)用教程第2章-PowerScript語言課件_第5頁
已閱讀5頁,還剩84頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、PowerScript基礎(chǔ)第2章 PowerScript語言PowerBuilder實(shí)用教程(第5版)目 錄注 釋01注 釋PowerScript提供了如下兩種加注釋的方法,通過注釋可以進(jìn)一步提高程序的可讀性。(1)單行注釋用“/”。從雙斜杠開始到行尾均為注釋。(2)多行注釋用“/* */”。從/*開始到*/結(jié)束均為注釋。例如:/這是一個(gè)計(jì)算器程序Decimal add1 /add1表示中間結(jié)果Char op /op表示按下的運(yùn)算符/* flag=1表示按下的數(shù)字是前面數(shù)字的一部分flag=0表示按下的數(shù)字是一個(gè)新的數(shù)字的開始 */Int flag目 錄標(biāo) 識(shí) 符02標(biāo) 識(shí) 符(1)必須以字母

2、或下劃線開頭。(2)由字母、數(shù)字、下劃線_、短橫線-、$、# 、%組成。(3)不能是PowerScript保留字。(4)不區(qū)分大小寫(但若用于Web、UNIX等環(huán)境時(shí)必須區(qū)分大小寫)。(5)最長(zhǎng)40個(gè)字符。標(biāo)識(shí)符的命名規(guī)則如下。標(biāo) 識(shí) 符例如:下面是一組正確的標(biāo)識(shí)符:rv /返回值f_add /函數(shù)Button#1 /按鈕1_SpecialID /以下劃線開頭下面的標(biāo)識(shí)符寫法是錯(cuò)誤的:Total book /標(biāo)識(shí)符中間不能有空格THIS /誤用保留字THISabcdef /標(biāo)識(shí)符中間有非法字符 2x /以數(shù)字開頭目 錄續(xù) 行 符03續(xù) 行 符如果行尾的字符恰好是&,則下一行自動(dòng)是本行的繼續(xù)行。

3、例如:IF side1 = 5 AND &side2 = 6 THEN area = 5*7/相當(dāng)于 IF side1 = 5 AND side2 = 6 THEN area = 5*7注意,不能在標(biāo)識(shí)符或保留字的中間續(xù)行。目 錄特 殊 字 符04特 殊 字 符字符串中可以包括特殊的ASCII字符,它們不能使用常規(guī)的輸入方法直接輸入,需要使用其他字符來代替。常用的特殊字符見表2.1。字 符功 能n換行r回車t制表符單引號(hào)雙引號(hào)波浪號(hào)000到255十進(jìn)制形式的ASCII所代表的字符h00到hFF十六進(jìn)制的ASCII所代表的字符o00到o377八進(jìn)制的ASCII所代表的字符。這里是字母o,不是數(shù)字

4、0特 殊 字 符【例2.1】特殊字符的使用。首先參照第1.2.2小節(jié)“無窗口的簡(jiǎn)單應(yīng)用程序”部分創(chuàng)建工作空間和應(yīng)用程序,然后在PowerBuilder應(yīng)用程序的“Open”事件腳本編輯區(qū)編寫腳本:/顯示一名學(xué)生的相關(guān)信息MessageBox(學(xué)生信息,n姓名 t性別 t專業(yè)名+&n劉敏 t男 t計(jì)算機(jī)科學(xué)與技術(shù))運(yùn)行后的結(jié)果如圖2.1所示。目 錄空 值05空 值空值既不是零,也不是非零的任何數(shù)值。變量被賦予空值的途徑有如下兩種方法。(1)從數(shù)據(jù)庫中讀到空值。(2)使用SetNull()函數(shù)賦值。例如:String person /person=SetNull(person)/person值為N

5、ULL測(cè)試變量或表達(dá)式是否為空值時(shí),使用IsNull()函數(shù),而不是直接使用關(guān)系表達(dá)式。例如,假設(shè)a是一個(gè)變量,要測(cè)試它是否為空值,可以這樣寫:數(shù)據(jù)類型第2章 PowerScript語言PowerBuilder實(shí)用教程(第5版)目 錄標(biāo)準(zhǔn)數(shù)據(jù)類型01標(biāo)準(zhǔn)數(shù)據(jù)類型標(biāo)準(zhǔn)數(shù)據(jù)類型包括數(shù)值型、字符型、日期型和布爾型等一些最基本的數(shù)據(jù)類型。其名稱、含義及示例見表2.2。 數(shù) 據(jù) 類 型含 義示 例Blob二進(jìn)制大對(duì)象,用于處理圖像、大文本等Boolean布爾型,只有兩個(gè)可能的值:True或FalseTrueCharacter或Char單個(gè)ASCII字符yString字符串類型,用于存儲(chǔ)任意的ASCII字

6、符computerrnbookDate日期,包括年(10003000)、月(0112)、日(0131)2000-09-10Time時(shí)間,包括小時(shí)(0023)、分(0059)、秒(0059)及秒的小數(shù)位(最多6位),范圍從00:00:00到23:59:59:99999918:45:27Datetime日期及時(shí)間2000-09-10 19:30:25Decimal或Dec帶符號(hào)十進(jìn)制數(shù),最大18位精度123.45Double帶符號(hào)浮點(diǎn)數(shù),15位有效數(shù)字,范圍為2.2e-3081.7e+3083.52e19Integer或Int16位帶符號(hào)整數(shù),范圍為-32 768+32 767-618Long32

7、位帶符號(hào)整數(shù),范圍為-2 147 483 648+2 147 483 64712 345 678Real帶符號(hào)浮點(diǎn)數(shù),精度為6位3.14UnsignedInteger或UnsignedInt或UINT16位無符號(hào)整數(shù),范圍為065 535868UnsignedLong或Ulong32位無符號(hào)整數(shù),范圍為04 294 976 29581 648目 錄枚 舉 類 型02枚 舉 類 型【例2.2】枚舉類型的使用。首先創(chuàng)建工作空間和應(yīng)用程序,然后在PowerBuilder應(yīng)用程序的“Open”事件腳本編輯區(qū)編寫“應(yīng)用”的腳本:MessageBox(學(xué)生信息,保密資料,Exclamation!,YesN

8、o!)其運(yùn)行后的結(jié)果如圖2.2所示。變量聲明及作用域第2章 PowerScript語言PowerBuilder實(shí)用教程(第5版)目 錄變 量 聲 明01變 量 聲 明在PowerBuilder中,除系統(tǒng)預(yù)定義的五個(gè)全局變量外(SQLCA、SQLDA、SQLSA、Error、Message),其他所有變量在使用之前,都要首先予以聲明。格式:數(shù)據(jù)類型 變量名=初值變量被聲明后,若未指定初值,則系統(tǒng)將賦以默認(rèn)值。對(duì)數(shù)值型變量而言,其默認(rèn)值為零。對(duì)字符型變量而言,其默認(rèn)值為空字符或空串( )。例如:Integer i /定義一個(gè)整型變量iReal a,b,c /定義三個(gè)實(shí)型變量a,b,cString

9、my_home /定義一個(gè)字符串變量my_home變 量 聲 明【例2.3】計(jì)算平方根。首先創(chuàng)建工作空間和應(yīng)用程序,然后在PowerBuilder應(yīng)用程序的命令按鈕“Clicked”事件腳本編輯區(qū)編寫“計(jì)算平方根”的腳本:/不同類型變量之間的轉(zhuǎn)換Integer nn=Integer(sle_1.text)Real mm=Sqrt(n)/Sqrt()為PowerBuilder自帶的求平方根的系統(tǒng)函數(shù)sle_2.text=String(m)其運(yùn)行后的結(jié)果如圖2.3所示。目 錄數(shù) 組 的 聲 明02數(shù) 組 的 聲 明在PowerBuilder中,用戶可以使用數(shù)組來表示一系列具有相同類型的變量,這些具

10、有相同類型的變量共用一個(gè)變量名,使用下標(biāo)訪問數(shù)組中的每個(gè)變量。格式:數(shù)據(jù)類型 數(shù)組名 =初值例如:Integer person30 /聲明整型數(shù)組person,30個(gè)元素,下標(biāo)為130Integer num3 TO 10 /下標(biāo)從3變化到10,共8個(gè)元素Real grade10,10 /聲明一個(gè)二維數(shù)組,共1010個(gè)元素Char student2,3,4 /聲明一個(gè)三維數(shù)組,共234個(gè)元素若在聲明數(shù)組時(shí),方括號(hào)內(nèi)未填數(shù)字,則聲明一個(gè)動(dòng)態(tài)數(shù)組,運(yùn)行時(shí)由系統(tǒng)分配數(shù)組元素的個(gè)數(shù)。在定義變量的同時(shí),可以指定變量的初值。例如:Integer score=100 /定義整型變量score,并賦初值100S

11、tring city=南京, country /定義變量city并賦初值“南京”/定義變量country,其初值為空串()目 錄變 量 作 用 域03變 量 作 用 域在事件和函數(shù)中定義的變量都是Local變量,它的作用范圍僅在所在的事件和函數(shù)內(nèi),在別的事件和函數(shù)中不起作用。Instance變量是一種特殊的變量,它的作用范圍不僅包括該對(duì)象的全部事件及函數(shù),而且包括該對(duì)象的所有控件的事件及函數(shù),可以說是一種局部的“全局變量”。編程人員可以分別為Application、Window等對(duì)象定義Instance變量。如圖2.4所示的是在Window下定義Instance變量的步驟,為Applicati

12、on等其他對(duì)象定義Instance變量的步驟與此類似。變 量 作 用 域在Window下定義的Instance變量,其作用范圍是所在的窗口及窗口內(nèi)的各種控件的所有事件、函數(shù)等。查看并粘貼Instance變量的步驟如圖2.5所示。運(yùn)算符及表達(dá)式第2章 PowerScript語言PowerBuilder實(shí)用教程(第5版)目 錄算 術(shù) 運(yùn) 算 符01算 術(shù) 運(yùn) 算 符算術(shù)運(yùn)算符有五個(gè),分別用于加、減、乘、除、乘方。其中,加號(hào)、減號(hào)還可用于表示正數(shù)、負(fù)數(shù)。各運(yùn)算符的含義及示例見表2.3。運(yùn) 算 符含 義示 例+加c=a+b-減c=a - b *乘c=a*b/除c=a/b乘方(冪)c=ab c等于a的b

13、次方算 術(shù) 運(yùn) 算 符在表達(dá)式中,乘方優(yōu)先級(jí)高于乘、除;乘、除優(yōu)先級(jí)高于加、減。同級(jí)運(yùn)算遵循自左至右的原則。PowerScript還提供了一組擴(kuò)展的算術(shù)操作符(與C語言中使用的算術(shù)運(yùn)算符相同):+ - += -= /= *= =例如:a+等價(jià)于a=a+1a-等價(jià)于a=a-1a+=b*c等價(jià)于a=a+b*ca-=b+4等價(jià)于a=a-(b+4)a*=c+d等價(jià)于a=a*(c+d)a/=c+d等價(jià)于a=a/(c+d)a=c+d等價(jià)于a=a(c+d)目 錄關(guān) 系 運(yùn) 算 符02關(guān) 系 運(yùn) 算 符關(guān)系運(yùn)算符用于對(duì)相同類型的量進(jìn)行大小比較運(yùn)算,常用于條件語句和循環(huán)語句。各關(guān)系運(yùn)算符的含義及示例見表2.4。

14、運(yùn) 算 符含 義示 例大于IF ab+3 THEN=等于IF p+q=w*t THEN小于IF ac THEN不等于IF a*bt+8 THEN=大于等于IF a=b THEN=小于等于IF a=tank /結(jié)果是False目 錄邏 輯 運(yùn) 算 符03邏 輯 運(yùn) 算 符邏輯運(yùn)算符用于對(duì)布爾型的量進(jìn)行運(yùn)算,結(jié)果是True或False。有三個(gè)邏輯運(yùn)算符,其含義及示例見表2.5。運(yùn) 算 符含 義示 例NOT“非”運(yùn)算rb_1.checked=NOT rb_1.checkedAND“與”運(yùn)算IF a-10 AND a50 OR a,=,=, 關(guān)系運(yùn)算符7 NOT 邏輯非8 AND 邏輯與9 OR 邏輯

15、或PowerScript語句第2章 PowerScript語言PowerBuilder實(shí)用教程(第5版)目 錄賦 值 語 句01賦 值 語 句賦值語句用于為變量、對(duì)象屬性賦值,這是應(yīng)用程序中使用最頻繁的語句。格式:variable_name= expression其中,variable_name代表變量名,expression代表表達(dá)式。賦值語句的作用是將表達(dá)式的值賦給等號(hào)左邊的變量。例如:area=3.14*r*r又如:Int s s=1 3 5 6 8再如:String s = You got a job String s = You got a job /同時(shí)使用多個(gè)單引號(hào)時(shí)需使用轉(zhuǎn)義字

16、符目 錄分 支 語 句021IF條件語句2CHOOSE語句1IF條件語句條件語句分單行和多行兩種格式。格式1:IF condition THEN ELSE格式2:IF condition THEN ELSE END IF條件語句的執(zhí)行過程是首先計(jì)算condition(條件表達(dá)式)的值,如果為True,則執(zhí)行THEN后面的語句,否則執(zhí)行ELSE后面的語句(如果有ELSE的話)。例如:1IF條件語句(1)IF a3 AND a=0 THEN t=3+b ELSE t=3 b /有ELSE子句(3)IF r0 THENarea=3.14*r*rl=2*3.14*r ELSE area=0 END I

17、F /多行IF語句,以END IF結(jié)束2CHOOSE語句CHOOSE.CASE語句能夠根據(jù)所測(cè)試的表達(dá)式的值的不同來執(zhí)行不同的語句,而不像條件語句那樣只有兩種選擇。格式:CHOOSE CASE test_expressionCASE expression_list1Statements1CASE expression_list2Statements2 CASE expression_listnStatementsn CASE ELSE Statementsn+1END CHOOSE其中,expression_list形式如下。 單個(gè)值。 由逗號(hào)隔開的若干個(gè)值。 某一區(qū)間,如1 to 8, b

18、to h。 IS表達(dá)式,如IS30 /IS是保留字,代表test_expression的值。 混合,如2,4,7 to 15,IS20。2CHOOSE語句執(zhí)行CHOOSECASE語句時(shí),PowerBuilder將逐條查找CASE,如果找到與測(cè)試值相匹配的判斷表達(dá)式,則執(zhí)行該CASE后的語句塊,然后執(zhí)行END CHOOSE后的第一條語句。如果CHOOSECASE語句中包含CASE ELSE子句,則未找到任何匹配的CASE條件時(shí),執(zhí)行CASE ELSE子句中的語句塊。例如:CHOOSE CASE score CASE IS =90 Grade=ACASE 80 TO 89 Grade=BCASE

19、70 TO 79 Grade=CCASE 60 TO 69 Grade=DCASE ELSE Grade=EEND CHOOSE2CHOOSE語句如圖2.6所示的是CHOOSECASE語句的執(zhí)行過程。目 錄循 環(huán) 語 句031FOR循環(huán)語句2DOLOOP循環(huán)3CONTINUE語句4EXIT語句1FOR循環(huán)語句FORNEXT語句按照預(yù)先規(guī)定的次數(shù)重復(fù)執(zhí)行一段代碼。格式:FOR v= s TO e STEP i NEXTFORNEXT語句的執(zhí)行過程如圖2.7所示。圖中“超過”的含義是,當(dāng)步長(zhǎng)大于零時(shí),表示“大于”;當(dāng)步長(zhǎng)小于零時(shí),表示“小于”。若不指定步長(zhǎng),則步長(zhǎng)為1。步長(zhǎng)是零時(shí)為死循環(huán),步長(zhǎng)由S

20、TEP指定。1FOR循環(huán)語句【例2.4】FORNEXT語句的使用。求s,s135799。首先創(chuàng)建工作空間和應(yīng)用程序,然后在PowerBuilder應(yīng)用程序的命令按鈕“Clicked”事件腳本編輯區(qū)編寫“計(jì)算”按鈕的腳本:Integer nInt in=Integer(sle_1.text)/初始化輸入值n為窗口控件sle_1的text的屬性值FOR i=1 TO 99 STEP 2n=n+iNEXTsle_2.text=String(n)/將運(yùn)算結(jié)果顯示在靜態(tài)文本框sle_2中,因?yàn)閟是整數(shù),/所以要使用String()函數(shù)將它轉(zhuǎn)換為字符型其運(yùn)行后的結(jié)果如圖2.8所示。2DOLOOP循環(huán)DOL

21、OOP循環(huán)是重復(fù)執(zhí)行一段代碼,直到條件表達(dá)式為True或False,它有四種格式。格式1:DO UNTIL condition LOOP當(dāng)條件為False時(shí),執(zhí)行循環(huán)體;當(dāng)條件為True時(shí),退出循環(huán)。其功能和執(zhí)行過程如圖2.9所示。2DOLOOP循環(huán)【例2.5】DO UNTILLOOP循環(huán)語句的使用。求s,s135799。首先創(chuàng)建工作空間和應(yīng)用程序,然后在PowerBuilder應(yīng)用程序的命令按鈕“Clicked”事件腳本編輯區(qū)編寫“計(jì)算”按鈕的腳本:Integer nInt i=1n=Integer(sle_1.text)DO UNTIL i99n=n+ii=i+2LOOPsle_2.tex

22、t=String(n)2DOLOOP循環(huán)格式2:DO WHILE condition LOOP當(dāng)條件為True時(shí),執(zhí)行循環(huán)體;當(dāng)條件為False時(shí),退出循環(huán)。其功能和執(zhí)行過程如圖2.10所示。2DOLOOP循環(huán)【例2.6】DO WHILELOOP循環(huán)語句的使用。求s,s135799。首先創(chuàng)建工作空間和應(yīng)用程序,然后在PowerBuilder應(yīng)用程序的命令按鈕“Clicked”事件腳本編輯區(qū)編寫“計(jì)算”按鈕的腳本:Integer nInt ii=1n=Integer(sle_1.text)DO WHILE i99sle_2.text=String(n)2DOLOOP循環(huán)格式4:DO LOOP W

23、HILE condition首先執(zhí)行循環(huán)體,然后判斷條件。當(dāng)條件為True時(shí),執(zhí)行循環(huán)體;當(dāng)條件為False時(shí),退出循環(huán)。格式4和格式2的區(qū)別是,格式4的循環(huán)體至少執(zhí)行一次。其功能和執(zhí)行過程如圖2.12所示。2DOLOOP循環(huán)【例2.8】DOLOOP WHILE循環(huán)語句的使用。求s,s135799。首先創(chuàng)建工作空間和應(yīng)用程序,然后在PowerBuilder應(yīng)用程序的命令按鈕“Clicked”事件腳本編輯區(qū)編寫“計(jì)算”按鈕的腳本:Integer nInt ii=1n=Integer(sle_1.text)DOn=n+ii=i+2LOOP WHILE i=99 /注意這里是小于等于99sle_2.

24、text=String(n)3CONTINUE語句格式:CONTINUECONTINUE語句只能用于DOLOOP和FORNEXT語句中,遇到CONTINUE語句時(shí),將不執(zhí)行CONTINUE語句后面的語句,跳回到循環(huán)條件處繼續(xù)執(zhí)行。4EXIT語句格式:EXITEXIT語句只能用于DOLOOP和FORNEXT語句中,遇到EXIT語句時(shí),將結(jié)束循環(huán),跳到LOOP或NEXT后面的語句去執(zhí)行。目 錄GOTO語 句04GOTO語 句格式:GOTO 語句標(biāo)號(hào)轉(zhuǎn)到語句標(biāo)號(hào)標(biāo)志的位置繼續(xù)執(zhí)行。程序中應(yīng)避免使用GOTO語句。例如:i=1BEGINLOOP: /語句標(biāo)號(hào) sum+=arri /等價(jià)于語句sum=su

25、m+arrii+=1 IF i=50 THEN GOTO BEGINLOOP/轉(zhuǎn)到BEGINLOOP標(biāo)志的位置繼續(xù)執(zhí)行 常用的標(biāo)準(zhǔn)函數(shù)第2章 PowerScript語言PowerBuilder實(shí)用教程(第5版)目 錄MessageBox()函數(shù)01MessageBox()函數(shù)借助MessageBox()函數(shù)可以在屏幕上顯示一個(gè)窗口,用戶在響應(yīng)該窗口后,程序才能繼續(xù)運(yùn)行下去。格式:MessageBox(title,text ,icon ,button ,default)其中,title和text參數(shù)是必需的,其他大括號(hào)中的參數(shù)是可選項(xiàng)。各參數(shù)的含義如下。 title:String類型,指定消息對(duì)

26、話框的標(biāo)題。 text:指定消息對(duì)話框中顯示的消息,該參數(shù)可以是數(shù)值數(shù)據(jù)類型、字符串或boolean值。 icon:枚舉類型,可選項(xiàng),指定要在該對(duì)話框左側(cè)顯示的圖標(biāo)。值為Information!(默認(rèn)值);StopSign!;Exclamation!;Question!;None!。 button:枚舉類型,可選項(xiàng),指定顯示在該對(duì)話框底部的按鈕。值為OK!(默認(rèn)值);OKCancel!;YesNo!;YesNoCancel!;RetryCancel!;AbortRetryIgnore!。 default:數(shù)值型,可選項(xiàng),指定作為默認(rèn)按鈕的按鈕編號(hào),按鈕編號(hào)自左向右依次計(jì)數(shù),默認(rèn)值為1。Mess

27、ageBox()函數(shù)函數(shù)執(zhí)行成功時(shí)返回用戶選擇的按鈕編號(hào)(如1、2、3等),發(fā)生錯(cuò)誤時(shí)則返回-1。如果任何參數(shù)的值都為Null,則執(zhí)行MessageBox()函數(shù)后返回Null。【例2.9】MessageBox()函數(shù)的使用。首先創(chuàng)建工作空間和應(yīng)用程序,然后在工作空間窗口“w_1”的“Open”事件腳本編輯區(qū)編寫“應(yīng)用”的腳本:Int retret=MessageBox(這是一個(gè)例子, 是否要存盤?, Question!, YesNoCancel!, 3)IF ret=1 THEN/Dw_1.update()MessageBox(這是一個(gè)例子,存盤成功!)ELSEIF ret=2 THENRE

28、TURNEND IFEND IF運(yùn)行時(shí)的界面如圖2.13所示。目 錄Open()函數(shù)02Open()函數(shù)Open()函數(shù)用于打開一個(gè)PowerBuilder窗口。格式:Open(window_name)打開窗口并觸發(fā)窗口的“Open”事件。目 錄Close()函數(shù)03Close()函數(shù)Close()函數(shù)用于關(guān)閉一個(gè)PowerBuilder窗口。格式:Close(window_name)首先觸發(fā)窗口的“CloseQuery”事件,若“CloseQuery”事件的返回值不等于1,則再觸發(fā)“Close”事件,關(guān)閉窗口并釋放窗口及窗口上的控件所占據(jù)的內(nèi)存?!纠?.10】Close()函數(shù)的使用。在DO

29、LOOP循環(huán)語句使用示例的基礎(chǔ)上再添加一個(gè)“關(guān)閉”按鈕,如圖2.14所示。首先創(chuàng)建工作空間和應(yīng)用程序,然后在PowerBuilder應(yīng)用程序的命令按鈕“Clicked”事件腳本編輯區(qū)編寫“關(guān)閉”按鈕的腳本:Close(parent)/退出當(dāng)前窗口運(yùn)行時(shí)的界面如圖2.15所示。目 錄Run()函數(shù)04Run()函數(shù)Run()函數(shù)被用于在PowerBuilder中運(yùn)行其他的Windows應(yīng)用程序,如計(jì)算器、記事本及其他用戶應(yīng)用程序等。格式:Run(appl)或 Run(appl,state)其中,參數(shù)appl是一個(gè)字符串,指明要運(yùn)行的應(yīng)用程序名,若不含路徑名,則默認(rèn)為當(dāng)前路徑。【例2.11】Run

30、()函數(shù)的使用。首先創(chuàng)建工作空間和應(yīng)用程序,然后在PowerBuilder應(yīng)用程序的“Open”事件腳本編輯區(qū)編寫“應(yīng)用”的腳本:Run(C:WINDOWSsystem32calc.exe, normal!) 運(yùn)行時(shí)的界面如圖2.16所示(Windows 7操作系統(tǒng))。編輯代碼第2章 PowerScript語言PowerBuilder實(shí)用教程(第5版)編輯代碼在PowerBuilder中編輯代碼時(shí),首先選定要編輯代碼的對(duì)象,然后選定事件,再在Script窗口中編輯代碼,如圖2.17所示。編輯代碼或者使用鼠標(biāo)右鍵單擊要編輯代碼的窗口或控件,將出現(xiàn)一個(gè)彈出式選單,如圖2.18所示。應(yīng)用程序編程實(shí)例

31、第2章 PowerScript語言PowerBuilder實(shí)用教程(第5版)應(yīng)用程序編程實(shí)例【例2.12】利用PowerBuilder Classic 12.5制作計(jì)算器應(yīng)用程序。自制計(jì)算器的外觀如圖2.19所示。1創(chuàng)建計(jì)算器應(yīng)用 (1)創(chuàng)建新的工作空間。單擊“New”圖標(biāo)按鈕,打開“New”對(duì)話框;選擇“Workspace”頁,單擊“OK”按鈕,彈出“New Workspace”對(duì)話框,選擇保存到新建的目錄“E:workspace”,輸入工作空間名為“Ex2”。(2)創(chuàng)建新的應(yīng)用。單擊“New”圖標(biāo)按鈕,打開“New”對(duì)話框;選擇“Target”頁中的“Application”,單擊“OK”

32、按鈕,彈出“Specify New Application and Library”對(duì)話框,輸入應(yīng)用名為“calculator”,單擊“Finish”按鈕,系統(tǒng)自動(dòng)用上面輸入的應(yīng)用名加上擴(kuò)展名“.pbl”和“.pbt”,組成庫名“calculator.pbl”及目標(biāo)文件名“calculator.pbt”。創(chuàng)建計(jì)算器應(yīng)用的步驟如下。2創(chuàng)建計(jì)算器窗口和設(shè)置窗口屬性(1)(2)(1)單擊“New”圖標(biāo)按鈕,打開“New”對(duì)話框;選擇“PB Object”頁,雙擊“Window”圖標(biāo),創(chuàng)建一個(gè)新窗口對(duì)象并進(jìn)入窗口畫板。(2)在窗口屬性(Properties)卡“General”頁的“Title”欄中輸

33、入窗口標(biāo)題“計(jì)算器”,取消選中“MaxBox”和“Resizable”復(fù)選框,其余使用默認(rèn)值;保存窗口對(duì)象,命名為“w_calculator”。 創(chuàng)建計(jì)算器窗口和設(shè)置窗口屬性的具體方法如下。完成以上步驟后,可在工作空間目錄看到如圖2.20所示的樹形結(jié)構(gòu)。3聲明幾個(gè)變量在“Script”腳本區(qū)左上邊的下拉列表框中選擇“(Declare)”,然后在下面的腳本編輯區(qū)中編寫代碼:Decimal add1Char s1Boolean flag其中,add1保存中間結(jié)果;s1保存按下的運(yùn)算符;flag 是一個(gè)標(biāo)志位,flag=false表示按下的數(shù)字是前面數(shù)字的一部分,flag=true表示按下的數(shù)字是一

34、個(gè)新的數(shù)字的開始。聲明的變量如圖2.21所示。4在窗口中布置顯示數(shù)值的單行編輯框控件首先單擊選單“Insert | Control | SingleLineEdit”,然后在窗口上單擊,就會(huì)出現(xiàn)一個(gè)單行編輯框,其名稱為“sle_1”,刪除“Text”欄中的“none”,選中“DisplayOnly”屬性,在單行編輯框的邊沿拖曳,調(diào)整其尺寸。5在窗口中布置10個(gè)數(shù)字按鈕和小數(shù)點(diǎn)按鈕首先制作數(shù)字“1”按鈕,單擊選單“Insert | Control | CommandButton”,然后在窗口上單擊,就會(huì)出現(xiàn)一個(gè)命令按鈕,其名稱為“cb_1”,在“Text”欄中輸入“1”,單擊“Other”頁,單擊該頁下部的“Pointer”下拉列表框的小三角,選擇列出的“HyperLink!”手指形圖標(biāo),在按鈕的邊沿拖曳,調(diào)整好尺寸,為按鈕編

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論