Visual Basic学习笔记##对口升学##可用,持续更新~~

Visual Basic第一章

visual basic简介
发展史
  • 1991年微软推出1.0,之后几年退出2.0~5.0
  • 1998年推出了6.0,加入了数据库管理,网络编程模块
  • 2001年推出了跨版本升级.net
编程语言排行
b923b3de81882d8950f1d49339b647b5.png
版本分类
  1. 学习版(包含所有内部控件,网络,选项卡和数据绑定控件)
  2. 专业版(在学习版的基础上加入了activeX控件,ISS应用程序设计器,集成了可视化数据工具和数据环境,Active数据对象和DHTML页设计器)
  3. 企业版(在专业版的基础上加入了Back Office工具,例如SQL Server****、Microsoft Transaction ServerIISVisual SourceSafe等。
语言特点
  1. 可视化编程(类似于scratch模块拖动编程)
  2. 事件驱动机制(不同组件有相对应的事件触发机制)
  3. 面向对象的程序设计语言(每个控件属性自我封装)
  4. 支持多数据库访问机制
如何学好vb
  1. 兴趣和坚持
  2. 实践出真知
  3. 恰当的提问
vb启动
  1. 通过开始菜单启动外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
  2. 快捷方式打开
vb退出
  1. 点击关闭按钮
  2. 点击文件---->退出
  3. 快捷键Alt+Q
工具介绍
  1. 工具栏image-20230825113806976
  2. 属性窗口image-20230825114458253
管理工程
  1. 新建保存工程
    1. 新建工程外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
    2. 保存工程外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
    3. 新建窗体外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
  2. 生成可执行文件外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
第一个应用程序的开发
开发步骤
  1. 创建应用程序界面

  2. 设置控件属性

  3. 编写代码

  4. 调试运行程序

    image-20230825164556423
工具模式
  1. 开发模式:修改控件,属性及代码
  2. 运行模式:只能看不能修改
  3. 中断模式:检查,调试,重置,单步执行或继续执行程序
vb工程组成
  1. 跟踪所有部件的工程文件(.vbp)

  2. 窗体文件(.frm)

  3. 窗体所对应的二进制文件(.frx)

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Visual Basic第二章

类和对象
名词解释类比
模板电话机图纸
对象根据模板生成的实际存在的个体电话机
属性个体的各项参数重量,价格…
方法所能执行的功能打电话,接电话
事件触发的条件电话铃响
属性值的修改
  1. 静态修改:通过程序窗口设置的方式进行修改image-20230919222641108

  2. 动态修改:使用代码的形式对控件的属性进行修改

    Text1.text = "Hello world"       '将Text1文本框中的内容修改为Hello World'
    
事件和方法
  1. 事件(触发条件):不同控件拥有不同的触发机制,例如按钮可以单机双击,文本框可以监听内容修改获取焦点等事件。
  2. 方法:事件出发后要执行的操作,例如单击按钮(事件)后文本框内容修改(方法)
窗体
  1. 组成

    1. 标题栏:标题内容,最小化,最大化,关闭按钮

    2. 窗体主体:自定义各种控件

      image-20230919223447739
  2. 窗体常见属性

    属性名说明
    caption修改窗体标题
    name窗体名称(编写代码查找窗体使用)
    MaxButton最大化按钮
    ControlBox系统菜单栏
    BackColor背景颜色
    BorderStyle窗体边框样式
    Height窗体高度
  3. 窗体常用事件

    事件触发时机
    Click鼠标单击
    DbClick鼠标双击
    Load窗体打开后触发
    Unload窗体关闭时触发
控件与焦点
  1. 焦点:控件被选中的状态image-20230919225224991
  2. 获得焦点的方式
    1. 通过Tab键切换
    2. 通过鼠标选择
    3. 通过代码设置(控件名.setFocus)
控件的绘制
  1. 鼠标单击---->绘制控件(配合Ctrl可以实现重复绘制)
  2. 鼠标双击控件------>在窗体中间自动生成一个默认大小的控件,如果同时添加多个控件会出现控件重叠的情况。
控件大小调整
  1. 选择对应的控件,通过设置属性(height,weight)的方式该表大小
  2. 鼠标拖动周围小点的方式改变控件大小
控件位置调整
  1. 1.使用left,top属性设置控件位置
  2. 使用鼠标拖动改变控件位置
  3. Ctrl+方向键修改控件位置
布局调整
  1. 选中调整的控件,点击格式调整对齐方式。(配合Shift选中所有控件或通过鼠标框选)
  2. 格式中的对齐,统一格式,水平间距,垂直间距调整布局。
控件常用属性
属性名说明
caption标题/显示内容
name控件名称(编码时定位控件使用)
enabled控件是否可用(置灰状态)
visible控件是否可见(隐藏控件)
font设置字体样式
height/width设置控件尺寸
top/left设置控件位置
forecolor设置前景色(窗体中小点的颜色,控件中文字颜色)
backcolor设置背景颜色
标题栏—lable
  1. 常见属性

    属性说明
    alignment设置标题内容在控件中的位置
    left 靠左
    right 靠右
    center 居中
    autosize设置控件尺寸跟随文字内容自动调整
    wordwrap控件宽度固定,高度跟随文字变化子自动调整

    ❤使用wordwrap前autosize属性值必须为true

文本框
  1. 常用属性

    属性说明
    locked锁定文本框内容(光标闪动,文本内容无法编辑)
    enabled设置文本框是否可用
    passwordchar设置文本加密(输入字符为加密显示字符)
    multilint设置文本内容最大32kb
    scrollbars设置文本框滚动条 0:没有(默认值) 1:水平方向滚动条 2:垂直方向滚动条 3:水平垂直都有(只在一行显示,需要回车换行)

    ❤先将multiline设置为true,scrollbars属性才能生效。

  2. 常用事件

    事件说明
    Change文本框内容发生修改时触发
    GotFocus文本框获得焦点时触发
    LostFocus文本框失去焦点时触发
  3. 通过代码使文本框获得焦点

    Text1.SetFocus

  4. 文本框常用方法

    方法说明
    selStart光标此刻所处的位置
    selLength选中字符的长度
    selText选中字符
按钮
  1. 常用属性

    属性说明
    Caption设置按钮显示内容
    Default值为True时,回车键控制按钮点击
    Cancel值为True时,Esc键控制按钮点击
  2. 设置按钮图标

    1. 将Style属性设置为1–Graphical
    2. 设置picture属性选择图片(默认\Common\Graphics\Icons目录下有系统提供的图标)
  3. 按钮增加动态提示

    ToolTipText设置提示内容
  4. 按钮常见事件

    Click鼠标单击
通用模块(重写sendkeys)
Public Sub Sendkeys(text$, Optional wait As Boolean = False)
    Dim WshShell As Object
    Set WshShell = CreateObject("wscript.shell")
    WshShell.Sendkeys text, wait
    Set WshShell = Nothing
End Sub

Visual Basic第三章

模块—vb程序中的容器
  1. 窗口模块:程序有不同多个窗体组成,每个窗体包含不同的控件及代码
  2. 标准模块:程序代码的共享,可以包含全局变量、常量及外部过程
  3. 类模块:创建对象的模板
过程

概念:具有特定功能的代码集合

分类说明
事件过程触发某个事件执行的代码
通用过程所有窗体和控件可共享的代码
代码窗口
代码窗口的使用
  1. 双击控件
  2. 工程资源管理器
  3. 选择控件鼠标右击
代码窗口的查看
  1. 过程查看(单模块查看)image-20230920093106529

  2. 全模块查看(所有控件及通用代码)image-20230920093125277

代码窗口的智能化编辑
  1. 自动语法检查
  2. 自动格式排版
  3. 语法提示
编码规则
  1. 不区分大小写
  2. 同一行可书写多条语句,使用:分割(不提倡)
  3. 每行最多1024个字符,续行符“_”
  4. 数字除了可以用默认的十进制表示外,还可以用其他进制: &H9A、 &O76
  5. 代码要有缩进
注释

​ 概念:有利于程序的阅读,维护和调试,不影响代码运行,使用单引号

  1. 在代码尾部添加,有续行符的不可以
  2. 添加多行注释时可使用工具栏下的注释块功能
关键字

visual basic中保留的字母作为程序中固有含义的标识符,不能被重新定义。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

标识符
  1. 定义:标识符是用户在编程时定义的名称,包括常量,变量,过程,函数和类等,在实际操作这些变量的时候我们需要给每个变量起一个名字以表示区分。这就像在日常生活中每一个人,每一个商店都会有一个名字一样。

  2. 命名规则:

    1. 由大小写英文,数字,下划线(_)组成,且以字母开头(可使用汉字,不推荐)
    2. 长度不能超过255
    3. 不能使用关键字,不能与当前模块中已有方法和属性名重复
    4. VB不区分变量名的大小写,一般变量名首字母用大写,其余用小写字母表示;常量全部用大写字母
  3. 示例

    1. Const PI = 3.141592653     #PI为常量标识符,代表圆周率
      Dim Name as String         #Name为变量标识符,表示姓名
      
数据类型
image-20230825175013372
数据类型关键字类型符前缀占字节数应用
字节型Bytebyte1存储二进制数据,范围较小,不能存放负数
逻辑型Booleanbln2只有 True 和 False 两种取值,用于逻辑判断
整型Integer%int2保存整数,取值范围小,用于不带小数的数据
长整型Long&Ing4取值范围大于整型,其余同上
单精度型Single!sng4保存浮点实数,运算可能会产生误差
双精度型Double#dbl8取值范围大于单精度型,其余同上
货币型Currency@cur8保存定点实数,主要用于货币计算
日期型Datedtm8保存日期与时间数据
字符型String$str可变保存字符串数据,分为定长与变长两种
对象型Objectobj4存储32位的地址数据,该地址可引用应用程序中的对象
变体型Variantvnt可变可以保存所有系统定义的数据类型,主要是用于未定义变量的默认数据类型,其数据类型的处理完全取决于上下文
常量

在程序运行过程中不变的量,例如圆周率

  1. 直接常量

  2. 符号常量

    Const 常量名 [AS 类型] = 值 | 表达式

    Const PI = 3.14159
    
  3. 系统常量

变量

在程序运行中其存储的值可以改变

命名规则
  1. 必须以字母或汉字开头,由字母、汉字、数 字或下划线组成,长度小于等于255个字符
  2. 不能使用VB中的关键字
  3. VB不区分变量名的大小写,一般变量名首字母用大写,其余用小写字母表示;常量全部用大写字母
非法变量名
  1. 3xy ’ 数字开头
  2. y - z ’ 不允许出现减号
  3. Wang Ping ’ 不允许出现空格
  4. Dim ’ VB.NET的关键字
  5. Cos '标准函数名
声明变量
  1. 显式声明

    Dim 变量名 [As 类型]

    Dim m As Integer 	'定义整型变量m'
    Dim m,n As Integer, x,y As Single  '创建了变体型变量m、x,整型变量n和单精度型变量y 
    

    强制显示声明:**工具→选项→编辑器→ **要求变量声明image-20230922100053325

  2. 隐式声明

    x = "123"		'定义变体型变量x'
    
  3. 类型声明符

    strName$ = "张三"		'定义一个字符型变量strName'
    Dim age%			'定义一个整型变量age'
    
运算符与表达式
  1. 运算符分类
    1. 算数运算符
    2. 字符串运算符
    3. 关系运算符
    4. 逻辑运算符
算数运算符(设ia=3)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

❤注意❤

算数运算符两边应是数值型,若是数字字符(“123”)或逻辑型,则自动转换为数值型后再运算

30-True     '结果为31   True转为数值-1
False + 10 + "4"	'结果为14,False转换为0'
字符串运算符
操作符说明
+1)数值型:则进行算术加运算
2)一个为数字字符,另一个为数值,自动将数 字字符转换为数值后进行算术加
3)一个为非数字字符,另一个为数值型,出错
4)两边必须都为字符型才能进行拼接
&将两边转换为字符串后进行拼接
12 + 12			    '数值型24'
12 + "12"			'数值型24'
"中国" + 12		   '报错'
"123" + "456"		 '字符型123456'
12 & 12				'字符型1212'
12 & "True"			'字符型12True'
关系运算符

也叫比较运算符,双目运算符,结果为布尔型数据。

字符类型数据比较时只比较相同位数的ASCII值

运算符结果
=" ABCDE " = " ABR "False
>" ABCDE " > " ABR "False
>=32>=12True
<23<3False
<=3<=23True
<>" abc" <> "abcde "True

img

逻辑运算符

除Not是单目运算外,其余都是双目运算。外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Eqv等价5两个操作数相等时才为真(3>2)Eqv (“a”>“b”)F
Imp蕴涵6第一个操作数为真,第二个操作数为假,结果才为假,其余为真(3>2)Imp(“a”>“b”)F
运算符的优先级

算术运算符 > =算术运算符>比较运算符 > 逻辑运算符

数组

具有相同名字,下标值不同的一组变量称为数组变量,简称数组

数组必须先声明,后使用

数组下标默认从0开始

分类
  1. 静态数组

    数组的维数与下标的范围在声明时确定

    声明:Dim 数组名(下标上界) As 数据类型

    Dim sngCj(45) As Single    '具有46个元素的一维数组'
    Dim intA(3,4) As Integer	'声明一个二维数组,共有20个元素'
    Dim BirthDay(1 To 10) As Date	'声明下标从1到10的数组'
    
  2. 动态数组

    声明数组时不指明下标的大小(省略括号中的下标),当需要使用时,再用ReDim语句重新定义其大小

声明:Dim 数组名() As 数据类型

重新分配:ReDim 数组名(下标数)

Dim intRs() As Integer        
ReDim intRs(12)
intRs(0) = 1
intRs(1) = 2
print intRs(0)		'#   1'
print intRs(1)		'#   2'
'使用Presever源数据得以保留'
ReDim Presever intRs(6)
print intRs(0)		'#   1'
print intRs(1)		'#   2'
'使用ReDim改变数组大小会使原数组的内容丢失,使用Preserver关键字可保留原数组内容,不能改变源数据类型
ReDim intRs(6)
print intRs(0)		'#   0'
print intRs(1)		'#   0'
二维数组

定义:Dim 数组名(行数,列数) As 数据类型

Dim MyArry(2,4) As Integer
'二维数组元素个数为3*5个,行数下标0~2,列数下标0~4'
修改数组下标起始值
Option base 0|1       '设置下标起始值'
'该语句必须放置在模块所有过程和所有数组声明之前,而且一个模块中只能出现一次'
'LBound(数组名)	返回数组指定维的下标下限'
'UBound(数组名)	返回数组指定维的下标下限'
Dim Lower, Uower    '定义变量显示下标上下界
Dim MyArray(20), TwoArray(3, 4) '声明数组
Dim ZoreArray(0 To 5)   '定义数组下标从0开始
'使用LBound函数查看数组下标下限值'
Lower = LBound(MyArray)        '返回0'
Lower = LBound(TwoArray)        '返回0'
Lower = LBound(ZoreArray)       '返回1'
'使用UBound函数查看数组下标上限值'
Uower = UBound(MyArray)         '返回20'
Uower = UBound(MTwoArray)       '返回4'
Uower = UBound(ZoreArray)       '返回5'
数组的使用

访问:数组名(下标值)

赋值:数组名(下标值) = 表达式|值

'通常数组配合循环联合使用
Private Sub Form_Click()
Dim intA(10) As Integer
Dim i As Integer
For i = 0 To 10
   intA(i) = 1  '对每个数组元素赋初值1
   Print intA(i)    '输出数组元素的值
Next i
End Sub

❤数组的访问不能超过数组下标上界,否则会报数组越界错误

Dim intA(10) As Integer
Print intA(11)  			'访问下标不存在

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

标准(内部)函数
概念

​ 实现某种特定功能或能实现某种运算的代码块,例如计算平均值,求和等操作

分类
  1. 数学函数

    函数名含义示例结果
    Abs(N)取绝对值Abs(-3.5)3.5
    Cos(N)余弦函数Cos(0)1
    Exp(N)返回e的N次幂
    Fix(N取整Fix(-3.5)-3
    Log(N)自然对数Log(10)2.3
    Int(N)取小于或等于N的最大整数(向下取整)Int(-3.5-4
    Rnd[(N)]产生随机数Rnd[0,1)之间的数
    Round(N)四舍五入取整Round(3.5)4
    Sin(N)正弦函数Sin(0)0
    Sgn(N)符号函数Sgn(-3.5)-1
    Sqr(N)平方根Sqr(9)3
    Tan(N)正切函数Tan(0)0
  2. 转换函数

    函数名功能示例结果
    Asc©字符转换成ASCII码值Asc(“A”)65
    CDate转换成日期型CDate(“2003/11/13”)2003-11-13
    Chr(N)ASCII码值转换成字符Chr$(65)“A”
    Hex(N)十进制转换成十六进制Hex(100)64
    Lcase$©大写字母转为小写字母Lcase$(“ABC”)“abc”
    Oct](N)十进制转换成八进制Oct$(100)“144”
    Str(N)数值转换为字符串Str$(123.45)“123.45”
    Ucase©小写字母转为大写字母Ucase$(“abc”)“ABC”
    Val©数字字符串转换为数值Val(“123AB”)123
  3. 字符串函数

    函数名功能示例结果
    Right(C,N)取字符串右边n个字符Right(“ABCD”,3)“BCD"
    RTrim©去掉字符串右边空格RTrim(“ABCD”)“ABCD”
    Space(N)产生n个空格的字符串Space(3)“"
    Split(C[,D])将字符串分隔成字符数组。与Join作用相反S=Split(“123,ab”,“,”)S(0)=“123” S(1)=“ab"
    String(N,C)重复首字符nString(3,“ABC”)“AAA”
    StrReverse©将字符串反序StrReverse(“ABCD”)“DCBA”
    InStr([N,]C1,C2[,M])n开始,在C1中找C2InStr(2,“EFABCDEFG”,“EF”)7
    Left(C,N)取字符串左边n个字符Left(“ABCDE”,3)“ABC”
    Len©字符串长度Len(“AB教育”)4
    Trim©去掉字符串两边空格Trim(“ABCD”)“ABCD”
    Mid(C,N1[,N2])取字符子串Mid(“ABCDE”,2,3)“BCD”
    Replace(C,C1,C2)C2替代C1Replace(“ACDABCD”,“CD”,“3”)“A3AB3”
  4. 日期函数

    函数名功能示例结果
    Date[()]返回系统日期Date
    Day(C|N)返回日期代号(1~31)Day(“2003,05,01”)
    Hour(C|N)返回小时(0~24)Hour(#1:12:56PM#)
    Minute(CN)返回分钟(0~59)Minute(#1:12:56PM#)
    Month(CN)返回月份代号(1~12)Month(“2003,05,01”)
    Now返回系统日期和时间Now
    Second(CN)返回秒(0~59)Second(#1:12:56PM#)
    Time[()]返回系统时间Time
    Year(CN)返回年代号(1753~2078)Year(365)

  5. Shell函数

    作用:调取应用程序

    格式:Shell(应用程序.exe|.bat|.com)

    i=Shell( "calc.exe")  	'打开计算器'
    '调用成功返回任务表示ID,失败返回0'
    
  6. 格式输出函数
    | |
    | Hour(C|N) | 返回小时(0~24) | Hour(#1:12:56PM#) | |
    | Minute(CN) | 返回分钟(0~59) | Minute(#1:12:56PM#) | |
    | Month(CN) | 返回月份代号(1~12) | Month(“2003,05,01”) | |
    | Now | 返回系统日期和时间 | Now | |
    | Second(CN) | 返回秒(0~59) | Second(#1:12:56PM#) | |
    | Time[()] | 返回系统时间 | Time | |
    | Year(CN) | 返回年代号(1753~2078) | Year(365) | |

  7. Shell函数

    作用:调取应用程序

    格式:Shell(应用程序.exe|.bat|.com)

    i=Shell( "calc.exe")  	'打开计算器'
    '调用成功返回任务表示ID,失败返回0'
    
  8. 格式输出函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值