首页 > 其他分享 >VB语法概要

VB语法概要

时间:2024-09-27 14:50:30浏览次数:1  
标签:控件 VB 概要 语法 类型 数组 字符串 Integer

  1. VB代码不区分带小写,VB会自动转换,把关键字,函数名,对项目属性,方法等首字符大写,其余的小写。如果由多个单子组成,每个单词的手字符大写。

  2. 注释是单引号

  3. 一行上可以书写多距语句,语句用:分隔,单条语句也可以多行书写,续行符: _

  4. 窗体和工程是分开保存的?

  5. 窗体组件的通用属性

    • Name
    • Caption
    • Height
    • Width
    • Top
    • Left
    • Font
    • Visible 是否可见
    • Enabled 是否可用,不可用是灰色的
    • ForeColor ,BackColor 前景色,背景色(前景色是文字的颜色,背景色是文字以外的颜色)
    • TabIndex 按tab键 控件获取焦点的顺序
  6. 默认属性,不指定对象属性就可以改变其值的那个属性称为默认属性
    一些对象的默认属性

    • 文本框 Text
    • 单选按钮 Value
    • 标签 Caption
    • 复选框 Value
    • 命名按钮 Default
    • 图形,图像框 Picture
  7. 常用函数

    • form1.Cls 清除内容
    • loadPicture(“路径”) 装载图片函数
    • End 退出当前窗体?
    • MID 函数 字符串截取函数
    • Len函数,取字符串的长度
    • IsNumeric(xxx) 判断是否属数字
    • VAL(字符串) 字符串转数字
    • trim 去空格
    • ABS 取绝对值
    • asc(C) 把字符装换成 ascII编码
    • chr(N) 把ascii编码转换成字符
    • cstr(N) 把数值转换成字符串
    • Int(N) 向下取整
    • LCase(C) 大写转小写
    • UCase(C) 小写转大写
    • Str(N) 数值转字符串,如果得到是正数 前面会有一个空格
    • Val(C) 字符串转数值,如果转换过程中出现不能转换的结果立即返回已经得到的数字结果
    • InStr(C1,C2) 在C1中找C2找不到返回) ,找到放回位置,这个下标好像是1开始的
    • Left(C,N) 取只付出左边N个字符
    • Len(C) 返回字符创长度
    • Mid(C,N1,Len) 截取字符创的一段,第三个参数可以不要,表示截取到尾部
    • Space(N) f返回N个空格的字符串
    • String(N,C) 的到N个C的字符串
    • Trim 去出字符创两边的空格
    • Now 放回当前时间
    • Year(date) 得到年份
    • DateAdd(“d”,1,date1) date11天以后得日期
    • DateDiff("d",date1,date2) 两个日期相差多少条
    • Rnd(N) 随机数,如果N小于等于0那么 生成删词相同的随机数,缺省或者》0就是【0,1)的双精度随机数
    • IsNumeric(C) 判断是否是数字
    • Shell("xxx.exe",窗口类型) 调用各种应用程序
      • 窗口类型 0-4,6 1表示正常窗口
    • Print x 打印x 输出到哪里的?立即窗口?
  8. 定时器控件

  9. Dim P$是什么意思? 表示这个变量的类型是货币类型

  10. PictureBox 和 Image 控件 有啥区别?

  11. 不同进制数字表示方式

    • 十进制 没有特殊字符开头
    • 8进制 "&","&O","&o","&0"开头
    • 16进制 “&H”,“&h”
    • 二进制呢?
  12. VB的Integer(2) 和Long(4) 比java 的小一个级别。

  13. Currency 是小数?并且精确到小数后面4为?或者它整数等同于java的Long?

  14. Boolean 占2个字节 为什么?

    • boolean转数字的时候,0 是 false,-1 是true,
    • 数字转Boolean的时候,0是false,非0是true
  15. 日期是需要 #2024-01-01# 包裹

  16. 变体型 ,Variant 是所有未什么类似变量的默认类型,实际赋值是啥类型就可以当做啥类型用

  17. VB的标识符的最后一个字符可以是类型符(%&!#$@) 什么意思?

    • % 整型
    • & 长整型 ,&是加在数字的前面的
    • !单精度
    • # 双精度
    • $ 货币类型?
    • @ 字符串类型?
  18. 2.3D-4 表示 2.3的10的负4次方

  19. VB标识符不区分带小写

  20. 指定类型的 As 可以省略?

  21. 指定字符串长度

    '指定长度是10
    Dim str As String*10
    
  22. VB算数运算符里面有乘方符号2^3,java有没得?

  23. VB的关系运算符有 Link 和 Is

    • Link ? 或者是Like ? 判断是否匹配,可以判断字符串和带有通配符的字符串是否匹配
      • * 一个或者多个字符
      • 一个子杜甫
      • # 代表一个数字
    • Is ?
  24. 逻辑运算符

    • And
    • Or
    • Not
    • Xor
  25. VB的日期类型可以直接加减

    • 日期-日期得到差数天
    • 日期+/-数字(天)得到一个日期
  26. 字符串拼接符是&,并且拼接变量的时候要再前一个和&之间加一个空格,避免被识别为类型符号。

    • 建议 & 连接的变量前后都加空格
    • 如果前面是的变量是数字类型,不加空格会被认为是长整型类型符号
    • 如果后面是数字类型,不加可能会被识别为八进制数(如果后面的数都是0-7组成会被识别为8进制数)
  27. +& 的区别 + 可以拼接字符串,但是如果两边都是数字就是求和,如果一边是数字一边是字符串,会把字符串转成数字然后求和,如果转化失败就会报错。

  28. VB的常用内部函数

  29. VB怎么区分等号和赋值号?变量处于最左边就算赋值?,别的时候都算等号?
    a=b=c=1的结果大概率是a=false

  30. a=1:b=1:c=1 是合法的 : 可以分隔一行的对个语句

  31. 赋值 的时候如果类型不相等,会自动尝试把右边的类型转换成左边的类型赋值

  32. value = InPutBox("消息",“标题”,默认值,x,y) 会跳出输入框,用户输入以后可以得到用户输入的数据

  33. vbCrLf 等会回车+换行符?

  34. MsgBox("提示信息",对话框样式,对话框标题) ,后面2参数可以省略

    对话框样式是三个属性的加和决定的(按钮类型,图标类型,默认按钮)
    image-20240819230607936
    返回值对照表
    image-20240819231407800

  35. 有返回值的方法调用需要加号,没有返回值一定不要加括号,有返回值但是不想用,可以不加括号

  36. If 语句如果不写 End If ,那么 Then后面的 执行的语句不能换行,且要和Then一行。(只能有一行?) 加冒号行不?

  37. If 的 判定和Then是一起出现的,如果 没有判定就没有Then 比如 Else的时候,后面直接写逻辑块

  38. select case 就是 swich case ,能匹配分连续区间和非数吗?
    is啥东西?还能写 to ?

    ' is
    select  case  xxx
    	Case Is < xxx1
        	    do1
    	Case Is < xxx2
            	do2
    	Case Else
        		do3
    End
    
    'to, 在 for i = 1 to 10 也是 to  所以1 to 10 得到的一个集合吗?
    select  case  xxx
    	Case 60 To 70
        	    do1
    	Case 70 To 80
            	do2
    	Case Else
        		do3
    End
    
  39. Picture.Print 可以直接输出? PictureBox可以输出?单做控台用?

  40. Print 模式是打印到窗体上?

  41. Do while 的 while 可以不写?

    退出循环使用Exit Do

    '类似while do
    Do while 运行条件表达式
    		xxx?
    Loop
    
            
            
    '这种类似 dowhile,先执行一次在判断
    Do 
    		xxx?
    Loop while 运行条件表达式
    
  42. Do while 后面是退出条件

  43. Option Base 1可以写方法里面?不能

  44. 使用VB实现选择排序,练习

  45. Randomize 啥用?

  46. 列表框添加元素

    • lst1.AddItem("item",index),
    • lst1.List属性指向已经添加的元素
    • lst1.ListCOunt 元素个数
    • lst1.clear 清空
    • lst1.Text,选中值是,选种多个呢?
    • lst1.ListIndex 选择位置索引,没选是-1
    • lst1.removeItem 3 删除指定索引的元素
    • 列表框初始化绘制使用时间 load 事件
  47. 啥意思?

    image-20240820002332489

    image-20240820002453913

  48. 不叫括号是变量形式,加了是动态数组形式?

  49. Array只能适用于1一维数组,不能用于多维数组

  50. for next 和 for each

    Dim array1(10) as Integer
    array1 = Array(1,2,3,4,5,6,7,8,9,10)
    
    ' 循环的是下标
    For i 1 to 10 Setp 1
    	MsgBox i
    	Next i
    End For
    
    
    ' for each 只能遍历数组,并且不需要指定初始,终值,和步长,循环的是元素
    ' i必须要是变体类型?确定的Integer类型不行?
    ' Next 后面的循环变量可以省略,普通For的不能吗?
    For Each i In array1
    	MsgBox i
    	Next
    End For
    
    
  51. Print x输出的结果会换行,Print x:输出的结果是空格分隔而不是换行?原理是啥?

  52. Option base 1 的时候,数组的下标0会有默认值?如果是Integer 默认值是0?这样数组长度是不是变成11了?

  53. 获取数组的下边界和上边界的方法

    • LBound(数组名,第几维) 获取下边界,如果是数组只有一位可以省略默认是1
    • UBound(数组名,第几维) 获取上边界,如果是数组只有一位可以省略默认是1
  54. 变体型是申明的时候不指定类型,动态数组是申明的时候不指定数组长度(使用前需要通过ReDim要明确的指定)
    ReDim 可以省略申明类型,但是不能改变申明类型。

    如果只在过程内生命并引用,可以直接ReDim,省略第一步的什么动态数组,但是不能改变数组维度。

    Remid只能改变最后一维的下标和上标?也就是只能改变最后一个维度的size?第一次ReDim可以指定多维数组,但是第二次只能修改最后一维度?

    '申明动态数组,没有指定长度,知识后动态数组是不能使用的,因为还没有分配内存空间
    Dim array1() as Integer
    
    '使用前的时候重申明长度
    ReDim array1(1 to 10)
    
    '可以再次调整,这就是用处了
    ReDim array1(1 to 50)
    
    '可以通过Preserve保留历史数组
    ReDim Preserve  array1(1 to 20)
    
  55. 数组的下标可以是负数?

    • 数组下标如果是小数会按照奇进偶不进的原则取整,在四舍,5入不入看整数位是基数还是偶数。
    • 2.5 取2,3.5 取4
  56. Public,Private,Statitc

    • Public 可以被所有模块调用 ,在模块里面的变量可以声明为 public,表示工程级别有效,过程默认都是public的?方法是否默认是public的?
    • Private 只能本本模块内的方法调用,模块里面的变量默认就是private,
    • Statitc 过程内有效,变成模块内有效
  57. 控件数组

    • 控件数组,名字一样就会是出于控件数组?复制张贴也会出是否创建控件数组的提示?VBA是没有的,名字不能重复。
    • 控件数组共享事件,他们由index下标区分是那个控件的,事件会多一个Index的参数。
    • 控件数组可以通过 Load 和Unload 添加和删除
    • Unload ,不能删除设计模式下建立的控件,只能删除Load创建的?
    • 用程序构建控件数组,可以创建控件数组,然后把index设置为0,这样它就是空间数组了。
    • 用程序怎么构建控件 New 控件名字?
  58. 过程分类

    • 系统提供的过程

      • 内部函数
      • 事件过程,需要通过编写指定命名规则的事件函数实现,事件过程和对象绑定
    • 用户自定义过程

      • Sub 没有返回值

      • Function 有返回值

      • property 定义属性 是get/set方法的前身?

        Public Static Property Get A() As Variant
        
        End Property
        
        Public Static Property Let A(ByVal vNewValue As Variant)
        
        End Property
        
      • Event 定义事件

  59. sub的调用过程,和VBA的有点不一样
    image-20240820165612049

  60. 应用程序结构

    工程组文件.vbg文件在哪里?
    image-20240820170508936

  61. 函数过程的定义
    需要注意函数返回值类型定义方式和函数返回方式

    • 函数返回类型定义通过 方法头上面加 As Type来决定的
    • 方法名字 = 返回值 来指定返回值
    • 函数过程必须有返回值
    Function  sum(a As Integer,b As Integer) as Integer
        '这个不是返回只是个返回值赋值,可以有多次?后面的代码也会执行?
    	sum = a+b
    Eed Function
            
            '定义参数传递方式,默认是ByVal
    Function  sum2(ByVal a As Integer,ByRef b As Integer) as Integer
        '这个不是返回只是个返回值赋值,可以有多次?后面的代码也会执行?
    	sum = a+b
    Eed Function
    
  62. 其实子过程也能有返回值,可以用入参的方式,ByRef

    Sub sum(a As Integer,b As Integer,ByRef c As Integer) as Integer
        c = a+b
    Eed Sub   
    
  63. 变量作用域

    (全局)工程级变量>模块级别>(局部变量)过程级别

    static 修饰的也是局部变量?

  64. 全局变量image-20240821001433609

  65. 调用函数或者子过程可以用 Call ,但是没啥必要非要这么用把?

  66. 常用函数

    • 数学
      image-20240821001947465

    • 装换
      image-20240821001936125

    • 常用字符串函数
      image-20240821002023079

    • 日期函数
      image-20240821002056431

    • 其他函数
      image-20240821002113800

      image-20240821002159829

  67. 组合框的属性

    0,2 有什么区别?
    image-20240821002434285

  68. 总结所有控件的属性和事件

  69. VB 控件风格怎么使用win7或者win10 的风格?

标签:控件,VB,概要,语法,类型,数组,字符串,Integer
From: https://www.cnblogs.com/cxygg/p/18435724

相关文章

  • 分享一下PHP基本语法总结
    1.PHP的语法结构PHP(HypertextPreprocessor)是一种广泛使用的开源服务器端脚本语言,特别擅长Web开发。以下是PHP主要语法结构的总结:变量变量在PHP中以$符号开头,变量名是区分大小写的。变量可以存储不同类型的数据,如字符串、整数、浮点数、布尔值、数组和对象等。$message="Hello,......
  • sql语法
    DDL用于定义数据库对象的结构,如表、视图、索引等。其主要操作包括:CREATE:创建新表、视图、索引等。CREATETABLEtable_name(column1datatype,column2datatype,);ALTER:修改现有表的结构,如添加、删除列,修改数据类型等。ALTERTABLEtable_nameADDcolumn_namedatatype;......
  • VBA技术资料MF204:右键多按钮弹出菜单中使用图标
    我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解,从简单的入门、到入门后的提高、到数据库、到字典、到WordVBA的应用、到高级......
  • USB2.0 DP DM VBUS
    在USB2.0中,设备成功枚举的标志可以通过观察D+(dp)、D-(dm)和VBUS引脚的电压波形来判断。以下是这些信号在USB2.0枚举过程中常见的状态:VBUS(5V供电):USB设备插入主机时,VBUS引脚应从0V变为5V。这表明主机为设备提供了电源,设备开始上电。D+和D-信号线状态:空闲状态......
  • VB.net(C#同理)使用 ServiceStack.Redis 二进制存储、读取图像
    搜索了一下,网上似乎没有相关的内容,于是把自己探索的经验写一下。'安装提示:首先需要把当前的目标框架设置为.NetFramwork4.5。'方法一:复制ebay订单里的DLL\ServiceStack.Redis(整个文件夹),自行添加引用(4个dll)'方法二:使用Nuget安装servicestack.redis,选择5.0版本PublicClas......
  • # 使用VBA删除Word文档最后一页的空白页
    使用VBA删除Word文档最后一页的空白页本教程将指导您如何使用VBA(VisualBasicforApplications)删除MicrosoftWord文档最后一页的空白页。详细代码使用流程参照上一篇博客增加空白页,替换代码部分即可步骤打开Word文档打开包含要删除的空白页的Word文档。打开Visual......
  • VB.net(C#同理)的bug:无法打开winForm,提示:文件中的类都不能进行设计,因此未能为该文件显示
    无法打开WinForm,新建一个WinForm也不行。错误提示:文件中的类都不能进行设计,因此未能为该文件显示设计器。严重性代码说明项目文件行禁止显示状态详细说明警告IDE0006加载项目时出错。已禁用某些项目功能,例如对失败项目和基于失败项目的其......
  • Markdown语法文档
    md语法文档Markdown(简称MD)是一种轻量级标记语言,可以用来快速编写结构清晰、内容丰富的文档。下面是一些常用的Markdown语法:目录md语法文档一、标题&目录二、列表&引用三、字体四、线条五、网页链接&图像六、表格七、代码域八、注释&变量九、嵌入十、表情符号一、标......
  • JAVA语法基础总结
    packagecom.chunchuner.fourcompute;importjava.util.Random;publicclassArithmatics{privatestaticRandomrandom=newRandom();privatefinalstaticintCOUNT=30;privatestaticbooleangetProject(){intnum1=random.nextInt(101);intnum......
  • vue3-vben-admin开发记录、知识点
    vue3-vben-admin知识点一、vue3写法1、生命周期setup-组件在创建时onMounted-挂载在dom时运行onUpdated-响应数据修改时运行2、reactive定义:接收一个普通对象然后返回该普通对象的响应式代理。等同于2.x的Vue.observable()定义一个全局常量letotherParam=r......