电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 图形图象-> PHOTOSHOP教程
visualbasic变量、常数和数据类型及过程概述六_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 

    提供可选参数的缺省值

    也可以给可选参数指定缺省值。在下例中,如果未将可选参数传递到函数过程,则返回一个缺省值。
    SubListText(xAsString,OptionalyAs_
    Integer=12345)
      List1.AddItemx
      List1.AddItemy
    EndSub

    PrivateSubCommand1_Click()
      strName="yourname"     未提供第二个参数。
      CallListText(strName)   添加“yourname”和“12345”。
    EndSub
    使用不定数量的参数一般说来,过程调用中的参数个数应等于过程说明的参数个数。可用ParamArray关键字指明,过程将接受任意个数的参数。于是可以这样来编写计算总和的Sum函数:
    DimxAsInteger
    DimyAsInteger
    DimintSumAsInteger

    SubSum(ParamArrayintNums())
       ForEachxInintNums
         y=y x
       Nextx
       intSum=y
    EndSub

    PrivateSubCommand1_Click()
       Sum1,3,5,7,8
       List1.AddItemintSum
    EndSub

    用命名的参数创建简单语句
    对许多内建函数、语句和方法,VisualBasic提供了命名参数方法来快捷传递参数值。对命名参数,通过给命名参数赋值,就可按任意次序提供任意多参数。为此,键入命名参数,其后为冒号、等号和值(MyArgument:="SomeValue"),可以按任意次序安排这些赋值,它们之间用逗号分开。注意,下例中的参数顺序和所要参数的顺序相反:
    FunctionListText(strNameAsString,OptionalstrAddressAsString)
       List1.AddItemstrName
       List2.AddItemstrAddress
    EndSub

    PrivateSubCommand1_Click()
       ListTextstrAddress:="12345",strName:="YourName"
       EndSub
    如果过程有若干不必总要指定的可选参数,则上述内容更为有用。

    确定对命名参数的支持
    要确定哪一个函数、语句和方法支持命名参数,用“代码”窗口中的“AutoQuickInfo”功能,检查“对象浏览器”,或者参阅语言参考。使用命名参数时要注意以下几点:
     在VisualBasic(VB)对象库中的对象的方法不支持命名参数。而VisualBasicforapplications(VBA)对象库中的所有的语言关键字都支持命名的参数。
     在语法中,命名参数是用粗体和斜体字表示的。所有其它参数只用斜体字表示。
    重点使用命名参数时不能省略所需参数的输入。可以只省略可选参数。对于VisualBasic(VB)和VisualBasicforapplications(VBA)对象库,“对象浏览器”对话框将可选参数用方括号[]括起来。
    详细信息请参阅语言参考中的"ByVal"、"ByRef"、"Optional"和"ParamArray"。

控制结构概述
    有了控制结构就可控制程序执行的流程。如果未复选控制流语句,程序便从左至右、自顶向下地贯穿这些语句。有些简单程序可以只用单向流程来编写,有些流程可以依靠运算符的优先级来控制,但任何编程语言的效力和用途皆由其通过结构和循环改变语句顺序的能力而得。

    判定结构
    VisualBasic过程能够测试条件式,然后根据测试结果执行不同的操作。
    VisualBasic支持的判定结构有:
    1.If...Then
    2.If...Then...Else
    3.SelectCase
    If...Then
    用If...Then结构有条件地执行一个或多个语句。单行语法和多行块语法都可以使用:
    IfconditionThenstatement
    IfconditionThen
      statements
    EndIf
    condition通常是比较式,但它可以是任何计算数值的表达式。VisualBasic将这个值解释为True或False:一个为零的数值为False,而任何非零数值都被看作True。若condition为True,则VisualBasic执行Then关键字后面的所有statements。可以使用单行或多行语法有条件地执行一个语句(下面两个例子等价):
    IfanyDate<NowThenanyDate=Now

    IfanyDate<NowThen
       anyDate=Now
    EndIf
    注意:If...Then的单行格式不用EndIf语句。如果condition为True时要执行多行代码,则必须使用多行块If...Then...EndIf语法。
    IfanyDate<NowThen
       anyDate=Now
       Timer1.Enabled=False     定时器控制失效。
    EndIf

    If...Then...Else
    用If...Then...Else块定义几个语句块,执行其中一个语句:
    Ifcondition1Then
       [statementblock-1]
    [ElseIfcondition2Then
       [statementblock-2]]...
    [Else
       [statementblock-n]]
    EndIf
    VisualBasic首先测试condition1。如果它为False,VisualBasic就测试condition2,依此类推,直到找到一个为True的条件。当它找到一个为True的条件时,VisualBasic就会执行相应的语句块,然后执行EndIf后面的代码。作为一个选择,可以包含Else语句块,如果条件都不是True,则VisualBasic执行Else语句块。
    If...Then...ElseIf只是If...Then...Else的一个特例。注意,可以使用任意数量的ElseIf子句,或者一个也不用。可以有一个Else子句,而不管有没有ElseIf子句。
    例如,应用程序可以根据菜单控件数组中哪个控件被单击而采取相应的动作:
    PrivateSubmnuCut_Click(IndexAsInteger)
        IfIndex=0Then     “剪切”命令。
           CopyActiveControl     调用通用过程。
           ClearActiveControl
        ElseIfIndex=1Then   “复制”命令。
           CopyActiveControl
        ElseIfIndex=2Then   “清除”命令。
           ClearActiveControl
        Else           “粘贴”命令。
           PasteActiveControl
        EndIf
    EndSub
    注意,总是可以添加更多的ElseIf块到If...Then结构中去。但是,当每个ElseIf都将相同的表达式比作不同的数值时,这个结构编写起来很乏味。在这种情况下可以使用SelectCase判定结构。
    详细信息请参阅《VisualBasic6.0语言参考手册》中的“If...Then...Else语句”。

    SelectCase
    VisualBasic提供SelectCase结构替代If...Then...Else,从而可在多个语句块中有选择地执行其中一个。SelectCase语句的能力与If...Then...Else语句类似,但对多重选择的情况,SelectCase语句使代码更加易读。
    SelectCase在结构的上方处理一个测试表达式并只计算一次。然后,VisualBasic将表达式的值与结构中的每个Case的值进行比较。如果相等,就执行与该Case相关联的语句块。
    SelectCasetestexpression
        [Caseexpressionlist1
           [statementblock-1]]
        [Caseexpressionlist2
           [statementblock-2]]
             .
             .
             .
        [CaseElse
           [statementblock-n]]

    EndSelect
    每一个expressionlist是一个或几个值的列表。如果在一个列表中有多个值,就用逗号把值隔开。每一个statementblock中含有零个或多个语句。
如果不止一个Case与测试表达式相匹配,则只对第一个匹配的Case执行与之相关联的语句块。如果在表达式列表中没有一个值与测试表达式相匹配,则VisualBasic执行CaseElse子句(此项是可选的)中的语句。
    例如,假定在If...Then...Else的例子中要向“编辑”菜单添加命令。为此可以另加一个ElseIf子句,或用SelectCase来写函数:
    PrivateSubmnuCut_Click(IndexAsInteger)
       SelectCaseIndex
          Case0              “剪切”命令。
            CopyActiveControl      调用通用过程。
            ClearActiveControl
          Case1              “复制”命令。
            CopyActiveControl
          Case2              “清除”命令。
            ClearActiveControl
          Case3              “粘贴”命令。
            PasteActiveControl
          CaseElse
            frmFind.Show         显示找到的对话框。
       EndSelect
    EndSub
    注意SelectCase结构每次都要在开始处计算表达式的值。而If...Then...Else结构为每个ElseIf语句计算不同的表达式。只有在If语句和每一个ElseIf语句计算相同表达式时,才能用SelectCase结构替换If...Then...Else结构。

->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·粗略看了下领智4.0 RC的模板标签 有感
·Vista之家有奖征名进行中,现金+进口礼物
·站长心中永远的痛
·黑客,网络冒牌执法官!
·一个新人站长的第一次——卖站
·企业即时通讯市场潜力巨大腾讯隔河望金
·我在一家安全网站的工作经历
·莫让培训影响了你的视线
·一位因女友离去而痛苦中的站长
·您是否患有电脑依赖症?

最新文章
·中国网络股周二在纳市整体上涨
·北京全市网吧达1400家 年均收入过百万元
·好莱坞罢工编剧欲绕过影视公司自建网络公司
·IBM在京成立保险行业解决方案演示中心
·XP SP3公测在即 正式版本明年上半年发布
·联想退出数码相机业务
·陈绍鹏:联想公益创投计划的另类思考
·AMD后年推8内核芯片
·2007“中国芯”十佳揭晓
·成都用户分享联想奥运计划


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号