当前位置:文档之家› 编码规范VB

编码规范VB

编码规范VB
编码规范VB

密级:内部公开

文档编号:NTT_CMMI_SD_BCGFVB

版本号:V1.0

编码规范VB

惠州市新思为电子科技有限公司

--------------------------------------------------------------------- 惠州市新思为电子科技有限公司对本文件资料享受著作权及其它专属权利,未经书面许可,不得将该等文件资料(其全部或任何部分)披露予任何第三

方,或进行修改后使用。

文件更改摘要:

目录

一、一般代码规则 (4)

二、常量变量的命名规则: (4)

2.1 变量范围前缀 (4)

2.2常量 (4)

2.3变量数据类型 (5)

2.4描述变量和过程名 (5)

2.5用户定义的类型 (6)

三、VB中控件的命名: (6)

3.1推荐使用的控件前缀 (6)

3.2推荐使用的数据访问对象 (ADO) 的前缀 (9)

3.3推荐使用的菜单前缀 (10)

3.4为其它控件选择前缀 (10)

四、代码规范 (10)

五、文件名 (13)

六、模块化 (13)

七、用户界面(GUI)设计规范 (13)

1.用户界面(GUI)设计的一般原则 (13)

2. GUI设计参考 (15)

一、一般代码规则

●可读性原则,这是评价程序质量的首选指标,宁可不要一些技巧也要保证程序的易读特

性,不要因过分追求技巧而牺牲程序的可读性。

●功能独立性原则。每一程序块只完成一个独立的功能,反过来,每一独立的功能只在一

程序块内完成,尽量低耦合、高内聚。

●少用及慎用全局变量原则,除非为了大幅度简化参数接口或增加程序可读性.。如果使用

了全局变量,则全局变量必须能够反映全局意义且在引用处必须注释清除,局部变量避免与全局变量重名,不要显式返回全局变量(如return),全局变量最好不作为函数或过程的输入/输出参数,若确实有必要,应尽量将全局变量封装到结构或类中,减少其独立出现次数。

二、常量变量的命名规则:

原则上一定要申请变量,即在模块头加入:Option Explicit

变量的命名应遵从变量名=作用域+变量类型+变量含义

2.1 变量范围前缀

随着工程大小的增长,划分变量范围的工作也迅速增加。在类型前缀的前面放置单字母范围前缀标明了这种增长,但变量名的长度并没有增加很多。

如果一个变量在标准模块或窗体模块中被声明为 Public,那么该变量具有全局范围。如果一个变量在标准模块或窗体模块中被分别声明为 Private,那么该变量有模块级范围

2.2常量

常量名的主体是大小写混合的,每个单词的首字母大写。尽管标准 Visual Basic 常量不包含数据类型和范围信息,但是象 i、s、g 和 m 这样的前缀对于理解一个常量的值和范围还是很有用的。对于常量名,应遵循与变量相同的规则。例如:

mintUserListMax '对用户列表的最大限制

'(整数值,本地到模块)

gstrNewLine '新行字符

'(字符串,应用程序全局使用)

2.3变量数据类型

用下列前缀来指明一个变量的数据类型。

2.4描述变量和过程名

变量或过程名的主体应该使用大小写混合形式,并且应该足够长以描述它的作用。而且,函数名应该以一个动词起首,如 InitNameArray 或 CloseDialog。

对于频繁使用的或长的项,推荐使用标准缩略语以使名称的长度合理化。一般来说,超过 32 个字符的变量名在 VGA 显示器上读起来就困难了。

当使用缩略语时,要确保它们在整个应用程序中的一致性。在一个工程中,如果一会儿使用 Cnt,一会儿使用 Count,将导致不必要的混淆。

变量含义:

接近变量含义的英文单词,如Meter 表示表底,Bill表示清单。若用个单词表示各个单词应用大写字母打头,如MeterValue 表示表底值。

根据以上命名规则,我们对变量mstrCallingNo应知道该变量是一个类的数据成员,该成员是零结尾的字符串,存储的是主叫号码。这样我们就能望文生义,知道该变量的作用域、类型和含义,便于以后的维护和实际的编程。

2.5用户定义的类型

在一项有许多用户定义类型的大工程中,常常有必要给每种类型一个它自己的三个字符的前缀。如果这些前缀是以 "u" 开始的,那么当用一个用户定义类型来工作时,快速识别这些类型是很容易的。例如,ucli 可以被用来作为一个用户定义的客户类型变量的前缀。

注:

对于非通用的变量,请在定义时加以注释说明,变量定义尽可能放在最开始处。三、VB中控件的命名:

应该用一致的前缀来命名对象,使人们容易识别对象的类型。下面列出了 Visual Basic 支持的一些推荐使用的对象约定。

3.1推荐使用的控件前缀

3.2推荐使用的数据访问对象 (ADO) 的前缀用下列前缀来指示数据访问对象。

3.3推荐使用的菜单前缀

应用程序频繁使用许多菜单控件,对于这些控件具备一组唯一的命名约定很实用。除了最前面 "mnu" 标记以外,菜单控件的前缀应该被扩展:对每一级嵌套增加一个附加前缀,将最终的菜单的标题放在名称字符串的最后。下表列出了一些例子。

当使用这种命名约定时,一个特定的菜单组的所有成员一个接一个地列在 Visual Basic 的“属性”窗口中。而且,菜单控件的名字清楚地表示出它们所属的菜单项。

3.4为其它控件选择前缀

对于上面没有列出的控件,应该用唯一的由两个或三个字符组成的前缀使它们标准化,以保持一致性。只有当需要澄清时,才使用多于三个字符的前缀。

例如,对于派生的或修改的控件象上述那样扩展其前缀,使得在真正使用了哪一个控件的问题上避免混淆。对于第三方控件,应该把制造商的小写缩写名附加到前缀中。例如,从Visual Basic Professional 3D 框架中创建的一个控件实例可以用 fra3d 这样的前缀,以避免混淆所使用的控件

四、代码规范

1.在具体编程时两个不同功能的程序段之间应用一空行隔开以示区别,并且在该功能段前加上该功能段的功能说明,在重要的语句前也要加上说明,提高程序的可读性和可维护性。。2.在编制函数时要在该函数前加上该函数的说明,包括函数名称、功能描述、参数说明、返回值说明、修改日志,如下示例:

在函数开头,用如下格式注释:

‘***************************************************

‘函数名:Function DelStringFrom() string

‘功能说明:

‘从一个String删除另一个String。

‘输入参数:strByDelete,strToDelete

‘ strByDelete: 被删除的字符串(原来的字符串)

‘ strToDelete: 要从上个字符串中删除的字符串。

‘返回:找到并删除返回0,否则返回-1.

‘修改日志:

‘日期修改原因修改人

‘--------------------------------------------------

‘ 01/09/20 新建

‘*************************************************

注:

?功能说明描述的是该过程完成什么的简要说明,不必要说明是怎么完成。

?每一个重要变量的声明应该包括一个嵌入注释,来描述该变量的使用。

?变量、控件及过程的命名应该足够清楚,使得只有复杂的执行细节才需要嵌入注释。

?.Bas 模块包含工程的 Visual Basic 一般常量声明,在其起始处,应该包括描述应用程序的综述,列举主要数据对象、过程、算法、对话、数据库及系统需求。有时,一段描述算法的伪码可能会有所帮助。

3.Sub and Function 通常的命名格式:

SUB formattedroutinename; //命名易读性差

SUB ReadableRoutineName; //命名易读性好

方法名/过程名通常使用动宾短语代表一定操作,建议使用英文。

例如,procedure FormatHardDrive;

如果方法/过程无参数,通常使用set 作方法名前缀。

例如,procedure SetUserName;

得到一个值的方法/过程,通常使用get 作方法名前缀

例如,function GetUserName: string;

4.不同类型的函数或过程应归类存放

5.模块文件\类文件\控件文件的文件头注释

在文件开头注释以下内容:

’**********************************************

’Project: 文件所在的项目名,如:eForum

’By: 作者、修改者、...,如:xiaobo、qyz.........

’Discription: 说明文件的功能。

’**********************************************

6.严格采用梯形层次对应好各层次,间隔为一个TAB(四个空格),增强程序的可读性

7.函数内各功能模块,如:循环、流程的各分支等,尽可能多的加以注释。

8.注意错误处理

编程中要考虑函数的各种执行情况,尽可能处理所有流程情况。

将函数分两类:

一类为与屏幕的显示无关,

二类为与屏幕的显示有关。

对于与屏幕显示无关的函数,函数通过返回值来报告错误。

对于与屏幕显示有关的函数,函数要负责向用户发出警告,并进行错误处理。

错误处理代码一般放在函数末尾,如下:

........

On Error Goto errHandle

.......

Exit Sub

errHandle:

Select Case Err

Case 1:

....

Case 2:

....

Case Else:

....

End Select

End Sub

对于通用的错误处理,可建立通用的错误处理函数,处理常见的通用的错误。

五、文件名

●窗体文件名加前缀"Frm"

●模块文件名加前缀“Mdl”

●类模块文件名加前缀"Cls"

●用户控件文件名加前缀"uCtl"

●资源文件名加前缀"Res"

六、模块化

某一功能,如果重复实现三遍以上,即应考虑模块化,将它写成通用函数。并向小组成员发布。同时已要尽可能利用其它人的现成模块。模块化的一些注意事项:

1.设计好模块接口,用面向对象的观点看,包括:函数接口和变量接口。

2.定义好接口以后不要轻易改动,并在模块开头(文件的开头或函数的开头)加以说

明。

3.不要在外部使用接口以外的其它函数或变量。

4.注意全局变量也是一种接口。

5.接口即是罗列出一个模块的所有的与外部打交道的变量、函数等。

七、用户界面(GUI)设计规范

1.用户界面(GUI)设计的一般原则

1.1 连贯一致性原则

●一个好的用户界面,在画面上的布置及功能设置上应保持连贯。不同项目的相同功能应

该分别有相同的工作方式,以使用户不会与一个给定的对象交互时发生混乱。

●对于标准菜单和控制,应该努力使之在整个程序中保持外观和位置的一致。这很重要,

例如,有多处出现‘确定’和‘取消’按钮,则应该使之在相同的位置上出现,用户就容易找到它们;又如,所有的菜单中都包含‘文件’和‘编辑’两项,用户就知道在‘文件’菜单中有‘退出’命令而‘剪切’和‘粘贴’命令应该在‘编辑’菜单中。

●执行同一类型的功能和交互的用户界面,应保持一致。例如,每个模块都有一个‘登录’

窗口,则该‘登录’窗口应该是一样的;又如,程序中的日期输入编辑框的日期输入格式应保持一致,而不要用户去猜测WINDOWS的日期格式是什么;再有,如果一个屏幕上按‘ALT+O’可以激活‘确定’按钮,那么就应该保证在所有的屏幕上使用这一组合键激活‘确定’按钮。

●对于图标的使用,应该标准化,与操作系统用的一样,如:‘保存’图标为:

,而打印图标为:等

在一个应用程序中,所有这些都应该是连贯一致的。

1.2 提示性原则

程序正在处理一个计算过程,需要很长的时间,却又不向用户提供任何线索让他知道正在做什么,那将使用户感到极大的烦恼。让用户有效地理解应用程序正在做什么是十分重要的。

当程序发生错误或完成一个重要功能时,应给予信息提示。例如,用户按下‘删除’按钮后,应给出消息框以确认是否真的要删除;执行一个功能需要一定的等待时,建议显示一状态表示,如对一般的任务(3-15秒)时间完成的用沙漏光标,如果需要更长的时间的,最好显示一个进度表等。

1.3 简洁性原则

应该使屏幕上没有任何一个多余的构件或控件。屏幕设置的形式取决于屏幕将要充当的角色。对于太多的一种构件或控件应将之分组或分成子类。每个构件或控件之间应该用一种连贯的方式,安排得尽量紧凑,合理,简洁明了。

1.4 合理性原则

给定什么任务使用什么构件或控件,切记不要使用一种构件或控件来适应所有的情况。例如,MDI(多文档界面)适用于用户打开多个自含窗口,且第一个窗口与不同的文档相连,如字处理软件或电子表格、报表程序等,而不适用于做C/S应用程序等(建议:但对MDI 管理模式进行相应的约束,使其在使用过程中能提供SDI的管理模式在业务窗口上的易管理性,可在C/S结构应用系统尝试使用)。

1.5 习惯性原则

界面设计应该使大多数的操作顺序为从左到右,从上到下的通用方向流。注意设置控件操作的TAB次序。

1.6 易用性原则

易用性是程序设计的关键所在。易用性是通过设计流来反映。例如,对于使用率高的功能应以简单的热键就可以激活功能。如果操作要求使用键盘,就应使所有的操作都能从键盘上获得。一个普通的操作要求在鼠标和键盘之间来回切换是多余且不应该的。

屏幕布局应与过程流相一致。屏幕应设计成使任何处理过程从开始到结束的流程都按用户的要求进行。如图:‘客户姓名’和‘电话号码’必须录入,而‘地址’是可选的,则重要的域要放在前面(图中Form2)。

2. GUI设计参考

2.1屏幕字体使用参考

屏幕上出现的所有文本都以操作系统的标准缺省字体及字号为准。如在中文Windows95、98中系统的标准缺省字体为宋体字,字号为小五号(9号),颜色为黑色。

2.2 快捷键使用参考

通用及常用命令快捷键,继承操作系统标准。如下表:

注:上表仅供参考。

另:在所有界面编辑框输入中,注意尽量都要支持键盘方式快捷地取得编辑框的输入焦点。 2,3 按钮使用参考

● 按钮的大小参考

在同一个界面中应尽量使所有的按钮大小一致。普通按钮大小一般情况下缺省大小为Height := 25;Width := 75,快捷按钮缺省大小为25*25(95)、39*37(98)。 ● 按钮的排列参考

相同的按钮在不同的界面中应尽量使其位置相同。按钮排列的优先顺序为:

1、确定、取消、退出、帮助

2、忽略、重试、取消、退出、帮助

3、确定、删除、取消、退出、帮助

4、是、否、帮助

按钮的排列位置参考如上图,(针对对话框、和弹出式窗口)

● 按钮上的图标及文本

◆ 在同一组按钮中应使用同一类型的按钮。 ◆ 图标应该能尽可能地反映按钮的动作。 ◆ 为保持界面的一致性,界面上如有一个图标按钮,则应使所有按钮都使用图标按钮。

不可混排(图标按钮都放在同一个ToolBar 上的除外)。

◆ 如果图标不能形象地反映按钮的动作,则应放弃使用图标而代以文本。 ◆ 图标按钮都应该具有Hint 提示(Tooltip 提示)。 ◆ 按钮上的热键应加上括号。

◆既有图标又有文本的按钮,图标在左文本在右。

2.4 消息使用参考

文本消息,特别是消息框和警告对话框,必需适当地前后一致地反馈给用户。消息的使用以下几点是值得注意的:

◆避免使用专用的技术术语,使用礼貌用语;

◆消息语句要精练、简单扼要,但必需达意,限制2-3行;

◆避免在语气上有责备用户的语句;

◆避免使用缩写;

◆多行消息左对齐排列;

◆千万注意,消息中决不可有错别字或语法错误。

VBProject代码操作代码之常用语句

一、增加模块 1.增加一个模块,命名为“我的模块” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).Name = "我的模块" 系统常量vbext_ct_StdModule=1 2.增加一个类模块,命名为“我的类” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_ClassModule).Name = "我的类" vbext_ct_ClassModule=2 3.增加一个窗体,命名为“我的窗体” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm).Name = "我的窗体" vbext_ct_MSForm=3 二、删除模块 1.删除“模块1” ThisWorkbook.VBProject.VBComponents.Remove hisWorkbook.VBProject.VBComponents("模块1") 2.删除窗体“UserForm1” ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("UserForm1") 3.删除类模块“类1” ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("类1") 4.删除所有的窗体 Sub RmvForms() Dim vbCmp As VBComponent For Each vbCmp In ThisWorkbook.VBProject.VBComponents If vbCmp.Type = vbext_ct_MSForm Then ThisWorkbook.VBProject.VBComponents.Remove vbCmp Next vbCmp End Sub 相关: 工作表和ThisWorkbook的模块类型为vbext_ct_Document=100 三、增加代码 1.在“模块1”中插入代码 如果需要在“Sheet1”、“Thisworkbook”、或“Userform1”中操作,用只需将下面的“模块1”换成相应的名称即可。 方法1: 在模块的开始增加代码,增加的代码放在公共声明option,全局变量等后面。 Sub AddCode1() ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.AddFromString _ "sub aTest()" & Chr(10) & _ "msgbox ""Hello""" & Chr(10) & _ "end sub" End Sub

vb代码大全

用VB5实现窗口图象缩放、滚动技巧 成都理工学院计算机工程系 洪志全 ---- Visual Basic 是Windows 平台中最常用的应用软件开发语言, 窗口图像缩放、滚动是图像处理、多媒体数据库等应用软件开发中的基本功能。本文将介绍如何用VB 5.0 实现地窗口图像缩放和滚动技巧, 供读者在各种语言系统开发中参考。 ---- 一、获取图像 ---- 本文所介绍的图像缩放并没有对真正的图像进行缩放, 而是复制一幅窗口图像的真实画面, 对这个窗口图像附本进行局部缩放和滚动, 获取窗口图像可使用Windows 的API 函数来实现。具体来说, 实现窗口图像缩放、滚动需要用GetDeskTopWindow() 函数获取桌面窗口句柄, 再通过GetDC() 函数转换为描述表句柄, 则用BitBlt() 函数把桌面图像复制到任意图形容器控件中, 桌面图像复制完成后, 再用ReleaseDC 释放窗口描述表, 各API 函数的具体使用方法参见本文的例子程序。 ---- 本文所用的API 函数包含在WIN95/98 的GDI32.DLL 和USER32.DLL 动态链接库中, 在使用时可通过VB5.0 的TEXT VIEWER 复制到所开发的应用程序中。 ---- 二、图像缩放 ---- 图像缩放显示的基本原理就是把原图像的一部分缩放后再送入窗口的图形容器控件中, 在VB 中可用内部命令PaintPicture 来进行, 语法格式为: PaintPicture Pic,DestX,DestY,DestWidth, DestHeight,ScrX,ScrY,ScrWidth,ScrHeight ---- 其中,Pic 为图片对象, 如图形控件对象等; DestX,DestY为目标图像起始坐标; DestWidth,DestHeight为目标图像幅面尺寸; ScrX,ScrY为源图像起始坐标; ScrWidth,ScrHeight为源图像剪裁尺寸。 ---- 该命令就是把一个源图像资源任意复制到指定的区域, 其功能相当于API 函数的BitBlt, 但使用更简单, 若复制时改变源图像的ScrWidth,ScrHeight 或目标图像的DestWidth,DestHeight 可使复制后的图像尺寸发生变化, 实现窗口图像的缩放显示。若ScrWidth,ScrHeight 或

(完整版)vb小游戏代码

数字排序小游戏 Option Explicit Dim Label2X As Integer '记录标签控件数组中要移动的标签控件左上角X的位置 Dim Label2Y As Integer '记录标签控件数组中要移动的标签控件左上角Y的位置 '让标签数组中的每个标签控件上显示的数字是随机的,无重复的 Private Sub Init() Randomize Dim a(7) As Integer Dim i As Integer, k As Integer Label1.Caption = "" For i = 0 To 7 a(i) = i Next For i = 0 To 7 k = Int(Rnd * 8) Do While a(k) = -1 'a(k)=-1表示该数组元素对应的数字已经被使用过了k = Int(Rnd * 8) '重新生成k的值,直到a(k)的值不等于-1 Loop Label2(i).Caption = Trim(Str(a(k))) a(k) = -1 'a(k)的值已经使用了,不能再用,重新赋值为-1与其他的元素值相区别

Next i End Sub Private Sub Command1_Click() Dim x As Integer, y As Integer Dim z As Integer Init Picture1.Enabled = True '让空白标签Label1出现的位置随机 Randomize '记录下空白标签Label1的位置 x = Label1.Left y = Label1.Top z = Int(Rnd * 8) '将空白标签Label1和标签控件数组任一控件交换位置 Label1.Move Label2(z).Left, Label2(z).Top Label2(z).Move x, y Command1.Enabled = False End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() Dim i As Integer Picture1.Enabled = False '在标签中显示游戏说明信息 Label3.Caption = "如左图所示,将数字按0-7顺" & vbCrLf & vbCrLf & "序依次排列,即取得胜利。" '在标签中显示排列规则后的数字顺序 Label1.Caption = 0 For i = 0 To 6 Label2(i).Caption = i + 1 Next End Sub

VB函数大全_基本函数大全

VB函数大全_基本函数大全 Abs 函数返回数的绝对值。 And 运算符执行两个表达式的逻辑连接。 Array 函数返回含一数组的变体。 Asc 函数返回字符串首字母的ANSI 字符代码。 赋值运算符(=) 给变量或属性赋值。 Atn 函数返回数的反正切值。 调用语句将控制移交Sub 或Function 过程。 CBool 函数返回已被转换为Boolean 子类型的变体的表达式。 CByte 函数返回已被转换为字节子类型的变体的表达式。 CCur 函数返回已被转换为货币子类型的变体的表达式。 CDate 函数返回已被转换为日期子类型的变体的表达式。 CDbl 函数返回已被转换为双精度子类型的变体的表达式。 Chr 函数返回指定ANSI 字符码的字符。 CInt 函数返回已被转换为整数子类型的变体的表达式。 Class 对象提供对已创建的类的事件的访问。 Class 语句声明类名 Clear 方法清除Err 对象的所有属性设置。 CLng 函数返回已被转换为Long 子类型的变体的表达式。 颜色常数颜色常数列表。 比较常数用于比较运算的常数列表。 连接运算符(&) 强制两个表达式的字符串连接。 Const 语句声明用于字母值的常数。 Cos 函数返回角度的余弦值。 CreateObject 函数创建并返回对“自动”对象的引用。 CSng 函数返回已被转换为单精度子类型的变体的表达式。 CStr 函数返回已被转换为字符串子类型的变体的表达式。 日期和时间常数在日期和时间运算中用来定义星期几和其他常数的常数列表。日期格式常数用于日期和时间格式的常数列表。 Date 函数返回当前系统日期。 DateAdd 函数返回加上了指定的时间间隔的日期。 DateDiff 函数返回两个日期之间的间隔。 DatePart 函数返回给定日期的指定部分。 DateSerial 函数返回指定年月日的日期子类型的变体。 DateValue 函数返回日期子类型的变体。 Day 函数返回日期,取值范围为1 至31。 Description 属性返回或者设置说明某个错误的字符串。 Dictionary 对象存储数据键、项目对的对象。 Dim 语句声明变量并分配存储空间。 除法运算符(/) 两数相除并以浮点数格式返回商。 Do...Loop 语句当条件为True 或者当条件变为True 时,重复一语句块。Empty 表示尚未初始化的变量值。 Eqv 运算符使两个表达式相等。 Erase 语句重新初始化固定数组的元素并重新分配动态数组的存储空间。 Err 对象含有关于运行时错误的信息。 Eval 函数计算并返回表达式的值。 Execute 方法根据指定的字符串,执行正则表达式的搜索。 Execute 语句执行单个或更多的指定语句。 Exit 语句退出Do...Loop、For...Next、Function 或Sub 代码块。 Exp 函数返回e (自然对数的底)的多少次方。 自乘运算符(^) 指数函数,幂为自变量。 False 关键字,其值为零。

vb常用程序代码

1、求半径为r的圆的面积,要求用户从键盘输入半r。 程序代码: Private Sub Form_click() Const PI = 3.14 Dim r% Dim s! r = InputBox("请输入半径r的值:", "求圆的面积") s = PI * r * r Form1.FontSize = 16 Print "半径是" + Str(r) + "的圆的面积是" + Str(s) End Sub 2、输入三个整数,从小到大顺序输出。 程序代码: Private Sub Form_click() a = InputBox("a") b = InputBox("b") c = InputBox("c") Print "排序前:"; a, b, c If a > b Then t = a: a = b: b = t If a > c Then t = a: a = c: c = t If b > c Then t = b: b = c: c = t Print "排序后:"; a, b, c End Sub 3、输入三个整数,从大到小顺序输出。 程序代码: Private Sub Form_click() a = InputBox("a") b = InputBox("b") c = InputBox("c") Print "排序前:"; a, b, c If a

VB内置函数详细解释大全

VB内置函数大全 Abs(number) 返回参数的绝对值,其类型和参数相同。 必要的 number 参数是任何有效的数值表达式,如果 number 包含 Null,则返回 Null,如果 number 是未初始化的变量,则返回 0。 一个数的绝对值是将正负号去掉以后的值。例如,ABS(-1) 和 ABS(1) 都返回 1。 Array(arglist) 返回一个包含数组的 Variant。 所需的 arglist 参数是一个用逗号隔开的值表,这些值用于给 Variant 所包含的数组的各元素赋值。如果不提供参数,则创建一个长度为 0 的数组。 用来表示数组元素的符号由变量名、圆括号以及括号中的所需元素的索引号组成。在下面的示例中,第一条语句创建一个 Variant 的变量 A。第二条语句将一个数组赋给变量 A。最后一条语句将该数组的第二个元素的值赋给另一个变量。Dim A As Variant A = Array(10,20,30) B = A(2) 使用 Array 函数创建的数组的下界受 Option Base 语句指定的下界的决定, 除非 Array 是由类型库(例如 VBA.Array )名称限定。如果是由类型库名称限定,则 Array 不受 Option Base 的影响。 注意没有作为数组声明的 Variant 也可以表示数组。除了长度固定的字符串以及用户定义类型之外,Variant 变量可以表示任何类型的数组。尽管一个包含数组的 Variant 和一个元素为 Variant 类型的数组在概念上有所不同,但对数组元素的访问方式是相同的。 Asc(string) 返回一个 Integer,代表字符串中首字母的字符代码。 必要的 string 参数可以是任何有效的字符串表达式。如果 string 中没有包含任何

VB常用命令大全

常用命令 FontStrikeThru属性是逻辑型,决定对象上正文是否加一删除线。 FontItalic属性是逻辑型,决定对象上正文是否是斜体。 窗体的其它常用属性 2.Icon 控制图标属性:返回或设置窗体左上角显示或最小化时显示的图标。 注意:此属性必须在ControlBox属性设置为Ture才有效 3.ControlBox控制菜单框属性:设置Ture为有,如设置为False则无控件菜单,同时窗体也无最大化按钮和最小化按钮,即使MaxButton属性和MinButton属性设置为Ture。 5. BorderStyle:边框风格, 通过改变BorderStyle 属性,可以控制窗体如何调整大小。 0-None:无边框; 1-Fixed Single:单线边框,不可以改变窗口大小; 2-Sizable:双线边框,可以改变窗口大小; 3-Fixed Double:双线框架,不可以改变窗口大小。 4-Fixed Tool Window:窗体外观与工具条相似。有关闭按钮,不可以改变窗口大小。 5-Sizable Tool Window:窗体外观与工具条相似。有关闭按钮,可以改变窗口大小。 6. WindowsState属性 用来设置窗体的运行状态。 0-Normal:正常窗口状态,有窗口边界; 1-Minimized:最小化状态,以图标方式运行; 2-Maximized:最大化状态,无边框,充满整个屏幕。 7. AutoRedraw属性 该属性决定窗体被隐藏或被另一窗口覆盖之后,是否重新还原该窗体被隐藏或覆盖以前的画面。即是否重画如Circle、Line、Pset和Print等方法的输出。 当为True时,重新还原该窗体以前的画面。 当为False时,则不重画AutoRedraw属性。 4 Resize事件 无论是因为用户交互,还是通过代码调整窗体的大小,都会触发一个Resize事件。 5 Activate事件:当窗体由非活动窗体变为活动窗体,即当窗体得到焦点时触发该事件。窗体常用的方法有: 打印输出Print 移动Move 清除Cls 显示Show 隐藏Hide等方法。 方法的使用的形式: [对象.]方法[参数] 1.Print方法 形式: [窗体名.]Print[{Spc(n)|Tab(n)}][表达式列表][;|,] 作用: 在对象上输出信息 Spc(n)函数:插入n个空格,允许重复使用。 Tab(n)函数:从窗体第n列开始输出,允许重复使用。 ;(分号):光标定位上一个显示的字符后(紧凑格式)。 ,(逗号):光标定位在下一个打印区的开始位置处。每个打印区占14列(标准格式)。无;,换行。

VB代码大全

隐藏form1: form1.hide 显示form1: form1.show --------------------------------------------------------------------------------------------- 退出程序时,弹出窗口提示是否要退出: Private Sub Form_Unload(Cancel As Integer) Dim iAnswer As Integer iAnswer = MsgBox("真要退出吗?", vbYesNo) If iAnswer = vbNo Then Cancel = True Else End End If End Sub ---------------------------------------------------------------------------------------------- 只能用任务管理器关闭程序的代码: Private Sub From_Unload(Cancel As Integer) Cancel = true End Sub ------------------------------------------------------------------------------------------------ 点击command1打开33IQ网: Dim strURL Private Sub Command1_Click() strURL = "错误!超链接引用无效。 Shell "explorer.exe " & strURL, 1 End Sub ------------------------------------------------------------------------------------------------ 运行c:\1.exe shell "c:\1.exe" 执行c:\1.bat shell "c:\1.bat" 注:只适用于大部分exe和全部bat。

vb程序设计试题(含答案)

第一套试题 一、选择题(每题2分,共30分) 1.在VB环境中,工程文件的扩展名是( C ) (A).frm (B).bas (C).vbp (D).frx 2.下面4项中不属于面向对象系统三要素的是( A ) (A)变量(B)事件(C)属性(D)方法 3. \、/、Mod、*这4个算述运算符中,优先级别最低的是( C ) (A)\ (B)/ (C)Mod (D)* 4.要使Print方法在Form_Load事件中起作用,要对窗体的( C )属性进行设置(A)BackColor (B)ForeColor (C)AutoRedraw (D)Caption 5.不论何控件,共同具有的属性是( B ) (A)Text (B)Name (C)ForeColor (D)Caption 6.要使Form1窗体的标题栏显示“欢迎使用VB”,以下语句正确的是( D ) (A)Form1.Caption=“欢迎使用VB”(B)Form1.Caption=ˊ欢迎使用VBˊ(C)Form1.Caption=欢迎使用VB (D)Form1.Caption=〞欢迎使用VB〞 7.VB提供了结构化程序设计的3种基本结构,这3种基本结构是( D ) (A)递归结构,选择结构,循环结构(B)选择结构,过程结构,顺序结构 (C)过程结构,输入、输出结构,转向结构(D)选择结构,循环结构,顺序结构 8.给变量赋值a=123+MID(“123456”,3,2),a变量中的值是( D ) (A)“12334”(B)123 (C)12334 (D)157 9.下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是( D ) (A)If sex=“男”And age<40 And InStr(duty,“教授”)>0 Then n=n+1 (B)If sex=“男”And age<40 And (duty=“教授”Or duty=“副教授”) Then n=n+1 (C)If sex=“男”And age<40 And Right(duty,2)= “教授” Then n=n+1 (D)If sex=“男”And age<40 And duty=“教授”And duty=“副教授” Then n=n+1 10.若要清除列表框的所有内容,可用来实现的方法是( C )

VB程序练习题整理稿剖析

1.退出Visual Basic 的快捷键是______。A. Ctrl+Q B.Shift+Q C.Alt+Q 2.窗体设计器是用于设计______。 A.应用程序的界面 C.应用程序的代码D. Ctrl+Alt+Q B. 对象的属性D. 窗体的代码 3.启动Visual Basic 后,VB为用户建立的第一个窗体是______。 A.Form1 B.Form C.窗体1 D. 窗体 4.启动Visual Basic 后,VB为用户新建立的工程的名字是______。 A.窗体1 B. 工程1 C.窗体 D. 工程 5.工程资源管理器窗口包含的文件类型有______种。 A.1 B.2 C.3 D. 4 6.如果VB环境中缺少某个窗口,一般应从主菜单______的下拉菜单中找到相应的激活命令。 A.编辑C.调试B. 文件D. 视图 7.能够通过标准工具栏打开的窗口是______。 A.代码窗口 C.属性窗口 8.窗体文件的扩展名______。B. 设计器窗口D. 窗体布局窗口 A..bas B. vbp C..exe 9.工程文件的扩展名______。 A..com D. frm B. vbp C..exe D. bas 10.Visual Basic的编程机制是______。 A.面向过程C.事件驱动B. 面向对象D. 可视化 (三)练习题 使用VB建立一个应用软件的全过程有哪些步骤?。1.具体过程如下(1)在窗体上建立用户窗口(界面)对象。 (2)分别对对象设置属性。 (3)分别对对象事件的过程编程且完成代码输入。 (4)运行程序和调试程序。 (5)保存程序。 1. 2.保存VB文件,至少要保存几个文件?应先保存什么文件?2.至少保存2个文件,先保存窗体文件,后保存工程文件。

VB编程常用代码 大一练习专用

A,B,C排序由大到小 Dim a As Single,b As Single,c As Single a=Val(Text1.Text) b=Val(Text2.Text) c=Val(Text3.Text) If b>a Then d=a:a=b:b=d End If If c>a Then d=a:a=c:c=d End If If c>b Then d=b:b=c:c=d End If Text4.Text=a Text5.Text=b Text6.Text=c End Sub Private Sub Command2_Click() Text1.Text="" Text2.Text="" Text3.Text="" Text4.Text="" Text5.Text="" Text6.Text="" End Sub 计算a+b Private Sub Command1_Click() Text4.Text=Val(Text2.Text)+Val(Text3.Text) Text1.Text="欢迎新同学" End Sub 清除

Private Sub Command2_Click() Text1.Text="" Text2.Text="" Text3.Text="" Text4.Text="" End Sub 奇偶数显示器 显示 Private Sub Command1_Click() Dim a As Integer a=Val(Text1.Text) If a/2=Int(a/2)Then Text2.Text="您输入的数是偶数" Else Text2.Text="您输入的数是奇数" End If End Sub 清除 Private Sub Command2_Click() Text1.Text="" Text2.Text="" End Sub 奇偶数判断 Dim a,b As Integer Dim result As Integer a=Val(InputBox("请输入一个整数","数的输入",300,400)) b=Val(InputBox("请输入一个整数","数的输入",300,400)) If a/2=Int(a/2)Then result=MsgBox("您输入的数:"&a&"是一个偶数",1,"判断结果") Form1.Print rusult Else m="您输入的数:"&a&"是一个奇数" result=MsgBox("您输入的数:"&a&"是一个奇数",1,"判断结果") Form1.Print result End If If b/2=Int(b/2)Then result=MsgBox("您输入的数:"&b&"是一个偶数",1,"判断结果") Form1.Print rusult Else result=MsgBox("您输入的数:"&b&"是一个奇数",1,"判断结果")

常见vb程序设计代码

常见vb程序设计代码 作者 : 窦振山 1、猴子每天吃掉的桃子是所有桃子的一半多一个,到第七天发现只剩下一个了,问最开始有几个桃子?、、 Private Sub Command1_Click() Dim m(1 To 7) m(1) = 1 For i = 2 To 7 m(i) = (m(i - 1) + 1) * 2 Next For i = 1 To 7 Print "第" & i & "天的桃数是"; m(i) Next End Sub 2、百元百鸡问题:公鸡三元一只,母鸡两元一只,小鸡一元两只,现用百元买一百只鸡Private Sub Command1_Click() Dim x As Integer Dim y As Integer For x = 1 To 100 For y = 1 To 100 If 3 * x + 2 * y + (100 - x - y) / 2 = 100 Then Print "公鸡 "; x; "母鸡"; y; "小鸡"; 100 - x - y End If Next Next End Sub 1、综合运用一维数组、二维数组、动态数组和控件数组的有关知识编写程序,要求能输入学生的学号、姓名、性别、年龄等个人简况,输入的学生人数不限,并可按学号或姓名查询。界面设计用到了三个command即“添加”、“查询”和“退出”,八个label和四个text 用来输入学号、姓名、成绩和年龄,一个frame,一个picturebox图片框用来显示结果 其程序代码设计如下: Private Type stu id As Integer nam As String sco As Single age As Integer End Type Dim students(100) As stu Dim s As Integer Private Sub Command1_Click() Static i As Integer If Text1.Text = "" Then

vb语句大全

VisualBasic是微软公司推出的简单易学、功能强大编程工具,是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,使用VB能轻而易举地开发适合在Windows 环境下各类应用程序。 语句是程序的基本功能单位,每条语句都有确切的含义,能完成一定的任务。熟练掌握语句,是开发应用程序的基础。VB共有语句77个,这里给出72个,另外5个由于很少用到没有给出,它们是Width#语句,设置文件的输出行宽度。Implements语句,指定要在包含该语句的类模块中实现的接口或类。其余3个用于声明Property过程的名称,参数以及构成其主体的代码,PropertyGet语句,该Property过程获取一个属性的值;PropertyLet语句,该Property过程给一个属性赋值;PropertySet语句,该Property过程设置一个对象引用。点击相关语句看详细内容 语句描述 AppActivate语句激活其它应用程序。 Beep语句通过计算机喇叭发出声音。 Call语句调用一个子程序或函数。 ChDir语句改变当前的路径(目录或文件夹)。 ChDrive语句改变当前的驱动器。 Close语句关闭用Open语句打开的文件。 Const语句声明常量。 Date语句设置当前系统日期。 Declare语句用于在模块或窗体中声明对动态链接库(DLL)中外部过程的引用,在引用API函数时经常用到。 Deftype语句在模块或窗体,为变量和传给过程的参数,设置缺省数据类型,以及为其名称以指定的字符开头的Function和PropertyGet过程,设置返回值类型。 DeleteSetting语句删除指定的Windows注册表的子键。Dim语句声明局部变量并分配存储空间。 Do...Loop语句循环语句,有两种变形,一种是当条件为True时,重复执行一个语句块中的命令。另一种重复执行一个语句块中的命令,直到条件变为True时。 End语句结束程序、过程或语句。 Enum语句定义枚举类型。 Erase语句重新初始化大小固定的数组的元素,以及释放动态数组的存储空间。Error语句模拟错误的发生。 Event语句定义用户自定义的事件。 Exit语句提前退出控制结构、循环或过程的语句体。 FileCopy语句复制一个文件。 For...Next语句以指定次数来重复执行一组语句。 ForEach...Next语句针对一个数组或集合中的每个元素,重复执行一组语句。 Function语句声明Function过程的名称,参数以及构成其主体的代码。 Get语句将一个已打开的磁盘文件读入一个变量之中。 GoSub...Return语句在一个过程中跳到另一个子程序中执行,执行后再返回。 GoTo语句无条件地转移到过程中指定的行。 If...Then...Else语句条件语句,根据表达式的值有条件地执行一组语句。 Input#语句从已打开的顺序文件中读出数据并将数据指定给变量。

VB代码

VB代码 *概述(将文本框移动到右上角) Private Sub Command1_Click() Text1.Left = Form1.Width - Text1.Width Text1.Top = 0 End Sub *控件1(登录窗口的设置登录名:admin 密码:123456)Private Sub cmdLogin_Click() If txtID.Text = "admin" And txtPsw.Text = "123456" Then MsgBox "登录成功", vbOKOnly + vbInformation Else MsgBox "登录失败", vbOKOnly + vbCritical End If End Sub Private Sub cmdReset_Click() txtID.Text = "" txtPsw.Text = "" End Sub Private Sub cmdClose_Click() End End Sub Private Sub txtID_Change() End Sub *控件2(改变字体字形和字号) Private Sub cmdSet_Click() If optST.Value = True Then lblCaption.FontName = "宋体" ElseIf optLS.Value = True Then lblCaption.FontName = "隶书" Else lblCaption.FontName = "楷体" End If

If optFont16.Value = True Then lblCaption.FontSize = 16 ElseIf optFont18.Value = True Then lblCaption.FontSize = 18 Else lblCaption.FontSize = 20 End If lblCaption.FontBold = ChkBold.Value lblCaption.FontItalic = ChkItalic.Value End Sub *控件3(对列表框进行选项添加,删除,清空)Option Explicit Private Sub Form_Load() List1.AddItem "蚕豆" List1.AddItem "扁豆" List1.AddItem "绿豆" List1.AddItem "红豆" List1.AddItem "刀豆" End Sub Private Sub Command1_Click() List1.AddItem Text1 Text1 = "" End Sub Private Sub Command2_Click() List1.RemoveItem List1.ListIndex End Sub Private Sub Command3_Click() List1.Clear End Sub Private Sub Command4_Click() End End Sub

VB编程常用代码大全讲解学习

V B编程常用代码大全

VB编程常用代码大全 1.数值型函数: abs(num): 返回绝对值 sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负 hex(num): 返回十六进制值直接表示:&Hxx 最大8位 oct(num): 返回八进制值直接表示:&Oxx 最大8位 sqr(num): 返回平方根 num>0 int(num): 取整 int(99.8)=99; int(-99.2)=100 fix(num): 取整 fix(99.8)=99; fix(-99.2)=99 round(num,n): 四舍五入取小数位 round(3.14159,3)=3.142 中点数值四舍五入为近偶取整 round(3.25,1)=3.2 log(num): 取以e为底的对数 num>0 exp(n): 取e的n次幂通常用 num^n sin(num): 三角函数,以弧度为值计算 (角度*Pai)/180=弧度 con(num); tan(num); atn(num) 2.字符串函数: len(str):计算字符串长度中文字符长度也计为一! mid(str,起始字符,[读取长度]):截取字符串中间子字符串 left(str,nlen):从左边起截取nlen长度子字符串 right(str,nlen):从右边起截取nlen长度子字符串 Lcase(str):字符串转成小写 Ucase(str):字符串转成大写

trim(str):去除字符串两端空格 Ltrim(str):去除字符串左侧空格 Rtrim(str):去除字符串右侧空格 replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串 注:默认值:起始字符 1;替代次数不限;比较方法区分大小写(0) InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置 InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串返回起始位置 space(n):构造n个空格的字符串 string(n,str):构造由n个str第一个字符组成的字符串 StrReverse(str):反转字符串 split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选 3.数据类型转换函数: Cint(str):转换正数 True -1;False 0;日期距离1899/12/31天数;时间上午段 0;下午段 1; Cstr(str):日期输出格式 yyyy/mm/dd;时间输出格式 Am/Pm hh:mm:ss

vb科目代码

rs.MoveFirst Display End Sub Private Sub Command10_Click() Form1.Hide Form2.Show End Sub Private Sub Command11_Click() If txtFind.Text = "" Then MsgBox "请输入查找条件", vbCritical txtFind.SetFocus Else Dim a As Integer Dim b As Variant b = rs.Bookmark rs.Find txtFind.Text If rs.EOF Then a = MsgBox("已经搜索完毕,从第一条记录重新开始吗?", vbYesNo + vbQuestion, "查找") If a = vbYes Then rs.MoveFirst Else rs.Bookmark = b End If End If End If Display End Sub Private Sub Command2_Click() rs.MoveNext If rs.EOF Then rs.MoveLast Display End Sub Private Sub Command3_Click() rs.MovePrevious If rs.BOF Then rs.MoveFirst Display End Sub

rs.MoveLast Display End Sub Private Sub Command5_Click() txtEID.Text = "" txtEName.Text = "" txtENature.Text = "" txtECapital.Text = "" txtERep.Text = "" txtETel.Text = "" End Sub Private Sub Command6_Click() Display End Sub Private Sub Command7_Click() If IsWeiyi(txtEID.Text) = True Then rs.AddNew rs("EID") = txtEID.Text rs("EName") = txtEName.Text rs("ENature") = txtENature.Text rs("ECapital") = txtECapital.Text rs("ERep") = txtERep.Text rs("ETel") = txtETel.Text rs.Update Else MsgBox "主码不唯一,请重新输入!", vbCritical, "主码" txtEID.SetFocus End If End Sub Private Function IsWeiyi(val As String) As Boolean Dim flg As Boolean flg = True rs.MoveFirst Do While rs.EOF = False If rs("EID") = val Then flg = False Exit Do End If rs.MoveNext

VB编程常用代码大全

VB编程常用代码大全 1.数值型函数: abs(num): 返回绝对值 sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负 hex(num): 返回十六进制值直接表示:&Hxx 最大8位 oct(num): 返回八进制值直接表示:&Oxx 最大8位 sqr(num): 返回平方根 num>0 int(num): 取整 int(99.8)=99; int(-99.2)=100 fix(num): 取整 fix(99.8)=99; fix(-99.2)=99 round(num,n): 四舍五入取小数位 round(3.14159,3)=3.142 中点数值四舍五入为近偶取整 round(3.25,1)=3.2 log(num): 取以e为底的对数 num>0 exp(n): 取e的n次幂通常用 num^n sin(num): 三角函数,以弧度为值计算 (角度*Pai)/180=弧度 con(num); tan(num); atn(num) 2.字符串函数: len(str):计算字符串长度中文字符长度也计为一! mid(str,起始字符,[读取长度]):截取字符串中间子字符串 left(str,nlen):从左边起截取nlen长度子字符串 right(str,nlen):从右边起截取nlen长度子字符串 Lcase(str):字符串转成小写 Ucase(str):字符串转成大写 trim(str):去除字符串两端空格 Ltrim(str):去除字符串左侧空格 Rtrim(str):去除字符串右侧空格 replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串 注:默认值:起始字符 1;替代次数不限;比较方法区分大小写(0) InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置 InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串返回起始位置 space(n):构造n个空格的字符串 string(n,str):构造由n个str第一个字符组成的字符串 StrReverse(str):反转字符串 split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选

相关主题
文本预览