




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、PB PB編碼規(guī)范PB-PB編碼規(guī)范2010-12-07 15:10*綜述*編程對象的分類以PowerBuilder作為前臺(tái)開發(fā)工具,進(jìn)行軟件開發(fā)的過程中,所涉及的編程對象如下所示序號(hào)類別1源代碼2可執(zhí)行代碼3資源文件(如pbr,bmp,ico文件)4配置文件(如ini文件)5其他*編程對象的組織使用PowerBuilder開發(fā)工具產(chǎn)生的對象,可以按照設(shè)計(jì)(正在編寫和調(diào)試)和運(yùn)行(調(diào)試、編譯結(jié)束,可以接受測試和運(yùn)行)中的狀態(tài)進(jìn)行編程對象的組織規(guī)劃,重點(diǎn)是目錄結(jié)構(gòu)的劃分,具體目錄的相對關(guān)系如下所示類別目錄說明源代碼SrcCode可按子系統(tǒng)再劃分子目錄(如pbl等文件夾)可執(zhí)行代碼Program或
2、項(xiàng)目名稱可按子系統(tǒng)再劃分子目錄圖片文件Images或pic等包含應(yīng)用圖標(biāo)ICO文件、BMP/JPG/GIF文件配置文件Ini其他Other*版本說明a.軟件版本號(hào)標(biāo)準(zhǔn)為A.B,其中A和B為0到99之間的數(shù)字。b.當(dāng)A大于1并且B為奇數(shù)時(shí),表示當(dāng)前版本為處于開發(fā)、測試階段的版本,定義為開發(fā)版;當(dāng)B為偶數(shù)時(shí),表示當(dāng)前版本為穩(wěn)定的、可實(shí)際運(yùn)行的版本,定義為穩(wěn)定版。c.當(dāng)軟件開始開發(fā)時(shí),確定版本號(hào)為0.1;隨著軟件開發(fā)的進(jìn)度,版本號(hào)隨著每一次主要功能的完善而變化,最高達(dá)到0.99。d.軟件初步開發(fā)完成后,經(jīng)過軟件開發(fā)小組內(nèi)部測試,初步能夠完成軟件需求提出的業(yè)務(wù)規(guī)范和技術(shù)要求,軟件基本能正常運(yùn)行,此時(shí),
3、確定該軟件版本號(hào)為1.0 Beta X,這意味著軟件可以投入實(shí)際應(yīng)用測試,其中X代表測試的次數(shù)。e.當(dāng)軟件的1.0 Beta X版本推出并經(jīng)過用戶實(shí)際應(yīng)用或者試運(yùn)行測試后,此時(shí),確定該軟件版本號(hào)為1.0 RC。這意味著軟件可以投入實(shí)際應(yīng)用運(yùn)行。f.當(dāng)軟件的1.0 RC版本投入實(shí)際應(yīng)用運(yùn)行達(dá)到某一時(shí)限后,則認(rèn)為該版本已經(jīng)穩(wěn)定,可以完全正常地使用了,這時(shí),確定軟件的版本號(hào)為1.0,這意味著軟件開發(fā)完成,可以投入實(shí)際應(yīng)用和推廣。g.當(dāng)軟件進(jìn)行升級(jí)時(shí),如果功能變化不大,則次版本號(hào)變化;如果軟件功能發(fā)生重大變化時(shí),主版本號(hào)變化。*對象命名規(guī)范*命名約定a.部件名稱可以達(dá)到40個(gè)字符,組成方式為A_B。b
4、.A部分表示前綴,表示部件的類型。c.緊跟著一條下劃線_。d.B部分描述此部件的名稱??梢愿鶕?jù)情況具體決定B的構(gòu)成。推薦將B部分分解成兩部分:功能代碼_功能描述。e.在重要變量后面寫注解表示此變量的用途。比如,常用的幾種對象命名是窗口的命名:w_功能代碼_功能描述。數(shù)據(jù)窗口控件的命名:dw_功能代碼_功能描述。數(shù)據(jù)窗口對象的命名:d_功能代碼_功能描述。菜單命名:m_功能代碼_功能描述。用戶對象:uo_功能代碼_功能描述。*具體命名規(guī)則1.函數(shù)的命名規(guī)則函數(shù)名=函數(shù)適用范圍代碼+f+_+函數(shù)功能描述,其中函數(shù)的適用范圍代碼和意義如下:g全局函數(shù);w窗口函數(shù);m菜單函數(shù);u用戶對象函數(shù)。例:檢查
5、SQL語句執(zhí)行結(jié)果的全局用戶函數(shù)命名如下:gf_checksql()。2.應(yīng)用應(yīng)用的命名應(yīng)使用與該應(yīng)用的意義相關(guān)聯(lián)的英文字母,例如,app_si表示社會(huì)保險(xiǎn)應(yīng)用系統(tǒng)。3.PBL庫PBL庫組織的好壞很重要,它會(huì)影響應(yīng)用開發(fā)和維護(hù)的容易程度以及應(yīng)用的性能。Library的組織應(yīng)遵循以下原則:a.Library的大小。PowerBuilder對Library的大小沒有限制,但最好使之小于1MB,Library太大,PowerBuilder要花更多的時(shí)間去打開和存儲(chǔ)對象,這會(huì)影響開發(fā)的效率。b.Library的數(shù)量。盡量用最少的Library數(shù)量。應(yīng)在Library的數(shù)量和每個(gè)Library中對象數(shù)量
6、之間找到平衡點(diǎn),如果Library數(shù)量太多而每個(gè)Library中對象數(shù)量太少,搜索路徑會(huì)太長,影響運(yùn)行效率。c.Library的優(yōu)化。要在Library畫筆中經(jīng)常對Library進(jìn)行優(yōu)化。隨著時(shí)間的推移,Library會(huì)被分段,會(huì)使Library的存儲(chǔ)變得不連續(xù),影響運(yùn)行效率。d.Library的分類組織。PBL庫可按子系統(tǒng)或功能組織,一般應(yīng)用都包含公共PBL庫。每個(gè)PBL庫文件命名應(yīng)該與該文件作用相關(guān)聯(lián),例如報(bào)表PBL庫文件命名為report.pbl。每個(gè)PBL庫文件應(yīng)該包含詳細(xì)注釋,列出該P(yáng)BL文件包含哪些對象,對應(yīng)哪個(gè)子系統(tǒng),與其他PBL(調(diào)用)關(guān)系等信息。為了有效地進(jìn)行團(tuán)隊(duì)開發(fā),實(shí)現(xiàn)對
7、PB源碼的管理,要求基于對各方因素(如應(yīng)用代碼的執(zhí)行效率和所占存儲(chǔ)空間)和維護(hù)上的全面考慮,對PB源碼實(shí)行分類的原則。PowerBuilder的Library的分類原則有兩種方式:(1)制定對象分類法根據(jù)所制定的不同類的對象進(jìn)行分類。例:將所有的窗口放在一個(gè)Library中。(2)功能模塊分類法根據(jù)系統(tǒng)的功能模塊的不同,將屬于不同類的制定對象放在一個(gè)Library中。這是一種更為有效的方式。4.初始化配置文件初始化配置文件的命名必須與應(yīng)用的名稱一致,擴(kuò)展名為.ini,例如:si.ini。用戶的可變環(huán)境信息都應(yīng)該保存在該文件中,關(guān)鍵信息加密保存,并且提供管理工具,而不是手工修改該文件。5.資源文
8、件資源文件的命名必須與應(yīng)用的名稱一致,擴(kuò)展名為.pbr,例如:si.pbr。6.窗口窗口的命名必須以w(Window的首字符)開頭,加下劃線(_),其后緊接與窗口意義相關(guān)聯(lián)的英文字母(總長不得超過PowerBuilder的40個(gè)字符限制),并且在注釋(Comments)框內(nèi)寫出該窗口的作用(中文或英文),如下所示。序號(hào)窗口名稱Comments 1w_about關(guān)于本系統(tǒng)的版權(quán)信息2 w_system_error系統(tǒng)出錯(cuò)提示3 w_main系統(tǒng)主界面4 w_report_sheet報(bào)表輸出7.數(shù)據(jù)窗口普通數(shù)據(jù)窗口的命名必須以dW(DataWindow縮寫)開頭,代碼表下拉式子數(shù)據(jù)窗口必須以ddd
9、w(DropDownDataWindow縮寫)開頭,加下劃線(_),其后緊接與數(shù)據(jù)窗口意義相關(guān)聯(lián)的英文字母(總長不得超過PowerBuilder的40個(gè)字符限制),并且在Comments框內(nèi)寫出該數(shù)據(jù)窗口的作用(中文或英文),如下所示。序號(hào)數(shù)據(jù)窗口名稱Comments 1d_system_error顯示系統(tǒng)錯(cuò)誤,被w_System_Error窗口調(diào)用2 d_categories對產(chǎn)品分類,被w_Report_Sheet窗口調(diào)用3 d_detail_parts Parts of Products Described in Detail 4d_detail_function Products Fu
10、nction Described in Detail 5dddw_sex性別代碼表8.菜單菜單的命名必須以m(Menu縮寫)開頭,加下劃線(_),其后緊接與菜單意義相關(guān)聯(lián)的英文字母(總長不得超過PowerBuilder的40個(gè)字符限制),并且在Comments框內(nèi)寫出該菜單的作用(中文或英文),如下所示。序號(hào)菜單名稱Comments 1m_main Front End Main Menu 2m_report Report Subsystem Menu 3m_main_pop主界面的彈出菜單9.函數(shù)函數(shù)的命名必須符合類型f_subsystemname_detailname或lf_detailna
11、me格式,其中g(shù)f表示是全局函數(shù),subsystemname是子系統(tǒng)的英文縮寫,detailname是與函數(shù)意義相關(guān)聯(lián)的英文字母(總長不得超過PowerBuilder的40個(gè)字符限制),對于全局函數(shù)應(yīng)該在Comments框內(nèi)簡短寫出該函數(shù)的作用(中文或英文),如下所示。序號(hào)函數(shù)名稱Comments 1gf_help_index幫助子系統(tǒng)索引全局函數(shù)2 lf_get_user_info獲取用戶信息局部函數(shù)3 gf_query_sortbyname查詢子系統(tǒng)名排序全局函數(shù)10.用戶對象用戶對象的命名必須以u(píng)o(UserObject縮寫)開頭,加下劃線(_),其后緊接與用戶對象意義相關(guān)聯(lián)的英文字母(
12、總長不得超過PowerBuilder的40個(gè)字符限制),并且在Comments框內(nèi)寫出該用戶對象的作用(中文或英文),如下所示序號(hào)用戶對象名稱Comments 1uo_external_function Cross platform user object ancestor 2uo_report_structure User Object as astructure For report 11.控件控件的命名必須以控件名稱縮寫開頭,加下劃線(_),其后緊接與控件作用相關(guān)聯(lián)的英文字母(總長不得超過PowerBuilder的40個(gè)字符限制),如下所示序號(hào)控件名稱控件縮寫控件命名范例1 Comman
13、dButton cb cb_ok 2PictureButton pb pb_thank_info 3CheckBox cbx cbx_age_show 4RadioButton rb rb_typical_setup 5StaticText st st_user_id 6Picture pp_user_photo 7GroupBox gb gb_detail_info 8Line ln ln_h_separator 9Oval oval oval_used_flag 10 Rectangle rr_photo_frame 11 RoundRectangle rr rr_companyflag
14、12 SingleLineEdit sle sle_user_name 13 MultiLineEdit mle mle_book_comments 14 RichTextEdit rte rte_student_answer 15 EditMask em em_telephone_no 16 HScrollBar hsb hsb_time_set 17 VScrollBar vsb vsb_money_set 18 DropDownListBox ddlb ddlb_your_favourite 19 DropDownPictureListBox ddplb ddplb_photo_prev
15、iew 20 ListBox lb lb_department_name 21 PictureListBox plb plb_user_identification 22 ListView lv lv_all_user 23 TreeView tv tv_customers 24 TabPage tpg tpg_ordinary_super 25 Tab tab tab_super 26 DataWindow dw dw_user_info_detail 27 Graph gr gr_month_report 28 Ole ole ole_word_doc*變量命名規(guī)范變量取名應(yīng)遵守命名規(guī)范,
16、對使用頻繁的或關(guān)鍵變量,為了便于閱讀和修改,在定義時(shí)應(yīng)加上注釋標(biāo)明其含義。例如:String ls_name/參保人員姓名變量命名規(guī)則為:變量范圍+變量數(shù)據(jù)類型+_+含義代碼*變量數(shù)據(jù)類型約定數(shù)據(jù)類型前綴Any a_ Blob bb_ Boolean b_ Character c_ Date d_ DateTime dt_ Decimal dec_ Double db_ Integer i_ Long l_ String s_ Time t_ UnsignedInteger ui_ UnsignedLong ul_ DataWindow dw_ DataWindowChild dwc_ Mai
17、lSession ms_ Menu m_ Structure str_ Transacttion trans_ Window w_ UserObject uo_*變量范圍命名約定范圍字首描述Global g?_全局變量將在整個(gè)應(yīng)用中有效。它們可能從其他對象面板中定義,但它們將在整個(gè)應(yīng)用中有效Shared s?_共享變量在一個(gè)對象及其實(shí)例中有效Instance i?_實(shí)例變量僅在一個(gè)對象的實(shí)例中有效。相應(yīng)對象的不同實(shí)例中的變量保存各自的值Local l?_局部變量僅在一段子程序或在script開始和結(jié)束時(shí)生效由值傳遞的變量v?_在定義函數(shù)時(shí),參數(shù)僅傳遞值,不會(huì)被函數(shù)(僅適用于函數(shù)變量)改變,定義
18、為value,例:vdw_datawindow由引用傳遞的變量r?_在定義函數(shù)時(shí),參數(shù)將被此函數(shù)改變,(僅適用于函數(shù)變量)定義為reference,例:rl_long注意:?表示相應(yīng)數(shù)據(jù)類型,如i,c,l,s等數(shù)據(jù)類型前綴。對于上述的內(nèi)容做如下說明。a.全局變量的命名必須符合gT_subsystemname_detailname格式,其中g(shù)表示是全局變量(Globe),T是數(shù)據(jù)類型(DataType)的簡寫。subsystename是子系統(tǒng)的英文簡寫。detailname是有具體意義的英文字母。例如:gs_query_user_info,即為查詢子系統(tǒng)定義了一個(gè)字符串型全局變量。b.局部變量的
19、命名必須符合lT_detailname格式,其中l(wèi)表示是局部變量(Local),T是數(shù)據(jù)類型(DataType)的簡寫。例如:li_user_salary,即定義了一個(gè)整數(shù)型局部變量。c.實(shí)例變量的命名必須符合iT_detailname格式,其中i表示是實(shí)例變量(Instance),T是數(shù)據(jù)類型(DataType)的簡寫。Detailname是有具體意義的英文字母。例如:is_product_name,即定義了一個(gè)字符串型實(shí)例變量。*編程規(guī)范*書寫格式a.用分層縮進(jìn)的寫法顯示嵌套結(jié)構(gòu)的層次。b.在注釋段與程序段,以及不同邏輯的程序段之間插入空行。c.每行只寫一條語句,當(dāng)需要滾動(dòng)顯示時(shí)應(yīng)該分行書
20、寫。*流控制流控制首先應(yīng)遵守PowerBuilder語法規(guī)范,且用分層縮進(jìn)的寫法突出顯示嵌套的層次結(jié)構(gòu),例如:For i=1 To 100 For j=1 To 50 For k=1 To 200 Matrixi,j,k=1 Next Next Next*注釋及格式要求注釋總是加在程序中需要概括性說明或不易令人理解或容易令人理解錯(cuò)的地方。注釋語言應(yīng)簡練、易懂而又準(zhǔn)確,所采用的語種首選是中文,如有輸入困難或特殊需求也可采用英文。注釋原則:a.函數(shù)或過程的注釋(1)在函數(shù)頭部必須說明函數(shù)的功能和參數(shù)(值參、變參);(2)在函數(shù)的主體部分,如算法復(fù)雜時(shí),應(yīng)以注釋的方式對其算法結(jié)構(gòu)做出說明;(3)函數(shù)
21、申請過全局資源且有可能導(dǎo)致資源緊張應(yīng)加以注明(如內(nèi)存和文件柄等);(4)函數(shù)有副作用一定以十分醒目的方式(如加!號(hào)等)注明。b.語句的注釋(1)應(yīng)對不易理解的分支條件表達(dá)式加注釋;(2)不易理解的循環(huán),應(yīng)說明出口條件(有GOTO的程序還應(yīng)說明入口條件);(3)過長的函數(shù)實(shí)現(xiàn),應(yīng)將其語句按實(shí)現(xiàn)的功能分段加以概括性說明。c.常量和變量的注釋在常量名聲明后應(yīng)對該名做適當(dāng)?shù)淖⑨專⑨屨f明的要點(diǎn)是:(1)被保存值的含義(必須);(2)合法取值的范圍(可選);(3)全局量需要對以上逐點(diǎn)做充分的說明。d.制定對象的注釋每個(gè)開發(fā)人員針對自己所制定的窗口、菜單、數(shù)據(jù)窗口、數(shù)據(jù)管道和用戶對象等添加注釋,要點(diǎn)是:(
22、1)標(biāo)注對象的用途;(2)標(biāo)注對象的制定人員;(3)標(biāo)注時(shí)間或者修改時(shí)間。具體格式要求如下:1.在窗口Open事件前應(yīng)說明/*=*/窗口中英文名稱:/窗口作用:/作者:/日期:/*=*/2.在事件腳本(Script)之前應(yīng)說明/*=*/腳本作用:/輸入?yún)?shù)及數(shù)據(jù)類型:/返回參數(shù)及數(shù)據(jù)類型:/全局函數(shù)及其用途:/全局變量及其用途:/作者:/日期:/修改人的姓名:/修改日期:/修改原因:/*=*/若有多人修改,每個(gè)人均加上自己的注釋,而不能改他人的姓名、日期、原因,對要修改的腳本,只能注釋不能刪除,并且在修改的地方加上修改人名、日期和Beginning Modification.,Ending M
23、odification字樣。3.腳本中的注釋單行腳本程序注釋:/注釋文本腳本的程序段注釋:/*=*/注釋文本/*=*/變量的注釋如下:數(shù)據(jù)類型變量名/注釋4.在函數(shù)、存儲(chǔ)過程等腳本(Script)之前應(yīng)說明/*=*/函數(shù)名稱:/參數(shù)解釋:/功能描述:/調(diào)用舉例:/最初作者:/編寫日期:/返回值:/變量情況:/修改人:/修改日期:/修改原因:/*=*/*Powerbuilder腳本編程規(guī)范1.Powerbuilder編程注意事項(xiàng)a.不要在子應(yīng)用中聲明全局變量!如必須聲明全局變量,則應(yīng)事先向項(xiàng)目負(fù)責(zé)人申請。b.供別的文件或函數(shù)調(diào)用的函數(shù),絕不應(yīng)使用全局變量交換數(shù)據(jù)。c.所有SQL語句均需判斷返回結(jié)
24、果(包括SELECT,COMMIT語句)。例:If sqlca.sqlcode=-1 Then錯(cuò)誤處理程序跳出Else正常End If d.缺省SQLCA的連接語句connect,在應(yīng)用Open事件中完成,其disconnect在主應(yīng)用的Close事件中完成,其余任何pbl中均不能有disconnect語句。e.由于要連接多個(gè)數(shù)據(jù)庫,需要用Create創(chuàng)建對象,比如:SQLSYB,則用connect using SQLSYB,處理完畢后用disconnect using SQLSYB,并且用destroy SQLSYB釋放資源。2.編碼標(biāo)準(zhǔn)(1)在代碼塊前后留一個(gè)空行。例子如下:If cond
25、ition1 Then statementblock End If For varname=start To End Step increment statement_block Next(2)把單行注釋與當(dāng)前script程序的縮進(jìn)位置對齊:/This is acomment For condition1 If condition1 Then/This is acomment For condition2 If condition2 Then/This is acomment For action1 action1 End If End If(3)縮進(jìn)應(yīng)以Tab鍵實(shí)現(xiàn),不得采用空格。(4)變量
26、采用小寫格式。注意:變量全部用小寫;一個(gè)變量一行,每個(gè)變量必須注釋;通常情況下,變量的后半部分盡量用數(shù)據(jù)庫字段名;變量聲明全部在腳本之前聲明完畢;所有變量聲明時(shí)按代碼功能段+變量類型進(jìn)行排序。例如:Long ll_quantity String ls_name對象名采用小寫,屬性、關(guān)鍵字、保留字和內(nèi)置函數(shù)均用首字母大寫格式:w_cont_de.Visible=True m_mdi.m_數(shù)據(jù)窗口控制的函數(shù)加上修飾,而不以數(shù)據(jù)窗口對象作為參數(shù):dw_main.SetTransObject(sqlca)dw_main.SetRowFocusIndicator(Hand!)dw_main.Retrie
27、ve()(5)當(dāng)連接起來的字符串超過了兩行的長度時(shí),使用+符作為下行的第一個(gè)字符,每次均采用縮進(jìn)格式。字符串的隨后部分應(yīng)該再次縮進(jìn)。例如:ls_msg=連接數(shù)據(jù)庫失?。″e(cuò)誤信息為:rn&+Sqlca.SqlErrText&+請與系統(tǒng)管理員聯(lián)系(6)PowerBuilder保留字(關(guān)鍵字)首字母大寫其余小寫,這樣看起來層次清晰,如:This,Parent,ParentWindow,True,F(xiàn)alse,Return,Halt與Close。(7)PowerBuilder內(nèi)部函數(shù)及屬性每個(gè)字首字母大寫其余小寫,這樣看起來層次清晰,如:sle_user.Text,dw_1.SetTransObject
28、(Sqlca),Sqlca.SqlErrText。(8)SQL語句按如下格式書寫:SELECT name,sex,dept_id INTO:ls_name,:ls_sex,:ls_dept_id FROM employee WHERE emp_id=:ls_emp_id;(9)程序中應(yīng)避免出現(xiàn)goto跳轉(zhuǎn)語句。3.腳本中一些常用功能模塊的編程約定(1)光標(biāo)操作過程的編程約定如下:Declare Cursorname Cursor for Select語句Open Cursorname;fetch Cursorname into variables Do While Sqlca.Sqlcode=
29、0 statementblock fetch Cursorname into variables Loop Close Cursorname光標(biāo)命名規(guī)則:Cur+_+名稱。(2)調(diào)用數(shù)據(jù)庫存儲(chǔ)過程的編程約定如下:declare Procedurename procedure For StoredProcedureName:Value1,:Value2.;execute Procedurename;fetch Procedurename into variables;close Procedurename;commit;存儲(chǔ)過程命名規(guī)則:Pro+_+名稱。有些系統(tǒng)存儲(chǔ)過程(例如:sp_dropl
30、ogin)不能當(dāng)做一個(gè)事務(wù)提交,為了執(zhí)行它,就必須先置事物對象的AutoCommit屬性為True,當(dāng)存儲(chǔ)過程執(zhí)行完畢后再將事務(wù)對象的AutoCommit屬性置為False。(3)在每一個(gè)SQL語句之后必須判斷SQL語句執(zhí)行成功與否,成功則繼續(xù),不成功則做相應(yīng)處理并給出一條提示信息。If Sqlca.SqlCode 0Then Rollback;MessageBox(錯(cuò)誤信息,操作失??!)Else Commit;MessageBox(提示信息,操作成功!)End If(4)所有操作符(包括等號(hào))前后應(yīng)留一空格,使程序看起來更清晰。例如:ls_msg=ls_title+ls_error(5)僅當(dāng)
31、絕對需要時(shí)才在循環(huán)結(jié)構(gòu)體中使用函數(shù)調(diào)用,也就是說,僅當(dāng)函數(shù)的返回值依賴于循環(huán)迭代的值時(shí)才使用函數(shù)調(diào)用。使用如下方法:Long ll_num_selected ll_num_selected=lb_devctg.TotalSelected()For i=1 To num_selectedNext不使用下述方法:For i=1 To lb_1.TotalSelected()Next 4.PB中的任何一個(gè)窗口都要有注釋說明一般在窗口的Open事件中對窗口的功能進(jìn)行全面的介紹,以便維護(hù)人員可以很清楚地知道窗口的功能和維護(hù)要點(diǎn)。其格式可參見前面的說明。5.表的操作在程序中涉及多個(gè)表的操作時(shí),需嚴(yán)格按照各
32、項(xiàng)目組表操作順序一覽表規(guī)定的順序?qū)Ρ磉M(jìn)行操作,以防發(fā)生鎖表現(xiàn)象。*控件編程規(guī)范*公共部分a.應(yīng)盡量為所有控件使用有意義的名稱,重要控件不允許使用pb_1之類無明確意義的名稱。b.大號(hào)字體:各窗口控件字體為Arial,字號(hào)為12號(hào),字色為黑色。小號(hào)字體:各窗口控件字體為宋體,字號(hào)為9號(hào),字色為黑色。c.顯示控件和輸入控件底色分開,顯示控件為灰色(窗口顏色),輸入控件為白色。d.輸入?yún)^(qū)和顯示區(qū)分別放置。e.按鈕排列緊湊,在窗口右側(cè)縱向排列時(shí)靠上放置;在窗口下方排列時(shí)靠右放置,因?yàn)樽笃沧硬僮髡弋吘故巧贁?shù)。f.各字符類控件對齊方式為左對齊;數(shù)字類控件為右對齊,且必須按所需格式設(shè)置Format屬性;日期
33、控件必須保證能完整顯示所需日期格式,應(yīng)用yyyy-mm-dd風(fēng)格。及有前導(dǎo)0的形式(避免2000年問題),可采用左對齊或中對齊。g.CommandButton控件的推薦高度為104。*控件細(xì)則1.靜態(tài)文本框靜態(tài)文本框命名規(guī)則:st+_+名稱(若為label可不改名)。外觀規(guī)定如下:背景色:buttonface;前景色:黑色;邊框:無;高度:72。建議在其后加上全角冒號(hào)(:)。2.單行編輯框單行編輯框命名規(guī)則:sle+_+名稱。(1)外觀背景色:白色;前景色:黑色;邊框:3D Lowered;高度:72。(2)程序說明a.響應(yīng)事件建議自定義Keydown事件,盡量不要用Modify事件。b.當(dāng)獲
34、得焦點(diǎn)時(shí)控件背景變?yōu)樯钏{(lán)色,字體顏色變?yōu)辄S色,失去焦點(diǎn)時(shí)還原缺省顏色。3.命令按鈕命令按鈕命名規(guī)則:cb+_+名稱(1)外觀高度:對于小號(hào)字體(宋體9號(hào))為92;對于大號(hào)字體(Arial 12號(hào))為108。寬度:對于小號(hào)字體(宋體9號(hào))為325;對于大號(hào)字體(Arial 12號(hào))為402。(2)說明命令按鈕控件不要使用cb_1之類無明確意義的名稱(尤其在窗口中這類控件比較多時(shí),可能令人分不清各個(gè)控件的作用)。4.圖像按鈕盡量不用圖形按鈕,而用命令按鈕。圖像按鈕命名規(guī)則:pb+_+名稱。外觀規(guī)定如下:尺寸:用圖像原始尺寸;圖像:按鈕的有效與無效采用不同的bmp圖像以示區(qū)別。5.復(fù)選框復(fù)選框命名規(guī)
35、則:cbx+_+名稱外觀規(guī)定如下:背景色:buttonface;前景色:黑色;邊框:3D Lowered;高度:92;位置:標(biāo)簽在右。6.單選按鈕單選按鈕命名規(guī)則:rb+_+名稱。(1)外觀背景色:buttonface;前景色:黑色;邊框:3D Lowered;高度:92;位置:標(biāo)簽在右。(2)程序說明單選按鈕最好與組框配合使用。7.組框組框命名規(guī)則:gb+_+名稱。外觀規(guī)定如下:背景色:buttonface;前景色:黑色;邊框:3D Lowered。8.屏蔽編輯框屏蔽編輯框命名規(guī)則:em+_+名稱。(1)外觀背景色:白色;前景色:黑色;邊框:3D Lowered。(2)程序說明a.響應(yīng)事件建
36、議用自定義Keydown事件,盡量不要用Modify事件。b.當(dāng)獲得焦點(diǎn)時(shí)控件背景變?yōu)樯钏{(lán)色,字體顏色變?yōu)辄S色,失去焦點(diǎn)時(shí)還原缺省顏色。9.下拉列表框下拉列表框命名規(guī)則:ddlb+_+名稱。外觀規(guī)定如下:背景色:白色;前景色:黑色;邊框:3D Lowered。10.應(yīng)用應(yīng)用命名規(guī)則:app+_+應(yīng)用名。為應(yīng)用選擇一個(gè)圖標(biāo),以便在運(yùn)行時(shí)標(biāo)識(shí)應(yīng)用。在Open事件中聲明SQLCA全局變量和打開應(yīng)用主窗口。在Closequery事件中編寫退出應(yīng)用之前的處理程序。在SystemError事件中編寫系統(tǒng)出錯(cuò)的處理程序。11.窗口窗口命名規(guī)則:w+_+窗口名。主窗口采用main窗口類型,子窗口一般采用Pop
37、up窗口類型,無控制菜單,無最大化最小化按鈕,不可改變大小。若為一般性提示窗口,用response窗口類型。窗口以buttonface顏色為背景顏色。重要的菜單選項(xiàng)設(shè)置Toolbar功能。窗口上下左右四周應(yīng)至少留出兩個(gè)網(wǎng)格,而不得將對象填滿整個(gè)窗口!12.菜單菜單命名規(guī)則:m+_+菜單名。菜單項(xiàng)MenuItem的名稱以該菜單項(xiàng)在整個(gè)菜單中的物理位置分層次命名。例:若MenuItem位于整個(gè)菜單的第三列第二行,則命名為m_32?;蛭募藛蜗碌年P(guān)閉菜單項(xiàng),則命名為m_。13.數(shù)據(jù)窗口對象數(shù)據(jù)窗口對象命名規(guī)則:d+_+功能含義。打印用數(shù)據(jù)窗口背景色為白色,題目為16號(hào)字,內(nèi)容為11號(hào)字,顯示比例為75%。顯示用數(shù)據(jù)窗口背景色原則上為buttonface,可視窗口制作是否美觀的實(shí)際情況使用白色數(shù)據(jù)窗口各列顯示框高度為72。Tabular和Grid風(fēng)格數(shù)據(jù)窗口,無表頭時(shí)列名文本邊框?yàn)?D Raised。Detail區(qū)為3D Lowered,背景色原則上為白色。Grid風(fēng)格數(shù)據(jù)窗口一般不出現(xiàn)線條。14.數(shù)據(jù)窗口控件數(shù)據(jù)窗口控件命名規(guī)則:dw+_+功能含義。數(shù)據(jù)窗口邊框原則上
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東冬日團(tuán)建活動(dòng)方案
- 巾幗系列活動(dòng)方案
- 屈臣氏公司活動(dòng)策劃方案
- 工地讀書活動(dòng)方案
- 小學(xué)英語小講座活動(dòng)方案
- 工廠迎新活動(dòng)方案
- 師生書寫活動(dòng)方案
- 居然之家過七夕活動(dòng)方案
- 小學(xué)采摘活動(dòng)方案
- 小朋友們輪滑活動(dòng)方案
- 2024年馬鞍山含山縣招聘高中教師筆試真題
- 高中數(shù)學(xué)第九、十章統(tǒng)計(jì)與概率章節(jié)測試卷-2024-2025學(xué)年高一下學(xué)期數(shù)學(xué)人教A版(2019)必修第二冊
- 【真題】五年級(jí)下學(xué)期數(shù)學(xué)期末試卷(含解析)四川省成都市高新技術(shù)產(chǎn)業(yè)開發(fā)區(qū)2023-2024學(xué)年
- 種植質(zhì)量安全管理制度
- 2025至2030中國大型發(fā)電機(jī)行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 中國歌劇舞劇院管理制度
- 2025年?duì)t外精煉工職業(yè)技能理論知識(shí)考試題庫(含答案)
- 外墻真石漆修補(bǔ)方案(3篇)
- 2025至2030中國海洋石油行業(yè)市場發(fā)展分析及競爭格局與投資發(fā)展報(bào)告
- 2025年安徽省中考數(shù)學(xué)試卷真題(含標(biāo)準(zhǔn)答案)
- 2025年福建日報(bào)新聞發(fā)展有限公司招聘題庫帶答案分析
評(píng)論
0/150
提交評(píng)論