Delphi软件编程规范_2.0版.doc_第1页
Delphi软件编程规范_2.0版.doc_第2页
Delphi软件编程规范_2.0版.doc_第3页
Delphi软件编程规范_2.0版.doc_第4页
Delphi软件编程规范_2.0版.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京运通恒远数控技术有限公司编号:YUNTONG-TECH-01版本:2.00YUNTONG-TECH程序设计规范(Delphi)北京运通恒远数控技术有限公司2002年01月25日文档修改状态日期版本修改内容作者审核质保批准2001.10.261初始版本王凯2002.01.252修改程序规范坚检查清单王凯2002.08.0621、修改单位的定义,与Delphi一致。2、把RelTest采用的规范融合进来。江建斌目 录1概述11.1编写目的11.2参考资料12程序文件12.1项目文件的组织12.2常量定义22.3结构类型定义23程序风格33.1函数(Function)/过程(Procedure)风格33.2语句风格33.2.1变量定义语句33.2.2赋值语句33.2.3条件语句33.2.4循环语句43.2.5开关语句43.3注释行44变量名命名规则54.1.1简单变量命名54.1.2结构型变量命名64.1.3复合变量命名64.1.4命名中限制的法则64.1.5其它命名74.2文件及窗体命名74.3控件命名74.3.1Standard 页控件74.3.2Additional 页控件84.3.3Win32 页控件84.3.4System 页控件84.3.5Internet 页控件94.3.6Data Access 页控件94.3.7Data Controls 页控件94.3.8Midas 页控件104.3.9Decision Cube 页控件104.3.10QReport 页控件104.3.11Dialogs 页控件114.3.12Win 3.1 页控件114.3.13Samples 页控件114.3.14ActiveX 页控件124.4常用类的命名125应用程序的界面设计135.1概述135.1.1目的135.1.2目标135.2菜单设计135.2.1菜单类型135.2.2菜单的设计规范145.3窗体/对话框设计155.3.1一般说明155.3.2消息对话框155.3.3窗体166防错误处理207框架和各个工具的接口217.1接口方式217.2接口要求217.2.1概述217.2.2实现217.2.3可预知的限制218版本号格式219检查单2110补充231 概述1.1 编写目的本规范规定了YUNTONG-TECH程序在编写过程中涉及到的程序文件和编码风格。本规范以 Delphi 语言为标准制定,使用其它编程语言的编码风格和规范在相关的文档中规定。1.2 参考资料a. 程序员指南,Microsoft Pressb. Windows界面应用程序设计指南,Microsoft Pressc. Delphi 5 开发人员指南,机械工业出版社d. 程序设计规范VB,聂俊华,北航十四系2 程序文件2.1 项目文件的组织在Delphi中,按照项目为单位来组织程序文件。在一个典型的项目中包括:l 项目文件(.DRP文件)含有工程主程序的Pascal源代码;l 单元文件(.PAS文件)项目中每个窗体的Pascal源文件,包含该窗体的所有声明和过程(包括时间处理过程);l 窗体文件(.DFM文件)含有一个窗体的设计属性的二进制文件,每个窗体的.DFM文件与.PAS文件相互对应;l 资源文件(.RES文件)编译的二进制资源文件,被链接到应用程序的可执行文件中;l 项目选项文件(.DOF文件)存储了Project|Options菜单命令所设置的项目选项;l 桌面设置文件(.DSK文件)存储了Tools|Options菜单命令所设置的桌面选项;l 包文件(.DPK/.BPL文件)用于共享组件、类、数据和代码的文件。源文件为.DPK文件,编译后为.BPL文件;每个软件项目应使用独立的目录,软件项目下的不同类别文件、不同模块分设子目录。以下给出软件项目及软件模块中,设置子目录名称的规范:子目录说明Bin建立产品的工作目录,存放项目中所有可执行文件的当前版本。 Lib与项目有关的库文件。 Man包括项目的所有外部文档。包括手册、帮助文件、其他在线文档、README文件以及其他将和产品一起发放到用户手中的文档。 SQL存放数据库的SQL文件(只针对数据库程序的开发) 。Res包括应用程序的所有共享资源,如ICON(图表)、资源文件、Bitmap等。 Include公用的窗体或Unit。 Control存放项目内用的自编或第三方提供的控件。 Source程序源代码Public可以公用的模块或程序。 本规范在以下的各小节中具体说明Delphi 两种文件类型.PAS和.DFM在程序文件中的相关内容要求。2.2 常量定义内容:l 逻辑值的定义;l 常数值的定义;l 错误码的定义;格式:一个定义占一行。如下:Const : 类型 = 值;/注释说明: 使用 Const 语句来声明用于代替文字值的常数。示例:Const C_SQL:string=select CH_USERER_ID from T_CD_USER; /查询用户ID Const C_PI:real =3.1415926; /圆周率2.3 结构类型定义内容:结构类型定义格式:Type/结构说明注释 :变量类型; /变量说明注释 :变量类型; /变量说明注释End;说明:是以大写字母开头的字符串。结构定义中定义变量类型的语句从第二行第五列开始。示例:type TableList=record /系统树单元类型定义 InID : integer; /单元编号 Name : string; /单元名称 PID : string; /上一级单元名称 PT : PTableList; /指向下一单元类型的指针 end;3 程序风格程序风格规定了每个语句的定位规则及程序中的注释。3.1 函数(Function)/过程(Procedure)风格 Name (变量 :变量类型,); /函数/过程说明Var变量1:变量类型;/变量说明变量2:变量类型;/变量说明Begin语句;语句; End ; 注: 变量声明、语句均从第三列写起,如有缩进,每次缩进两列,并与相对应语句对齐。3.2 语句风格说明:l 在程序体中通常最多每十行有一个段落功能说明;l 规范使用各种语句;l 语句中有缩进是以二列为单位。3.2.1 变量定义语句Var var_name : ;3.2.2 赋值语句var_name: = ;3.2.3 条件语句If 条件 Then /注释Begin语句;EndElseIf 条件 Then/注释Begin语句; . EndElse/注释语句;注:如果执行语句只有一句,可省略Begin、End语句。3.2.4 循环语句l /循环功能注释For counter: = start To end DoBegin语句;End;l /循环功能注释While condition DoBegin语句;End;l /循环功能注释Repeat语句; Until condition3.2.5 开关语句/开关功能说明Case Of :语句1; :语句2; : 语句nEnd;3.3 注释行在程序代码单元文件顶端必须拥有本单元文件“模块说明”及“单元说明”注释。对于常量、结构类型、函数/过程、自定义变量、代码段功能块、关键语句等有含义的代码部分,必须有注释行进行详细说明。注释行可在需说明部分行后以“/XXXXXXXX”方式添加,也可在需说明部分行上以“XXXXXXXXXX”方式添加多行或以“/XXXXXX”方式添加一行。4 变量名命名规则命名包括对程序中文件、变量(包括控件等对象)、常量、过程和函数等程序对象的命名。本公司命名以匈牙利规则为参考,采用“限制 + 类型 + 名称”的命名方式。l 限制是指变量与常量的区分和对作用域的确定,默认为变量和局部对象。对于常量要特别指出,对于非局部变量,要表明其使用范围,如全局或模块级。l 类型以缩写表明该程序对象的类型,如32位有符号整数类型和列表框控件类型。l 名称为对象的具体含义,要准确表达其用途,而不要使用与变量所代表的实体没有任何联系的名字,以英文、英文缩写组合给出;名称的书写采用大小写结合的方式,如CaseCount表示事件计数、DeleteUser表示删除人员等。命名不宜过短,也不宜过长,除去限制和类型外,以815为好。过短的命名往往不能准确描述用意,如nCount命名含义太不明确,可以是雇员的计数,也可以是找到的文件的计数,而命名为nEmployeeCount和nFileCount将更有助于记忆和理解;过长的命名如recLoginUserInformation又显得冗长,改为recLoginUserInfor或recLoginUserInfo则会在不损失含义的情况下减少输入量,换言之,改动后的命名更合适。命名中恰当使用反意词,可以提高可读性,下面是一些常用的容易理解的词对:Add/RemoveBegin/EndCreate/DestroyInsert/DeleteFirst/LastGet/ReleaseGet/SetGet/PutIncrement/DecrementLock/UnlockMin/MaxNext/PreviousNext/PriorOld/NewOpen/CloseShow/HideSource/DestinationSource/TargetStart/StopWrite/Read记住一些常见布尔型变量的命名,对规范化的实施也会有不少帮助,如Done、Error、Found、Success、Ready等命名中的特例之一是单层循环的循环变量,使用i、j、k、l、m命名,简捷明快;当循环为多层时,各层的循环变量应尽可能命以有意义的名称,以避免使用时由于输入而产生的逻辑错误,尤其是在访问多维数组变量时,这种作法可以大大减少因数组下标指定失误引发的程序逻辑失败的机率,如将Cells i, j 误作Cells j, i ,而Cells nRow, nCol 就不易误为Cells nCol, nRow 。以下定义Delphi 中的变量命名规则:4.1.1 简单变量命名类型缩写含义BooleanbBoolean变量ByteBoolbbBoolean Byte变量WordBoolbwBoolean Word变量LongBoolblBoolean Long变量IntegernNumber变量ShortIntntNumber Tiny变量SmallIntnsNumber Short变量LongIntnlNumber Long变量Int64neNumber Extended变量CompneNumber Extended变量ByteuntUnsigned Number Tiny变量WordunsUnsigned Number Short变量LongWordunlUnsigned Number Long变量RealfFloat变量SinglefsFloat Single变量DoublefdFloat Double变量ExtendedfeFloat Extended变量CharcChar变量AnsiCharcaChar Ansi变量WideCharcwChar Wide变量StringsString变量ShortStringssString Short变量AnsiStringsaString Ansi变量WideStringswString Wide变量VariantvVariant变量EnumerateeEnumerate变量PointerpPointer变量4.1.2 结构型变量命名类型缩写含义ArrayaArraySetmMassRecordrRecordClassoObject4.1.3 复合变量命名命名中有些缩写词是基础类型缩写,而另有一些是类型限定词,如u代表Unsigned和a代表Array。整体缩写采用从右至左的分析方式,举例如下:l Boolean数组命名为abXXXXl 单精度附点数数组命名为afsXXXXl 结构数组命名为arXXXXl 枚举数组命名为aeXXXXl 指针数组命名为apXXXXl 字符集合命名为mcXXXXl 32位整数集合数组命名为amnXXXXl 结构指针命名为prXXXXl PChar命名为pszXXXXl PChar数组命名为apszXXXX4.1.4 命名中限制的法则l 全局冠以g_l 模块级冠以m_l 常量以C_开始l 全局常量以gC_开头,模块级常量则mC_4.1.5 其它命名l 类型的命名采用Delphi通用的TXxxxYyyyZzzz形式l 枚举型变量的元素命名为以小写的类型英文名字母缩写开始,如TFontStyle = ( fsBold, fsItalic, . )l 类型常量命名为C_类型缩写_XxxxYyyy形式,无类型常量命名为C_含义或分组名_XxxxYyyy。其中XxxxYyyy要描述常量含义,可以归为一类的常量;有时Xxxx说明分组含义,而Yyyy为常量含义,如C_FontSizeBig = 20, C_FontSizeNormal = 12, C_FontSizeSmall = 8。举例:C_as_FileNames : array 0.2 of string = ( C:AUTOEXEC.BAT, C:CONFIG.SYS, C:IO.SYS )和gC_MaxUsers = 500分别定义了“局部一维字符串数组常量”和“全局常数”。4.2 文件及窗体命名 含义类名命名格式工程文件Program(.DPR)XXXX_P单元Unit(PAS)XXXX_U窗体Form.Name(.DFM)XXXX_F数据模块DataModuleXXXX_DM4.3 控件命名4.3.1 Standard 页控件类名命名格式TMainMenummnuXXXXTPopupMenupmnuXXXXTLabellblXXXXTEditedtXXXXTMemommoXXXXTButtonbtnXXXXTCheckBoxchkXXXXTRadioButtonrdbtXXXXTListBoxlbxXXXXTComboBoxcbxXXXXTScrollBarscbrXXXXTGroupBoxgbxXXXXTRadioGrouprgpXXXXTPanelpnlXXXXTActionListactsXXXX4.3.2 Additional 页控件类名命名格式TBitBtnbtbtXXXXTSpeedButtonspbtXXXXTMaskEditmedtXXXXTStringGridsgrdXXXXTDrawGriddgrdXXXXTImageimgsXXXXTShapeshpXXXXTBevelbvlXXXXTScrollBoxscbxXXXXTCheckListBoxchksXXXXTSplitterspltXXXXTStaticTextstxtXXXXTControlBarctbrXXXXTChartchtXXXX4.3.3 Win32 页控件类名命名格式TTabControltctlXXXXTPageControlpctlXXXXTImageListimgsXXXXTRichEditredtXXXXTTrackBartkbrXXXXTProgressBarpgbrXXXXTUpDownupdnXXXXTHotKeyhtkXXXXTAnimateanmtXXXXTDateTimePickerdtpXXXXTMonthCalendarmcldXXXXTTreeViewtvwXXXXTListViewlvwXXXXTHeaderControlhctlXXXXTStatusBarstbrXXXXTToolBartlbrXXXXTCoolBarclbrXXXXTPageScrollerpsclXXXX4.3.4 System 页控件类名命名格式TTimertmrXXXXTPaintBoxptbxXXXXTMediaPlayermplrXXXXTOLEContainerolectXXXXTDDEClientConvddeccXXXXTDDEClientItemddeciXXXXTDDEServerConvddescXXXXTDDEServerItemddesiXXXX4.3.5 Internet 页控件类名命名格式TClientSocketXxxxClientSocketTServerSocketXxxxServerSocketTWebDispatcherXxxxWebDispatcherTPageProducerXxxxPageProducerTQueryTableProducerXxxxQTProducerTDataSetTableProceducerXxxxDSTProducerTDataSetPageProceducerXxxxDSPProducerTNMDayTimeXxxxNMDayTimeTNMEchoXxxxNMEchoTNMFingerXxxxNMFingerTNMFTPXxxxNMFTPTNMHTTPXxxxNMHTTPTNMMsgXxxxNMMsgTNMMSGServXxxxNMMsgServTNMNNTPXxxxNMNNTPTNMPOP3XxxxNMPOP3TNMUUProcessorXxxxNMUUProcessorTNMSMTPXxxxNMSMTPTNMStrmXxxxNMStrmTNMStrmServXxxxNMStrmServTNMTimeXxxxNMTimeTNMUDPXxxxNMUDPTPowerSockXxxxPowerSockTNMGeneralServerXxxxNMGeneralServerTHTMLXxxxHTMLTNMURLXxxxNMURL4.3.6 Data Access 页控件类名命名格式TDataSourcedsXXXXTTabletblXXXXTQueryqryXXXXTStoredProcsprcXXXXTDatabasedbXXXXTSessionssnXXXXTBatchMovebmvXXXXTUpdateSQLupdtXXXXTNestedTablentblXXXX4.3.7 Data Controls 页控件类名命名格式TDBGriddbgrdXXXXTDBNavegatordbnvXXXXTDBTextdbtxtXXXXTDBEditdbedtXXXXTDBMemodbmmoXXXXTDBImagedbimgXXXXTDBListBoxdblbxXXXXTDBComboBoxdbcbxXXXXTDBCheckBoxdbchkXXXXTDBRadioGroupdbrgpXXXXTDBLookupListBoxdbllbXXXXTDBLookupComboBoxdblcbXXXXTDBRichEditdbredXXXXTDBCtrlGriddbcgdXXXXTDBChartdbchtXXXX4.3.8 Midas 页控件类名命名格式TClientDataSetcltdsXXXXTDCOMConnectiondcmcnXXXXTCorbaConnectioncrbcnXXXXTSocketConnectionsktcnXXXXTOLEnterpriseConnectionolecnXXXXTDataSetProviderdsprdXXXXTProviderprvdrXXXXTSimpleObjectBrokersobkrXXXXTRemoteServerrmtsvXXXXTMidasConnectionmdscnXXXX4.3.9 Decision Cube 页控件类名命名格式TDecisionCubedccbXXXXTDecisionQuerydcqryXXXXTDecisionSourcedcsrXXXXTDecisionPivotdcpvtXXXXTDecisionGriddcgrdXXXXTDecisionGraphdcchtXXXX4.3.10 QReport 页控件类名命名格式TQuickRepqrptXXXXTQRSubDetailqrsdtXXXXTQRStringsBandqrsbdXXXXTQRBandqrbdXXXXTQRChildBandqrcbdXXXXTQRGroupqrgrpXXXXTQRLabelqrlblXXXXTQRDBTextqrdbtXXXXTQRExprqrxprXXXXTQRSysDataqrsysXXXXTQRMemoqrmmoXXXXTQRExprMemoqrxpmXXXXTQRRichEditqrredXXXXTQRDBRichEditqrdbrXXXXTQRShapeqrshpXXXXTQRImageqrimgXXXXTQRDBImageqrdbiXXXXTQRCompositeReportqrcrpXXXXTQRPreviewqrprvXXXXTQRTextFilterqrtflXXXXTQRCSVFilterqrcsvXXXXTQRHTMLFilterqrhtfXXXXTQRChartqrchtXXXX4.3.11 Dialogs 页控件类名命名格式TOpenDialogopdgXXXXTSaveDialogsvdgXXXXTOpenPictureDialogoppdgXXXXTSavePictureDialogsvpdgXXXXTFontDialogftdgXXXXTColorDialogcldgXXXXTPrintDialogprdgXXXXTPrinterSetupDialogpsdgXXXXTFindDialogfndgXXXXTReplaceDialogrpdgXXXX4.3.12 Win 3.1 页控件类名命名格式TDBLookupListdbllsXXXXTDBLookupCombodblcbXXXXTTabSettbstXXXXTOutLineotlnXXXXTTabbedNoteBooktnbkXXXXTNoteBookntbkXXXXTHeaderhdrXXXXTFileListBoxflbxXXXXTDirectoryListBoxdlbxXXXXTDriveComboBoxdcbxXXXXTFilterComboBoxfcbxXXXX4.3.13 Samples 页控件类名命名格式TGaugeggeXXXXTColorGridclgrdXXXXTSpinButtonspnbtXXXXTSpinEditspedtXXXXTDirectoryOutlinedirolXXXXTCalendarcldrXXXXTIBEventAlerteribaltXXXX4.3.14 ActiveX 页控件类名命名格式TChartFXchtfxXXXXTVSSpellvssplXXXXTF1Bookbkf1XXXXTVtChartvtchtXXXXTGraphgrphXXXX注:1.可只对进行编码的控件命名,如果某控件只用做显示,如TLabel,则可采用Delphi自动生成的名字Lable1;2.若使用第三方控件或自定义类型控件,命名规则应以以上规则为参考。4.4 常用类的命名类名命名格式TObjectobjXXXXTPersistentpsstXXXXTComponentcmptXXXXTControlctrlXXXXTWinControlwctlXXXXTFormfrmXXXXTListlistXXXXTStringListslstXXXXTmenuItemmiXXXXTlistItemliXXXXTtreeNodestndsXXXXTtreeNodetndXXXX变量范围前缀随着工程大小的增长,划分变量范围的工作也迅速增加。在类型前缀的前面放置单字母范围前缀标明了这种增长,但变量名的长度并没有增加很多。变量范围前缀范围前缀例子全局ggstrUserName模块级gmgmblnCProgress本地到过程无dblVelocity5 应用程序的界面设计5.1 概述5.1.1 目的在本界面设计的规范中,目的是提高Windows应用程序之间及应用程序内部在视觉、功能上的一致性。这种一致性可以加快开发和学习的过程,提高生产率;减轻由于应用程序的界面不同而引起的混乱;给用户一种稳定感。5.1.2 目标在本规范中主要是为设计人员和开发人员提供尽可能的界面设计指南,不可能为所有的界面提供建议。设计人员和开发人员可以加以扩充,但是,应该尽量保持Windows程序的一致性。5.2 菜单设计5.2.1 菜单类型菜单的类型分为:l 下拉式菜单;(见图1)l 弹出式菜单;(见图2)l 级联菜单。(见图3)图 1 下拉式菜单图 2 弹出式菜单图 3 级联菜单5.2.2 菜单的设计规范l 下拉式菜单a. 在下拉式的菜单中,应该具备菜单标题和菜单项。菜单标题在菜单栏上。b. 菜单的标题。菜单的标题不能包含数字或空格,菜单的标题应由中文标题和一个通过键盘直接访问菜单的带下划线的助记符组成。助记符的选择原则为(以下按优先级排序):菜单名称的英文单词的第一个字母,标题中的一个有特色的辅音字母,标题中的一个元音字母。菜单的标题不允许用相同的助记符;c. 菜单项的名称。菜单项的名称应该唯一,菜单项的名称后应该由一个助记符,助记符的选择原则同上;d. 菜单项的分组。如果菜单项可以按逻辑分组,各组之间应该有一条线分开;e. 菜单项的快捷键。菜单中的快捷键应该在菜单项的后面;f. 如果菜单命令显示一个对话框,在菜单的标题中需要有如下的标题提示()。如(打开(F);l 弹出式菜单a. 在弹出式菜单中,设计原则和下拉式菜单中的原则相同,不同的是在菜单项中不能包含快捷键。l 级联式菜单a. 在级联式菜单中,设计原则和下拉式菜单中的原则相同,不同的是在菜单的级联的菜单层数不能超过三层。5.3 窗体/对话框设计5.3.1 一般说明在本规范中主要对应用程序的窗体/对话框界面进行说明。并且主要是说明在窗体中控件的排列规范5.3.2 消息对话框用来显示错误消息和其他重要信息的模式对话框叫消息对话框。在对话款中包含标题栏,用来表示消息的来源。在消息对话框中还包含一个只是正在被显示的消息种类的图形符号,消息的三种类型是:(提示:信息框统一采用MessageBox)。l 信息消息;l 警告消息;l 极重要消息。图 4 信息消息框图 5 警告消息框图 6 极重要消息5.3.3 窗体在窗体的设计中,本规范主要说明按钮在窗体中的放置位置。l 窗体中的颜色设置为标准的Windows颜色,以灰色为主。窗体中文字颜色为黑色;l 窗体中的字体为宋体,字号为5号;l 窗体的大小应为60的倍数;l 窗体中的标题栏中不能含有图标,文字对齐方式为左对齐,窗体中要包含关闭按钮。如果需要设置显示为(?)的帮助按钮;l 窗体中主要控制要包含快捷键;l 窗体的位置。窗体通常水平和垂直地置于应用程序窗口的中央。如果一个应用程序找到一个更适合对话框的位置,也可以放在别处。l 如果按钮命令显示一个对话框,在标题中需要有如下的提示()。如(显示图例)l 按钮的大小。按钮的高为“27”,宽为“90”(在将按钮和对话框的网格对齐时,网格的间隔设为10-15)。当按钮的标题超过两个汉字时,可以适当增加按钮的宽。如果需要,可以增加按钮的高,当改变按钮的形状,风格时,应该经过项目组的统一;l 推荐的按钮。每个对话框都至少包含一个关闭对话框的按钮。只要求用户确认(而不用选择)的消息对话框只包含一个标以“确认”的按钮。其他所有对话框都至少包含两个按钮:一个关闭对话框并启动一个动作;另一个关闭对话框但并不启动任何动作。启动动作的按钮通常标以“确认”。关闭对话框但不启动任何动作的按钮通常标以“取消”。某些对话框(称为多动作对话框)另外包括一些允许用户启动某些动作但不管比对话框的按钮。在这些对话款中,如果由这些附加按钮执行的动作无可挽回的修改用户的数据,则第一个动作已完成,“取消”按钮的标签就应该改为“关闭”。不管这个按钮标以“取消”还是“关闭”,用户都可以通过“ESC”键表示按下这个按钮。(确认和取消按钮没有助记符)如果标签是“关闭”,应该由一个字母“C”下画下划线作为助记符。l 默认的按钮。对话框中的一个命令按钮可以指定为默认按钮,他在用户按ENTER键时按下。默认按钮以一个粗边框却别其他按钮。l 按钮的动态标签。个别的按钮的标签可以根据两种方式改变当前用户的可用性能:a) 如果按钮代表的动作当前不可用,其标签应当变暗;b) 如果按钮代表的动作的性质根据环境产生改变,其标签可以更改以反映这个改变;l 按钮的排放。只要可能,按钮都以下述两种排放方式中的一种放置:a) 从右上角起沿窗体的右边界排放。(见图7、图8和图9)在这种方式下,按钮通常是等宽的。根据命令按钮是否启动一个动作将他们编组。如果存在一个确认按钮,按钮和取消按钮要编在一个组里,和其他动作按钮分开。(见图8)如果不存在“确认”按钮, “取消”按钮可以和其他动作按钮编在一起。在一按钮的底部和同组中下一个按钮的顶部之间相隔“10”。组与组之间的间隔为“缇”。在对话框的边界和按钮的边界(指第一个按钮的顶部,最后一个按钮的底部,以及所有按钮的右边界)之间间隔为“20”。图 7 无Help的竖式按钮布局图 8 带确认,取消和帮助的竖式按钮和布局图 9 不带确认的竖式按钮布局b) 沿窗体底部排成行。(见图10、图11和图12)根据命令按钮是否启动一个动作将他们编组。如果存在一个确认按钮,按钮和取消按钮要编在一个组里,和其他动作按钮分开。如果不存在“确认”按钮, “取消”按钮可以和其他动作按钮编在一起。在一按钮的右边界和同组中下一个按钮的左边界之间相隔“10”。组与组之间的间隔为“20”。在窗体的边界和按钮的边界(指第一个按钮的左边界,最后一个按钮的右边界,以及所有按钮的底部)之间间隔为“20”。正常情况下按钮应该是等框,当个别按钮可以宽一点以容纳过长文字。图 10 带确认,取消和帮助的横式按钮布局图 11 不带帮助的横式按钮布局图 12 带长按钮的横式布局l 按钮排放的另外规则:a) 最重要的按钮-典型的,是默认按钮-应该放在顶部(如果用排放方式A)或者在左边,后跟其他的可启动动作的按钮,在接HELP按钮。b) Help按钮放在其他按钮之后,是它位于对话框的右下部附近。c) 如果单是一种方位没有足够的空间容纳下所有的按钮,可以用排放方式A排放最重要的命令按钮,而用排放方式B排放其他所有的命令按钮。图中表示了按钮之间的间隔大小。图中的矩形代表窗体中的按钮。宽度90 间距10高度27 间距10或15l 窗体中Text设置;Text框的高度=ComboBox的缺省高度一致Text框之间的间隔=15l 窗体中CheckBox设置;CheckBox的高度= ComboBox的缺省高度一致CheckBox之间的间隔=15l 窗体中Option设置;Option的高度= ComboBox的缺省高度一致Option之间的间隔=15l 窗体中Label设置;Label的高度= ComboBox的缺省高度一致Label之间的间隔=15l 窗体中TabPage设置;如果采用Ms的SSTab控件或者类似的Tab控件,则必须将该控件设置为属性页的显示方式。l 窗体中的控制和窗体、控制和控制之间的位置关系a) 窗体中的控制(已经作了规定的除外)与窗体对齐边缘的距离为“15”。图 13 窗体中的控制b) 如果一个控制最为另一个控制的容器,着这个控制与另一个控制边缘对齐的距离为“15”。如下图图 14 控制容器中的控制6 防错误处理在涉及一些系统性的操作时,必须使用防错误的语句。这些操作包括:数据库连接和数据库访问、网络访问、文件存取、对象句柄的使用(如使用窗口对象的句柄等)、指针使用等。防错误的语句包括以下几种情况:l 一般合法性判断:使用assert;l 异常处理:使用开发工具或语言提供的错误处理语句(如Delphi中try except end或try finally end语句块等);7 框架和各个工具的接口7.1 接口方式运通公司软件产品采用Microsoft的CO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论