




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、本文檔分為兩個部分,(完全是分開的兩部-沒關(guān)聯(lián))第一部分:書寫規(guī)范PowerScriptW昌吉比較自由,一般.埠彳亍一條W各句小W岳句行中的空格.縮迸、制表符等格式編排信息將被編譯器先全忽略。一條諳句結(jié)束后不需要在旬末追加分號或其他任何符號。當在某一行中書寫多條語句時,此行中除熊后一條語句之外的其他語句均需在句末加上分號6例如:下面一行£吾句聲明了3個整數(shù)K.yaINTEGERx;INTEGERy;XNTEIGEIRz,注釋行注釋用“/”,從雙斜杠開始到行尾均為注釋«塊注釋以開始I到一/"結(jié)束w_ma±n.Hide?()/隱藏主雷口/*下面的函數(shù),功能呈
2、取得用戶數(shù)裾:*折入:用戶名*輸出:用戶信息*/標識符是程序中用來代表變量.標號.函數(shù)、窗體、菜單.控件、對票等名稱的符號.O標識將必須以字母或下劃線開頭;O非開頭字檸只能是字母.數(shù)字和*$-#法"五個牛牛珠字籽;。PowerScript的保留字不能作為標識符;。標識杵和關(guān)鍵字都不區(qū)分大小寫;&標詼苻濮長4。個字杵,并且中間不能插入空格。/正確的標識將rc_codeButton#1Child-ID一午5#3Top50%/錯誤妁標識苻Afc>c<def/室格abodef/蚱法字符THis/美能手2th/裁手開頭$5#3/開頭字衿標識符與空白空格、制表符、換行特和注釋
3、,對PcwerScript編譯器來說都是空白,并不作任何處理。但需要注意:字符串中的空白,是字符串的一部分;工廠表達式中的空白和注樣部余念略A+B/*Adjustmenifacf<>r*/+C/字符串中的空格是字符串的一部分wThevalueofA+BIs:"標識符中不能有空白Order-Balance/兩個變貴相城的爽達式Order-Balanee/一個變更名標識符。續(xù)行符(&)當一條語句需要寫很多內(nèi)容時,這行程序會變得很長,雖然不會影響程序運行,但是會影響閱讀和以后的維護。為了便于閱讀和維護,可以通過續(xù)行符“&”,將一個長的行分解為多個短行,續(xù)行特相當
4、于多行的連接符。續(xù)行擰必須加在行尾;。續(xù)行件后不能有注釋;不能在標識符或保留字的中間續(xù)行。IFEmployee_Dlstrlet=nEasternUnitedStatesand°&EasternCanada11THEN.使用續(xù)行特連接的多個行之間,對于編譯器來說,相當于一行程序??罩捣???罩捣?311)空值是PowerBuilder與數(shù)據(jù)庫交換數(shù)據(jù)時使用的一種特殊值,代表變量的數(shù)據(jù)來定義或不可知,和數(shù)據(jù)庫中的空值概念相對應(yīng)??罩导炔皇菙?shù)值零,也不是非零的任何數(shù)。為變量賦空值的方法O從數(shù)據(jù)庫中讀取空便O用SetzNuIl()函數(shù)給變量賦住stringcity/cily是空的串,
5、但不是空值NullSetNull(city)/+i,Jtci(y為空值Null。判斷控制的方法工SNU11()IFIsNull(a)THEN/正場的方法IFa-NullTHEN/不正確妁方法轉(zhuǎn)義符,特殊ASC工工字符轉(zhuǎn)義符一用于字符串中轉(zhuǎn)義特殊字符O特殊字特一在字符串中轉(zhuǎn)義為特殊含義換行符*n制表符七雙引號,單引普9轉(zhuǎn)義擰退格符b十進制ASCII碼OOO到255八進制ASCII碼oOO。曠。377十六進制ASCII碼FOCJFFFmessagebox用戶優(yōu)思”,”當前用戶的基本休息如下:”十&“nn姓名七曲烏t身份“十&BnnXX-tl23456t/j&t/r屬“)常用
6、代詞通過代詞在對紈之間可以相互引用,更方便的訪問父窗體等上級對烈,PcwerScript中提供了四個常用的代詞。OThis一表示對象自己用于代表對象本身,即腳本所在的對象,如窗體、用戶對叁、菜單、應(yīng)用對象或控件等的腳本中表示對象自己。OParent一控件所在的容器對象用于窗體中的控件、用戶定制對象和菜單的程序中,如在窗體的控件中使用時,表示容納該控件的窗體。ParcntWindow窗外的父窗口表示一個畝體的MDI父窗口,在于畝體的代碼中訓用父窗體的函數(shù),也可用于菜單對象代碼謝用父窗口函數(shù)。Super一直接的父對紈用來表示直接父對象,可能是物鈕的容器、文本框所在的窗體等。常用代同Paren示例代
7、詞Parent常用于窗口的控件、可定制控件和菜單的腳本中。當用于窗口的控件,Parent指容納控件的窗口對象;</一比如在合口的按鈕腳本中Closo(P&iront:)/表示關(guān)閉苗口.HScrollBar=TRUE/代示3£示窗口的流動灰。當用于可定制控件時,Parent指控件所在的可定制控件;/在可定制拉件中的ChcckBc、的腳本Parent.Hlde()/隱或該可定制拉件Pirene.Enabled=FALSE/禁用法可定制檢件當用于菜單時,Parent指當前腳本所在菜單的上一級。/銀/yTestTChcck菜單項的腳本Pairnt.Disable()/導(dǎo)致禁用菜
8、單Tbst常用代詞一This示例.便于訪問控件的屬性而函數(shù)This.Check()/調(diào)用技件妁Chxkc()函數(shù)o區(qū)分對象的屬性和局部變量x=x+50/修改局部變M的低This.X=This.X+50/修改拉件的他過o控件腳本,傳遞對象自身ReCalc(This)/務(wù)數(shù)函數(shù),傳遞拴件自身可以使用This,給EAServer組件傳遞對象常用代詞一Super示例PowerBuilder想調(diào)用父對象中的腳本時使用,可以JL接通過父對象的名字,或者使用Super代網(wǎng)。發(fā)生同名時必須使用,如子對象和父對象中的函數(shù)名和參數(shù)相同;o只能調(diào)用直接繼承對象的函數(shù)或事件,不能用于窗口的其他對叁;/訓用祖先方法wf
9、_myfuncSupoH::wf_myfunc(myarglmyarg2)/出發(fā)近我祖先的Clicked亨件Supor:sEVENTClicked()屬性、函數(shù)和事件的引用方港PowerBuilder應(yīng)用程序的開發(fā)過程,就是對各種對象的定義和使用過程。所有對象、屬性和函數(shù)都有名稱,而對其訪問就是使用圓點()作為標記,將對象和屬性或函數(shù)相連接即可。訪問對象屬性對象名.對象屬性/訪問slename對拿的text屬性UserEnter=sle_name.text屬性、函數(shù)和事件的引用方法。訪問對象的函數(shù)和事件對象名.TypeCalltypeWhen函數(shù)名(參數(shù)列表)Type:FUNCT工ON或EVE
10、NT,訪問的函數(shù)還是事件;。Calltype:STATIC或DYNAMIC,運行時查找函數(shù)的時機;oWhen:TR工GGER或POST函數(shù)或事件執(zhí)行的方式,是立即執(zhí)行,還是當前程序段執(zhí)行完畢后再執(zhí)行。sle_name.SetFocus()/調(diào)用函數(shù),編輯框獲得焦點cb_name.EVENTTRIGGERClicked()/調(diào)用事件,立即執(zhí)行單擊響應(yīng)程序變量的作用域 全局變量(GlobalVariable)在整個程序中都起作用的變量,其作用戰(zhàn)為整個應(yīng)用程序。 實例變量(InstanceVariable)在某個特定時象中,隨著對象打開和關(guān)閉而創(chuàng)建和刪除的。 共享變量(SharedVariable)
11、與實例變量很相似,與對象的類里相關(guān)聯(lián),再同種類型的對系中共享。與對紈的定義相關(guān)聯(lián)的,而不走某個掙定的實例,所以它總是存在的。 局部變量(LocalVariable)作用范.國敢小,只在來個程序&內(nèi)或函數(shù)內(nèi)部起作用。 優(yōu)先順序:局部變量,共享變量.全局變量.實例變量變量名沖突的解決不同作用城的同名變量或者祖先對鴕和子對紈中存在同名屬性,都稱為名字沖突。外層作用域的變量或祖先對象的屬性,會被隱藏,需曼通過特定的方法訪問。 被隱藏的實例變量,可通過對象名訪問ohjectname.instancevnrtableIntegerx=50/局部變MxF急戴了X屬性IFx>w_maln.XTH
12、EN 被隱藏的全局變量,可通過作用域限定符(:.雙冒者):ulobalvariableR。工total/局部變貴穩(wěn)成了仝局同名變亞IFtotal:unalTHUN.”o變量名使用適當?shù)那熬Y,可有效減少沖突發(fā)生如sle_,w_,txt_,emp_等變量名沖突的解決o被隱藏的函藪和事件,可用限定符或Super代詞result=ancestor:FUNCTIONfuncarl.cirg2)result=Super:EVENTeventnne)o重我的函數(shù)更載函數(shù)指相同對象中同名的函數(shù),函數(shù)的參數(shù)的個數(shù)和類型、返回值類型一般不相同,所以可以根據(jù)參數(shù)和返回值區(qū)別。對象的創(chuàng)建和釋放標準數(shù)據(jù)類型的變量,聲明
13、之后就可以使用了,因為系統(tǒng)已經(jīng)分配了內(nèi)存空間,可以用于存儲數(shù)據(jù)。而對于非可視的系統(tǒng)對象類型,除了聲明之外,還需要為其創(chuàng)建對象實例,才可以使用,這和其他面向?qū)ο笳Z言中的復(fù)雜類型相類似。創(chuàng)建非可視對象使用CREATE語句創(chuàng)建釋放不再使用的對象用DESTROY語句。保存對象變量,稱為對象的引用transactionDBTrans/定義變量,作為對象的引用DBTrans=CREATtransaction/創(chuàng)建對象DBTrans.DBMS=11ODBCtfDESTROYDBTrans/釋放對象算數(shù)運算符。加減乘除+-/,指數(shù)運算人;。擴展運算符+=-=/=,自增自減運算+;c=a'bc=a-ba
14、+a+=b/a的b次方b"為表達式,”ab,為標識符a+1a+b。減號和自減運算符兩邊要留空格,否則會被識別為標識符;。浮點數(shù)運算時用最大精度,Dec類型會被四舍五入;。如果操作數(shù)中有Null值,表達式結(jié)果為Null;運算符的優(yōu)先級表達式的運算,按照運算符的優(yōu)先級順序進行,通過括號可以改變先后次序。優(yōu)先級運算符意義1()括號2+-一元正負運算3球運算4*/乘除運算5+一加減和連接運算6=><<>>=<=關(guān)系運算7NOT踏邏輯非8AND邏輯與9OR邏輯或表達式。表達式中,如果有一個值為Null,則表達式值為Null。變量如果超過表示范圍,可能溢出IN
15、TEGERa,b=10心cSetNull(c)a=b+c/a值也為NullINTEGERi=32767i+=1/i值溢出,為32768。不能在一條語句中賦值多個變量INTEGERa,ba=b=10/編譯錯誤表達式(H)9數(shù)值類型的提升(Promolion);PowerBuilder中不同的數(shù)值類型運算,結(jié)果自動轉(zhuǎn)換數(shù)據(jù)表示能力更高的類型。下面是不同數(shù)據(jù)類型,值的表示能力由高到低的排列:/Double,Real,Dec,LongLong,ULong,Long,U工nt,Int0無符號數(shù)優(yōu)于有符號數(shù),它們之間的運算結(jié)果為無符號數(shù);。操作符的影響的運算結(jié)果,最小號聲Long;。八的運算結(jié)果,最小精超
16、是Double;。關(guān)系操作符不產(chǎn)生類型的提升。工F語句示例單行IF語句,判斷整數(shù)非零INTEGERValue;BOOLEANResultIFValue=OTHENResult=FalseELSEResult=Tr能0多行IF語句,將百分制成績換并為五分制成績/ScoreisINTEGER,GradeisSTRINGIFScore>=90THENGrade=nAnELSEIFScore>=80ANDSCORE<90THENGrade=ELSEIFScore>=70ANDSCORE<80THENGrade=ELSEIFScore>=60ANDSCORE<7
17、0THENGracie=nDnELSEGrade=nEnENDIF分支語句一CHOOSECASE分支CHOOSECASE測試侵裝達式CASE值列表語句決CASE值列襲語句決CASEELSE語句塊ENDCHOOSE/測試值在下面哪個列表中/如果符合,進入語句塊/可以有多個CASE語句/可以有一個默認塊/結(jié)束CHOOSE語句。值列表的形式比較自由??梢允且唤M數(shù)值,用逗號相翌,如2,4,7??梢允且粋€范圍,用TO表示,如2TO15。可以使用【S代表測試值,構(gòu)造表達式,如工S>20??梢允沁@三種方法的組合當沒有匹配的值時,自動進入CASEELSE語句塊CHOOSECASE語句示例。使用CHOOS
18、ECASE改寫前面的百分制換算的代碼/ScoreisINTEGER.GradeisSTRINGCHOOSECASEScore/使用IS指代ScoreII使用TO表達式CASEIS>=90Grade=CASE80TO89Grade=nBnCASE70TO79Grade=nCnCASE60TO69Grade=nDnCASEELSE/其他的值默認為Grade=nEwENDCHOOSE循環(huán)語句一DOLOOP循環(huán)O四種DOLOOP循環(huán)的語法格式DOUNTIL條件語句決LOOPDOWHILE條件語句塊LOOPDO語句決LOOPUNTIL條件DO語句塊LOOPWHILE條件。UNT工L表示當條件為假時
19、繼續(xù)循環(huán)oWHILE表示當條件為真時繼續(xù)循環(huán)DOLOOP循環(huán)示例DOUNTILLOOPDOWHILELOOPintegerA=1,B=2DOUNTILA>15Beep(A)A=(A+1)*BLOOPintegerA=1,B=2DOWHILEA<=15Beep(A)A=(A+1)*BLOOPDOLOOPUNTILDOLOOPWHILEintegerA=1,B=2DOBeep(A)A=(A+1)*BLOOPUNTILA>15integerA=lzB=2DOBeep(A)A=(A+1)*BLOOPWHILEA<=15循環(huán)語句FOR.NEXT循環(huán)FOR循環(huán)根據(jù)整數(shù)序列進行循環(huán),
20、和Basic語言的FOR循環(huán)非常相似。語法格式4FOR變量名X=初值A(chǔ)TO終值BSTEP建增步長C語句塊NEXTFOR循環(huán)執(zhí)行時,變量X的值從A每次遞增cc默認為1),直到增長為值B后(或大于B),結(jié)束循環(huán);。變量X的值在語句塊中如果被修改,會改變迭代次數(shù)。FOR循環(huán)語句示例。嵌套循環(huán),即把一個循環(huán)放在另一個循環(huán)的內(nèi)部INTmatrix100,50/雙認值為0INT1,jFORi=1TO100/外層循環(huán)FORj=1TO50/內(nèi)存循環(huán)IFj=20THENCONTINUEmatrixij=i+jNEXTNEXT文件的打開屆數(shù)文件的讀寫,雯根據(jù)內(nèi)容選擇一定的樵式打開后,才可以進行;便用FileOpc
21、nf)打開,F(xiàn)ilcCk>sc()關(guān)閉無件:FileOpen(文件名f模式,訪問,鎖定,理入,編碼)*文件名二文件名即充弊或相對的路徑;模式;LineModeJ,StreamModeIrTextMode;«訪司:Rea.ci1Wr11e1;a車費定:LockReadWriteI.Sh-ajsedL!,LockReadItLockWrlte*;Append1,Replace;«編韋馬:Encod.1ngANSI',EncodingUTF81yEncodingUTFl6LE!,EncodingUTF16BE!(LE:LittleEndiun,BE:BigEndia
22、n)PB書本自學類容一:標識符:標識符是程序中用來代表變量,標號,函數(shù),窗口,控件,對象等名稱的符號。標識符必須是下劃線或者字母開頭,標識符的非開頭字符可以是字母,數(shù)字或者5中特殊符號(-,_,#,%,$)標識符不區(qū)分大小寫標識符的書寫應(yīng)保持連續(xù),中間不能留空格。標識符的最大長度應(yīng)該控制在100個字符內(nèi)。保留字不能用作標識符,因為它們已經(jīng)有特殊的含義。AsdfdfdfDffds-adfDfsdf_adfDfa#dfAsdf%fggDff$fsdfThis誤用保留字二:ASCLL碼字符:字符串中可以包括特殊的ascll碼字符,它們不能使用常規(guī)的的輸入方法直接輸入,要使用其他字符來替代。新行:n制
23、表:t雙引號:”單引號:等等三:代詞:日常生活中可以用你,我,他之類的代詞來指代特定的人物,PowerBuilder也提供了幾個代詞指定特定的對象。4個代詞分另U是:thisparentparentwindowsuper其中前3個廣泛使用。1 .This:代表窗口,用戶對象,菜單,應(yīng)用對象或控件本身,即代表正在為之編寫事件處理程序的對象。示例;設(shè)窗口有一個名稱為cb_button的按鈕,其上顯示的文本是請單擊在該按鈕的clicked事件中可以添加如下代碼:This.text=再單機一次:語句執(zhí)行后把請單擊改成了再單機一次不用代詞語句:cb_button.text=再單機一次'2 .pa
24、rent:代表當前控件所在的窗口對象如上述例子:parent.text=再單機一次'3Parentwindow代表程序運行時當前菜單所在的窗口對象,注意:改代詞只能在菜單對象的事件處理程序中使用。例子:假設(shè)cb_button窗口關(guān)聯(lián)了一個菜單對象,該菜單中的關(guān)閉命令用于關(guān)閉窗口cb_button,我們可以在該菜單項的clicked事件中添加如下代碼:關(guān)閉關(guān)聯(lián)窗口Close(parentwindow)等同于Close(cb_button)Super:在編寫空間或?qū)ο蟮淖訉ο髸r,子對象中可以調(diào)用父對象的事件處理程序,程序中的既可直接利用父對象名稱調(diào)用他們,也可以使用super代詞來應(yīng)用。四
25、:對象,屬性,函數(shù)和事件的應(yīng)用方法。Powerbuilder應(yīng)用程序的開發(fā)過程實際上就是對各種對象的定義和使用過程。所有對象都有名稱,并通過名稱相互區(qū)分。在powerscript中,訪問對象的屬性,函數(shù),事件的方法很簡單,就是使用圓點(.)作為標記符。(1)訪問對象屬性的格式為:對象名.對象屬性列4.1:把單行編輯框sle_name的用戶輸入內(nèi)容送入字符串變量userenter的語句可以寫成:Userenter=sle_name.text訪問對象的函數(shù)與事件的格式為:Objectname.typecalltypewhenfunctionname(argumentlist)objectname對
26、象名type:取值為function或event用于指明訪問函數(shù)還是事件,默認值是functionocalltype:用于指明查找函數(shù)的時機,有效取值為:static(默認值),編譯時查找函數(shù),若不存在,產(chǎn)生編譯錯誤;dynamic,程序運行時查找函數(shù),若不存在,產(chǎn)生運行錯誤。when:用于指明函數(shù)或事件是立即執(zhí)行還是當前程序段執(zhí)行完畢后執(zhí)行,取值為TRIGGER(默認值),立即執(zhí)行;POST,當前程序段執(zhí)行完畢后執(zhí)行。Functionname指明調(diào)用的函數(shù)或事件名稱。Argumentlist:給出函數(shù)或事件的參數(shù)。例4.2:對象函數(shù)和事件的調(diào)用示例。代碼如下想把輸入焦點移動到單行編輯框sle
27、_name上,程序中的代碼是Sle_name.setfocus()想立即執(zhí)行按鈕cb_name的單擊事件處理器,那么編寫代碼Cb_name.eventtriggerclicked五:保留字保留字是powerbuilder內(nèi)部使用的一組單詞,有著特殊的含義,不能再把他們用作標識符。如果應(yīng)用程序誤把保留字用作了標識符,那么powerbuilder將給出編譯錯誤。在powerbuilder中保留字一般顯示為綠色。六:數(shù)據(jù)類型Powerbuilder的數(shù)據(jù)類型十分豐富,主要包括:標準數(shù)據(jù)類型,any數(shù)據(jù)類型,系統(tǒng)對象數(shù)據(jù)類型和枚舉類型,共4大類。程序中通過數(shù)據(jù)類型限定變量的取值范圍。在powerscr
28、ipt中,我們使用數(shù)據(jù)類型來聲明變量或數(shù)組。1標準數(shù)據(jù)類型:Blob二進制大對象,用于存儲大量數(shù)據(jù),例如圖像.大文本等。Boolean布爾型,true或falseCharacter/char單個ASCLL字符Date日期,包括年(1000-3000)月(01-12)日(01-31)Datetime日期及時間,僅用于訪問數(shù)據(jù)庫的datetime型數(shù)據(jù)Decimal/dec帶符號十進制數(shù),最大18位精度。DoubleInteger/int16位帶符號整數(shù),范圍從-2147483648到+2147483648RealString字符串類型,用于任意的ASCLL字符,比如計算機abc'Unsi
29、gnedinteger16位無符號整數(shù),范圍0-65535Unsignedlong32位無符號整數(shù),范圍0-42949762952 .常量的申明在編寫代碼時,對應(yīng)用程序不應(yīng)該修改的數(shù)據(jù)聲明成常量是個好辦法:一來提高了程序的可讀性和可維護能力,二來避免了意外的修改,降低了編碼出錯的概率。聲明常量使用constant,其簡單語法為:Constent數(shù)據(jù)類型.常量名=常量值3 .變量的作用域:作用域是指用戶定義的變量在什么范圍內(nèi)有效。Powerbuilder的變量作用域共有4種:全局變量,實例變量,共享變量和局部變量。* 全局變量:在整個應(yīng)用程序中都可以訪問,他的作用域是整個應(yīng)用程序* 實例變量:實
30、例變量和對象相關(guān)聯(lián),只有在該對象的事件處理程序或函數(shù)中才能使用為該對象定義的實例變量。實例變量在它所關(guān)聯(lián)的對象打開時創(chuàng)建,被關(guān)閉時消失。* 共享變量:共享變量是一種靜態(tài)變量,這不僅意味著它所在的對象關(guān)閉后如果再次打開時,共享變量依然保持對象關(guān)閉時的值,還意味著同一個類的多個實例中的同名共享變量將保持相同的值。* 局部變量:局部變量在使用它的事件處理程序或函數(shù)中聲明,其作用域僅限于聲明它的程序段,在該程序段的任何地方均可訪問局部變量,但其他程序段都不能訪問本程序段中的局部變量。運行程序后,進入某個程序段時,系統(tǒng)自動為局部變量分配內(nèi)存,退出程序時,局部變量占用的內(nèi)存被釋放。4.變量的默認值變量類型
31、默認值falseBlob長度為0,空的二進制大對象BooleanCharDateDatetimeascll碼01900-01-011900-01-0100:00:00數(shù)值類型*StringTime0空字符串("")00:00:00七:運算符1算術(shù)運算符算術(shù)運算符用于完成數(shù)學運算+-*/八+-+=-=*=/=A=2.關(guān)系運算符關(guān)系運算符用于比較兩個操作符,比較的結(jié)果為下述3個值之一(true,false,null)=><<>>=<=在進行運算符比較時,應(yīng)注意到這些運算符進行的比較是區(qū)分大小些的比較,也就是說A<>a。需要時可使用
32、powerscrpt的字符串操作函數(shù)進行適當?shù)霓D(zhuǎn)換,這類函數(shù)包括:Upper()轉(zhuǎn)換成大寫Lower()轉(zhuǎn)換成小寫Righttrim()刪除右部空白Lefttrim()刪除左部空白Trim()刪除兩端空白3邏輯運算符Notandor4連接運算符連接運算符只有一個,那就是+',用于把兩個string型或blob型變量的內(nèi)容連接在一起,形成新的字符串或blob型數(shù)據(jù)。4.1 例:stringtesttest='北京'+上海/test中包含“北京上?!?.基本語句Powerscript的基本語句主要包括賦值語句,條件語句,循環(huán)語句。5.1 賦值語句:用于給變量或?qū)ο筚x值,使用
33、最頻繁的語句。其中語法格式為:Variablename改量名或?qū)ο竺?=expression表達式,其數(shù)據(jù)類型應(yīng)該與variablename的數(shù)據(jù)類型兼容)5.2 條件語句:共有if語句和choosecase語句兩類條件語句。If語句計算一個邏輯表達式,然后根據(jù)表達式的值是真還是假決定下一步執(zhí)行的語句塊。Choosecase語句可同時處理多種情況。(1) if語句,if語句有兩種形式。一.單行if-then語句,格式為:Ifcondthenaction1elseaction2其中cond是個表達條件的邏輯表達式;action1,action2是一條語句;大括號表示該部分可以根據(jù)需要選擇。cho
34、osecase語句5.3 循環(huán)語句:powerscript的循環(huán)語句有3種形式:do-loop,fornext,和goto。如果合理的將前兩種形式與exit和continue語句配合使用,完全可以拋棄goto語句。而且doloop結(jié)構(gòu)本身又有4中形式,豐富多彩的表達方式為我們編寫清晰流暢的程序提供了有效的手段。(1) do-loop循環(huán)語句,4種形式:* Dountilconditionloop* dowhileconditionloop* do.loopuntilcondition* do-loopwhilecondition其中do標示循環(huán)的開始;loop表示循環(huán)的結(jié)束;condition
35、表示循環(huán)條件,是個邏輯表達式,其值為true或false。(2)fornext:fonext是個循環(huán)次數(shù)確定的循環(huán)結(jié)構(gòu),她使循環(huán)體內(nèi)的語句執(zhí)行規(guī)定的次數(shù),語法結(jié)構(gòu)為:forvarname=starttoendstepincrementstatementblocknext其中varname是循環(huán)變量,可以使是任意的數(shù)字類型;startend分別是循環(huán)變量的初值和終值;increment是每次循環(huán)后循環(huán)變量的步長增量(默認值為1);statementblock是一組語句,成為循環(huán)語體,大括號表示此語句可以省略。其循環(huán)過程為:虛幻變量varname從start開始,到end為止,重復(fù)執(zhí)行循環(huán)體,每執(zhí)
36、行一次,varname+increment另外,如果start和end在循環(huán)體內(nèi)被修改,將影響循環(huán)次數(shù)。(3) goto語句goto語句將控制跳轉(zhuǎn)到程序中的其他位置,用goto語句也可以構(gòu)成循環(huán)。其語法格式為:gotolabel其中l(wèi)abel是語句標號,它使用標識符的命令規(guī)則。(4) exit(退出循環(huán))語句在do”oop和for.next語句的循環(huán)體中,當我們想在中途退出循環(huán)時,可以使用exit語句,執(zhí)行該語句后,程序的控制權(quán)轉(zhuǎn)至循環(huán)語句后的語句。(5) continue(繼續(xù)循環(huán))語句在循環(huán)體中,遇到continue語句后,將不執(zhí)行continue語句后與循環(huán)結(jié)束前的所有語句,而是開始新一
37、輪循環(huán)。常用事件Open事件:打開窗口時觸發(fā)Close事件:關(guān)閉窗口時觸發(fā)。Closequery事件:在開始關(guān)閉窗口時觸發(fā)。Dragdrop事件:當在窗口客戶區(qū)釋放拖動對象時發(fā)生。Resize事件:當窗口大小發(fā)生變化時產(chǎn)生,窗口被打開時也產(chǎn)生該事件。常用函數(shù)Powerbuilder窗口對象比較常用的函數(shù)如下:1.ArrangeSheets()功能:按指定方式排列mdi框架窗口中的工作窗口(子窗口)或圖標。語法:mdiframe.arrangesheets(arrangetype)2. getactivesheet()功能:得到指定mdi框架窗口中當前活動工作表語法:mdiframewindow
38、.getactivesheet()3.getparent功能:返回父窗口的名稱語法:windowname.Getparent()4.hide()功能:隱藏窗口語法:windowname.hide()5.print功能:打印窗口語法:windowname.print()6.setfocus()功能:將焦點設(shè)置在該窗口上。語法:windowname.setfocus()7.show()功能:顯示窗口語法:windowname.show()與窗口相關(guān)的函數(shù)1.Open()功能:打開窗口。該函數(shù)有兩種語法格式:格式一:打開編程時已知數(shù)據(jù)類型的窗口對象。格式二:打開程序運行后才能確定數(shù)據(jù)類型的窗口對象。
39、語法一:Open(windowvar,parent)語法二:Open(windowvar,windowtype,parent)2 Openwithparm()功能:帶參數(shù)打開窗口,與Open()函數(shù)相似。區(qū)別在于openwithparm()函數(shù)可以向打開的窗口對象傳遞參數(shù)。語法一:openwithparm(windowvar,parameter,parent)二.openwithparm(windowvar,parameter;windowtype,parent)3 opensheet()功能:在mdi框架窗口中打開mdi子窗口,并在指定菜單中創(chuàng)建該子窗口的相關(guān)菜單項。語法:4 openshe
40、etwithparm()功能:在Mdi框架窗口中帶參數(shù)打開mdi子窗口。與opensheet()函數(shù)相似。區(qū)別在于opensheetwithparm()B數(shù)可以向打開的窗口對象傳遞參數(shù)。語法:5 close()功能:關(guān)閉窗口并釋放窗口以及窗口上的控件所占據(jù)的內(nèi)存語法:Close(windowname)6 CloseWithReturn()功能:關(guān)閉窗口,與close()函數(shù)相似。區(qū)別在于closewithreturn()函數(shù)在關(guān)閉窗口時將返回值保存在message寸象中。PB中實例化(用isvalid判斷)的作用是什么?比如:ifnotisvalid(myo_apprun)thenmyo_ap
41、prun=createmy_apprunendif如果不寫它會有什么后果?不寫可能會報錯,使用isvalid來判斷對象是否成功被創(chuàng)建,如果未被成功創(chuàng)建就去使用的話會拋出異常,程序不能正常運行。Upper()編輯Upper()功能將字符串中的小寫字母轉(zhuǎn)換為大寫字母。語法Upper(string)參數(shù)string:要將其中的小寫字母轉(zhuǎn)換為大寫字母的字符串返回值String。函數(shù)執(zhí)行成功時返回將小寫字母轉(zhuǎn)換為大寫字母后的字符串,發(fā)生錯誤時返回空字符串(”")。如果string參數(shù)的值為NULL,Upper()函數(shù)返回NULL。eg:selectupper('AaCdD')f
42、romdual;UPPER('AACDD')message.stringparm勺用法比如openwithparm(w_1,'abc')在w_1的open事件里就可以通過message.stringparmflX得'abc'的值stringls_stringls_string=message.stringparm/ls_string值即為abc'在窗口調(diào)用的時候openwithparm(window_name,'trans_string')在窗口打開的時候(openevent),ls_string=message.stri
43、ngparmOpenWithParm()功能帶參數(shù)打開窗口,與打開窗口的Open()函數(shù)相似。Trim()刪除字符串首尾的空白(可以首尾一起,也可以指定首或尾,取決于控制參數(shù)),但會保留字符串內(nèi)部作為詞與詞之間分隔的空格。=html5,c#,powerbuilder,mysql,oracle經(jīng)典學習視頻和文檔資料,本人多年收集的學習資料,里面主要包含:“html5,c#,powerbuilder,mysql,oracle”需要力口qq:417129367名群人SQLServer2006SQLServer2000如&庫基本匪作口相關(guān)文檔詣句大全第A節(jié)SQLServer2005魂S據(jù)迸翡第
44、二節(jié)5qlServer2005數(shù)據(jù)庫的馬*篥九節(jié)SQLServer2005連霞泡萍第六節(jié)SQLServer2005簡第查詢第七節(jié)SQLServer2005簡單查詢用第三節(jié)叼1Server2005震的基本也遂1第十三SQLServer2005數(shù)據(jù)完萍舞十節(jié)SQLServer2005室亞詢商第十六節(jié)SQLServer2005觸發(fā)器第+"fc節(jié)SQLServer2005國明泰1窩十三15SQLServer2005索弓|.e|類粗:文件夾位置:F丸常用T學習資料還qlSerer2005_視頻大小;1+53GB口犬的105.647字句占用空間:153GR(1,56/60/16字節(jié))包含t479
45、個文件,44個文件夾創(chuàng)建時間:2。1m年09月9日,197:37屬性:回且讀儂用于文件夾中的文科儀咫酉,翡十EJ15SQLServer2005觀圖后口頻H)砌0).,+常視共享安全以前的)朗宮視頻交小pb學習一名梆I360Dcwn類獨文件案BaiduYun謂GAmqjuNET。Sh大?。?03GB(32,57pb學習資am占用空間:30.3GB(32,57£常規(guī)共享安全以前的版本自定義NlETCSharp生春文件夾大,卜577GB廊工5晚的9字母占用至I間:574GB(61,671,723.008字節(jié))第二部分:Pb的5個可編程對象概述:Application對象:程序執(zhí)行的起點,全
46、局編程Window對象和控件:用戶界面主要構(gòu)成對象Menu對象:調(diào)度中心。Userobject對象:重用。封裝。Function對象:重用和編程關(guān)系緊密的內(nèi)容:界面設(shè)計:常規(guī)設(shè)計,標準設(shè)計函數(shù):600多個函數(shù),常用70多個事件:常用事件,理解觸發(fā)事件至關(guān)重要屬性:常用屬性Sql語言:數(shù)據(jù)處理的基礎(chǔ)。PB的編程語言:POWerScript嵌入式sql程序和時間的關(guān)系:Pb中所有程序的執(zhí)行都必須通過事件編程的規(guī)范性:能編程序不重要,重要的是編寫規(guī)范的程序?qū)崿F(xiàn)功能是基本要求,維護要求規(guī)范顯小編譯:ctrl+L快捷鍵快速替換:ctrl+H標識符:定義:所有程序員自己定義的名稱字母或者下劃線開頭長度=2
47、55不區(qū)分大小寫不能是保留字:比如this等關(guān)鍵詞就不能指代詞:This:代表當前窗口Parentwindow:當前菜單所在的窗口。數(shù)據(jù)類型:1:保準數(shù)據(jù)類型:parent:所編程對象的容器控件Super:子對象引用父對象會用到。字符型:stringchar數(shù)值型:注意各類型的取值范圍,和數(shù)據(jù)庫的同類型的數(shù)據(jù)精度是否匹配。類型有:integer(最大值65536)longdoublerealdecimalunsignedintegerunsignedlong日期,時間型:datetimedatetime布爾型:booleanBlob型:blob2:系統(tǒng)對象類型:create(創(chuàng)建)destro
48、y(釋放內(nèi)存)browser3:枚舉型:4:Any型:運行慢,編譯時不做類型檢查。第一章語言基礎(chǔ)變量聲明:作用范圍:全局變量:整個target下所有對象都可訪問實例變量:windowapplicationmenuuserobject范圍內(nèi)的變量本地變量:申明變量的事件或者函數(shù)內(nèi)“w_hellcii(hello)1helllo.pbbinheritedfromwindow-WindowInstanceVariables*.llobalVariables寫hcrudVariables_-instanceVariabtesGlobalEteriulFufieiLi0Fi&LocalExter
49、nalFuKtionsJ第一個是申明全局變量第三個是申明實例變量-hDeclareTmtqnuEVariablescclorc)變量聲明:注意聲明時賦值的特例格式:數(shù)據(jù)類型,變量名稱戶初值位置:代碼的開頭規(guī)范:作用范圍+類型變量名稱例子:stringls_sstimelt_study類型轉(zhuǎn)換:20160712第三天:運算符和表達式:算術(shù)運算符:+,-,-,*,/,A關(guān)系運算符:=,<,>,<>,>=,<=邏輯運算符:not,and,or,聯(lián)接運算符:+表達式和賦值:表達式:運算符,常量,變量,函數(shù)賦值和關(guān)系運算符的區(qū)別:左側(cè)能否用常量,是否有返回值。分支語句
50、:一:If語句:1:if條件then語句2:if條件then語句Endif3:if條件then語句1Else語句2Endif4:If條件then語句1日seif條件then語句2Endif5:If條件then語句1日seif條件then語句2Else語句Endif二:case語句格式:choosecase表達式Case取值語句EndchooseStringls_lsLs_ls=90Choosecasels_lsCaseisls_ls>90Messagebox(提示','優(yōu)秀')Caseisls_ls>60Messagebox(提示','及格&
51、#39;)Caseisls_ls<60Messagebox(提示','不及格')EndChoose關(guān)于取值:一個值,多個值列表,xtoy,is表達式,上述各種組合。注意:case判斷的順序性(由少范圍到多范圍)。循環(huán)語句:格式1:dowhile條件語句模塊Loop格式2:Do語句模塊Loopwhile條件格式3:Dountil條件語句模塊Loop格式4:Do語句模塊Loopuntil條件注意:掌握其中一個就行(通用掌握第一個)循環(huán)語句2:格式1:For變量=初值to終值語句模塊Next格式2:For變量=初值to終值step步長語句模塊NextSplit功能的實現(xiàn)
52、學習函數(shù):1:函數(shù)的作用2:函數(shù)的語法3:參數(shù)的含義4:返回值的含義5:常用編程Pos函數(shù):1),str2在str1第作用:查找一個字符串在另一個字符串中首次出現(xiàn)的位置(起始位置是語法:1:pos(str1,str2)2:pos(str1,str2,start)返回值:integer,從str1開始的位置,0表示沒找到。:從start位置開始找一次出現(xiàn)的值。Left函數(shù):作用:得到指定字符串左側(cè)若干個字符語法:left(str1,len)返回值:string,字符串Right函數(shù)作用:得到指定字符串右側(cè)若干個字符語法:right(str1,len)返回值:string,字符串Mid函數(shù):作用:得到指定字符串指定位置的一個子串語法:mid(str1,start,len):從start開始取len個長度。返回值:string,字符串Len
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 無住房公積金協(xié)議書
- 自愿簽訂賠償協(xié)議書
- 建筑裝飾材料協(xié)議書
- 經(jīng)營績效協(xié)議書范本
- 馬桶維修協(xié)議書范本
- 學校變更法人協(xié)議書
- 運營中心加盟協(xié)議書
- 接受委托檢驗協(xié)議書
- 認購協(xié)議書補充條款
- 香港公司傭金協(xié)議書
- 肝膿腫的pbl查房
- 筼筜湖生態(tài)環(huán)境整治提升一期項目環(huán)境影響報告
- 建設(shè)用地報批服務(wù)投標方案(技術(shù)方案)
- 護理身份識別制度課件
- 康復(fù)評定-常用康復(fù)評定項目課件
- 志愿者申請登記表
- 公司銀行賬戶開戶申請表
- 2022語文課程標準問答題及參考答案
- 大學英語說課
- (完整版)數(shù)字信號處理教案(東南大學)
- 小學二年級24點習試題庫
評論
0/150
提交評論