PB基本語句循環(huán)語句_第1頁
PB基本語句循環(huán)語句_第2頁
PB基本語句循環(huán)語句_第3頁
PB基本語句循環(huán)語句_第4頁
PB基本語句循環(huán)語句_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、PB基本語句循環(huán)語句PB基本語句一、賦值語句賦值語句用于給變量、對象屬性賦值,這是應(yīng)用程序中使用最頻繁的語句,其語法格式為:variablename =expression其中:variablename是變量名或?qū)ο髮傩?;expression是表達(dá)式,其數(shù)據(jù)類型應(yīng)該與variablename的數(shù)據(jù)類型兼容。下面是賦值語句的幾個(gè)簡單示例:Address ="北京"TaxRate = .05Age = 30mle.text="北京歡迎你"PowerScript的賦值語句不支持多重賦值,也就是說,一條賦值語句只對一個(gè)變量賦值,不能同時(shí)對多個(gè)變 量賦值。下面的語

2、句:A=B=0在有些編程語言中同時(shí)把 a和B均賦值0,但PowerScript中,該語句等價(jià)于:A=(B=0)其意義為,檢查B等于0是否成立,成立時(shí)將 TRUE賦給變量A,否則把FALSE賦給變量A。如果A不 是Boolean類型的變量,則上述語句將引起編譯錯(cuò)誤。二、條件語句IF語句有兩種形式,下面我們按照從簡單到復(fù)雜的次序逐一介紹。1. 單行IF . THEN語句單行IF . THEN語句的格式為:IF邏輯表達(dá)式 THEN語句1 ELSE 語句2單行IF . THEN語句書寫時(shí)整條語句寫在一行上,當(dāng)邏輯表達(dá)式的結(jié)果為True時(shí)執(zhí)行語句1,否則執(zhí)行語句2 (如果有該子句的話)。例如:IF sl

3、e_State.text="BJ" THEN MessageBox("歡迎”,”北京")2. 多行IF . THEN語句多行IF . THEN 語句的語法格式為:IF邏輯表達(dá)式1 THEN語句1ELSEIF 邏輯表達(dá)式2 THEN語句2.ELSE 語句 nEND IF本語句的執(zhí)行過程為:計(jì)算邏輯表達(dá)式1,如果其結(jié)果為True,則執(zhí)行語句1,然后離開整個(gè)IF語句;否則計(jì)算邏輯表達(dá)式2,如果其結(jié)果為True,則執(zhí)行語句2,然后離開整個(gè)IF語句;.如果邏輯表達(dá)式的結(jié) 果都是False,且存在ELSE子句,則執(zhí)行語句 3。例1 :從單行編輯框中輸入考分,按輸入”

4、按鈕再根據(jù)考分顯示及格或不及格。Integer ss = integer(sle_1.text) /sle_1 text 單行編輯框文本If s < 60 thenSt_1.text = 不及格”/ St_1.text靜態(tài)編輯框文本ElseSt_1.text = 及格”End if例2:從單行編輯框中輸入考分,按 輸入”按鈕后,再根據(jù)考分顯示優(yōu)、良、中、及格或不及格。Integer ss = integer(sle_1.text) /sle_1 text 單行編輯框文本if s>=90 thenSt_1.text =優(yōu)elseif s>=80 thenSt_1.text =良

5、elseif s>=70 thenSt_1.text =中elseif s>=60 thenSt_1.text = 及格”elseSt_1.text =不及格”end if3. CHOOSE CASE 語句根據(jù)測試表達(dá)式的值選擇不同的操作,其語法格式為:CHOOSE CASE 測試表達(dá)式CASE判斷表達(dá)式執(zhí)行語句塊CASE判斷表達(dá)式語句塊.CASE判斷表達(dá)式語句塊CASE ELSE語句塊END CHOOSE判斷表達(dá)式可以使用如下的形式:1. 用逗號(hào)分隔的一組數(shù)據(jù),例如: 2,4,72. 用TO表示一個(gè)區(qū)間范圍,例如: 2 TO 153. 用IS代表測試值,后跟關(guān)系操作符和比較值,例

6、如: IS> 304. 組合運(yùn)用上述三種方法,并用逗號(hào)進(jìn)行分隔,例如: 5,6,8 TO 12,IS > 20執(zhí)行CHOOSE CASE 語句時(shí),PowerBuilder將逐條查找CASE,如果找到與測試值相匹配的判斷表達(dá)式,就執(zhí)行該CASE后的語句塊,然后執(zhí)行 END CHOOSE 后的第一條語句。如果 CHOOSE CASE 語句中包 含CASE ELSE 子句,則未找到任何匹配的 CASE條件時(shí),執(zhí)行 CASE ELSE 子句中的語句塊。例3:從單行編輯框中輸入考分,按輸入”按鈕后,再根據(jù)考分顯示優(yōu)、良、種、及格或不及格。(用choosecase重寫例2)integer fS

7、tring sf = integer(sle_1.text)CHOOSE CASE fCASE IS >= 90/ 改進(jìn) 90 to 100S ="優(yōu)"CASE 80 TO 89S ="良"CASE 70 TO 79S ="中"CASE 60 TO 69S ="及格"CASE 0 TO 59S ="不及格”CASE ELSES =”輸入錯(cuò),請重新輸入!”END CHOOSESt_1.text = string(S)三、循環(huán)語句各種語言都提供了自己的循環(huán)語句,PowerScript也不例外,它的循環(huán)語

8、句有三種形式:DO LOOP、FOR -NEXT、GOTO,將前兩種形式與 EXIT和CONTINUE語句配合使用,可以完全拋棄 GOTO語句, 而且DO LOOP本身有四種格式,豐富多采的表達(dá)方式為我們編寫清晰流暢的程序提供了有效手段。下面介紹PowerScript循環(huán)語句的格式、中途退出循環(huán)或中途開始下次循環(huán)的方法、以及循環(huán)嵌套的概念。1 DO LOOP 循環(huán)DO LOOP結(jié)構(gòu)提供了一種基于某個(gè)條件的靈活的循環(huán)方法,它有四種形式,分別為:DO UNTlLu < 條件 >LOOPDO WHILEu < 條件 > LOOP (類似 c)DO - LOOP UNTIL u

9、 < 條件 >u DO - LOOP WHILE < 條件 > (類似 c)DO表示循環(huán)的開始,LOOP表示循環(huán)的結(jié)束,condition表示循環(huán)條件,是個(gè)邏輯表達(dá)式,其值為 True 或 False 。(1) DO UNTIL - LOOP的語法格式為:DO UNTIL < 條件 >語句塊LOOP其執(zhí)行過程為:先計(jì)算條件 condition,其結(jié)果為False時(shí),執(zhí)行語句塊,接著再檢查條件,直到條件的結(jié) 果為True時(shí)退出循環(huán)。例:按計(jì)算按鈕求 s = 1+2+3+ +10 。解1 :integer i=1, s = 0DO UNTIL i>10s

10、+= ii +LOOPst_1.text = string(s)DO WHILE - LOOP的語法格式為:DO WHILE < 條件 >語句塊LOOP其執(zhí)行過程為:先計(jì)算條件,其結(jié)果為True時(shí),執(zhí)行語句塊,接著再檢查條件,直到條件的結(jié)果為False時(shí)退出循環(huán)。例:按計(jì)算按鈕求 s = 1+2+3+ +10 。解2 :integer i=1, s = 0DO WHILE i<=10s += ii +LOOPst_1.text = string(s)(3) DO - LOOP UNTIL的語法格式為:DO語句塊LOOP UNTIL < 條件 >其執(zhí)行過程為:先執(zhí)行

11、語句塊,然后計(jì)算條件,如果其結(jié)果為False,則繼續(xù)執(zhí)行語句塊,直到條件的結(jié)果為True時(shí)退出循環(huán)。例:按計(jì)算按鈕求 s = 1+2+3+ +10 。解3 :解1與解3完全等價(jià)integer i=1, s = 0DOs += ii +LOOP UNTIL i>10st_1.text = string(s)DO LOOP WHILE的語法格式為:DO語句塊LOOP WHILE < 條件 >其執(zhí)行過程為:先執(zhí)行語句塊,然后計(jì)算條件,如果其結(jié)果為True,則繼續(xù)執(zhí)行語句塊,直到條件的結(jié)果為False時(shí)退出循環(huán)。例:按計(jì)算按鈕求 s = 1+2+3+ +10 。解4 :解2與解4完全

12、等價(jià)integer i=1, s = 0DOs += i1 +LOOP WHILE i<=10st_1.text = string(s)這四種循環(huán)結(jié)構(gòu)中,前兩種結(jié)構(gòu)可以一次也不執(zhí)行,后兩種結(jié)構(gòu)則至少執(zhí)行一次。實(shí)際上,只需要從前兩種和后兩種結(jié)構(gòu)中各取其一就能表達(dá)所有的邏輯關(guān)系,但為了更清晰地表達(dá)條件,PowerScript還是提供了四種結(jié)構(gòu)。2 FOR NEXT 循環(huán)FOR - NEXT是個(gè)循環(huán)次數(shù)確定的循環(huán)結(jié)構(gòu),它使循環(huán)體內(nèi)的語句執(zhí)行規(guī)定的次數(shù),其語法結(jié)構(gòu)為:FOR varname = start TO end STEP incrementStatementblockNEXT其中,var

13、name是循環(huán)變量,可以是任意的數(shù)值類型,start、end分別是循環(huán)變量的初值和終值 ,increment 是每次循環(huán)后循環(huán)變量的步長增量(缺省值為1), statementblock是一組語句,稱做循環(huán)體,方括號(hào)表示該子句可以省略。FOR - NEXT語句的執(zhí)行過程為:循環(huán)變量varname從start開始,到end為止,重復(fù)執(zhí)行循環(huán)體,每執(zhí)行一次,varname 被重新賦值,新值為:varname+ increment 。另外,如果 start和/或end在循環(huán)體內(nèi)被修改,將影響循環(huán)次數(shù)。例:按計(jì)算按鈕求 s = 1+2+3+ +10 。解5:integer i, s = 0for i=

14、1 to 10s += inextst_1.text = string(s)3 EXIT (退出循環(huán))在循環(huán)語句的循環(huán)體中,當(dāng)我們想在中途退出循環(huán)時(shí),使用 EXIT語句是個(gè)好辦法,執(zhí)行該語句后,程序 的控制權(quán)轉(zhuǎn)至循環(huán)語句后的語句,執(zhí)行該語句后,程序的控制權(quán)轉(zhuǎn)至循環(huán)語句后的語句。在嵌套循環(huán)的情況下,EXIT語句退出當(dāng)前層循環(huán),而不是所有循環(huán)。功能:執(zhí)行該語句后,程序的控制權(quán)轉(zhuǎn)至循環(huán)語句后的語句。例:下列程序運(yùn)行后,變量 s中的值是多少?integer i, j,s=0for i=1 to 10for j=1 to 10 if j>6 then exit end ifnexts = s +

15、inext4 CONTINUE (繼續(xù)循環(huán))功能:在循環(huán)語句的循環(huán)體中,遇到 CONTINUE語句后,將不執(zhí)行 CONTINUE語句后與循環(huán)結(jié)束前的所 有語句,而開始新一輪循環(huán)。四、返回語句與終止程序運(yùn)行在編寫事件處理程序或函數(shù)時(shí),使用 RETURN語句返回控制給用戶或調(diào)用函數(shù)的地方。當(dāng)希望終止應(yīng) 用程序的運(yùn)行時(shí),使用 HALT語句。1 RETURN 語句RETURN語句立即終止事件處理程序或函數(shù)的執(zhí)行,把控制返回到調(diào)用程序。語法格式:RETURN 表達(dá)式功能:RETURN語句立即終止事件處理程序或函數(shù)的執(zhí)行,把控制返回到調(diào)用程序。表達(dá)式值作為事件處理程序或函數(shù)的返回值返回。2 HALT語句H

16、ALT語句用于終止應(yīng)用程序的運(yùn)行,其語法為:HALT CLOSE其中CLOSE是個(gè)可選項(xiàng)。當(dāng)HALT語句不帶CLOSE選項(xiàng)時(shí),該語句立即終止應(yīng)用程序的運(yùn)行;當(dāng) HALT 語句帶CLOSE選項(xiàng)時(shí),執(zhí)行到該語句后,應(yīng)用程序先執(zhí)行應(yīng)用對象的Close事件處理程序,之后再終止應(yīng)用程序的運(yùn)行。OpenWithParm()功能帶參數(shù)打開窗口,與打開窗口的Open()函數(shù)相似,OpenWithParm()有兩種語法格式:語法一、帶參數(shù)打開編程時(shí)已知數(shù)據(jù)類型的窗口對象;語法二、帶參數(shù)打開程序運(yùn)行后才能確定數(shù)據(jù)類型的窗口對象。 下面分別予以介紹:語法一、帶參數(shù)打開編程時(shí)已知數(shù)據(jù)類型的窗口對象語法OpenWith

17、Parm(windowvar,parameter,parent)參數(shù)windowvar :要打開窗口的窗口名,可以使用窗口畫筆定義的窗口對象名,也可以使用 該窗口對象的某個(gè)變量。Open()函數(shù)把打開窗口的引用放置到windowvar變量中parameter:指定要傳遞給打開窗口的數(shù)據(jù),該數(shù)據(jù)保存在 Message對象的屬性中,parameter參數(shù)的數(shù)據(jù)類型必須是下述三種類型之一:String、Numeric、PowerObjectparent:可選項(xiàng),指定要打開窗口的父窗口,要打開窗口成為父窗口的子窗口,只有當(dāng)要打開窗口需要成為某個(gè)窗口的子窗口時(shí)才需要指定該參數(shù)。如果應(yīng)用程序使用Open(

18、)函數(shù)打開某個(gè)子窗口或彈出窗口而又省略了該參數(shù),那么當(dāng)前活動(dòng)窗口成為被打開窗口的父窗口返回值Integer o函數(shù)執(zhí)行成功時(shí)返回1,發(fā)生錯(cuò)誤時(shí)返回-1。如果任何參數(shù)的值為NULL , OpenWithParm()函數(shù)返回NULL 。用法消息對象 Message有三個(gè)屬性用于存儲(chǔ)OpenWithParm()函數(shù)傳遞給打開窗口的數(shù)據(jù)。根據(jù)parameter參數(shù)數(shù)據(jù)類型的不同,該參數(shù)的值保存在Message對象的不同屬性中。parameter參數(shù)的類型與使用的Message對象屬性的對應(yīng)關(guān)系為:parameter參數(shù)的類型 使用的 Message對象屬性 數(shù)值類型Message.DoubleParmPowerObject (比如結(jié)構(gòu))Message.PowerObjectParm 字符串類型Message.StringParm應(yīng)用程序根據(jù) OpenWithParm()函數(shù)parameter參數(shù)的數(shù)據(jù)類型,從 Message對象的不同屬性 中提取該函數(shù)傳送給被打開窗口的值。 語法二、帶參數(shù)打開程序運(yùn)行后才能確定數(shù)據(jù)類型的窗口對象 語法OpenWithParm(windowvar,parameter,windowtype,parent) 參數(shù)windowvar :指定窗口變量名,Open()函數(shù)把打開窗口的引用放置到該變量中parameter-:指定要傳

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論