VB学习笔记(持续更新)

来源:互联网 发布:pandorabox安装python 编辑:程序博客网 时间:2024/05/01 07:12
第二章 VB语言基础

一、基本数据类型
1.字符型
Private A As String //声明字符型变量
A = "VB语言基础"
A = Right(A,3)   //用right取右边三个字符输出
MsgBox A //输出A
End Sub

2.数值型
整数型 Integer                      长整型Long                    单精度浮点型Sigle
双精度浮点型Double           货币型Currency              字节型Byte
Dim i As Integer
i = 2.6873453453
MsgBox i
注意:数值型声明用Dim。
 
3.日期型
Private Sub Form_Load()
    Dim mydate As Date
    mydata = #2/4/1977#
    MsgBox mydate
End Sub 

4.记录类型:
数据类型由用户自定义的。
[Private|Public]Type 数据类型名
数据类型元素名 As 类型名
数据类型元素名 As 类型名
……
End Type
 
eg.
Type Sell
    name As String*20 //定义长度为20的字符型变量
    standard As String //定义长度为10的字符型变量
    Price As Currency //定义货币型变量
End Type

5.枚举类型
枚举是为一组整数型提供便于记忆的标识符,其作用是管理和使用变量。枚举类型用Enum语句来定义。
枚举类型的实质是定义一个符号常量集,并用一个名称表示该集合。
[Private|Public]Enum 数据类型名
    数据类型元素名 = 整型常数表达式
    数据类型元素名 = 整型常数表达式
   ……
End Enum

eg.使用Enum语句定义一个颜色类型,其中包括一些颜色常数,可以用于设计数据库的数据输入窗体。
Public Enum myColors
    myRose = &HE1E4FF
    myGray = &H908070
    myBlue = &HFF901E
    mySkyBlue = &HFFBF00
    mySpringGreen = &H7FFF00
    myForestGreen = &H228B22
End Enum

二、变量
1.变量的命名
变量名可以是英文字母、中文、汉字、数字、下划线组成
关键字不能做变量名
唯一性
变量名不区分大小写

2.变量声明
使用变量时要声明变量的名称及数据类型

Dim|Private|Static|Public 变量名 As 数据类型
|表示用户在实际声明的变量中,可以从中任选其一。

可以使用数据类型的类型符号来代替As语句
Dim Str$
Dim Int%
ps.变量名与数据类型名之间不能有空格

一条Dim语句可以声明多个变量,各变量之间以逗号隔开。
Dim Str As String,Int As Integer,Sng as Single
声明指定变量的长度
Dim Str1 As String*128

隐式变量声明
在VB中也可以不事先声明而直接使用变量,这种方式称为隐式变量声明。
代码如下:
Dim a
a = 111
或者直接使用
a= 111
ps.隐式变量虽然使用起来方便,但是如果出现问题解决起来也比较棘手。由于其不用声明就可以直接使用,所以一旦出现问题编译器也不会报错。

强制变量声明
强制变量声明会在声明段添加Option Explicit语句,如果程序中存在直接使用的变量(隐式变量),那么运行系统时就会提示“变量未定义”。

DefType
该语句可以在标准模块或窗体模块的声明部分定义变量
DefType 字母范围

3.变量的作用域
每个变量都有其作用范围,称作作用域。
在一个过程内部声明的变量只在该过程内部有效;
一个在模块的通用声明部分声明的变量,只在该模块内的所有过程中有效;
对于使用Public语句声明的变量,不仅对于同一模块内的所有过程有效,甚至对于整个应用程序的所有过程也是有效的。

4.静态变量
既可以使用Dim语句声明局部变量,也可以使用Stastic语句声明局部变量。
Stastic 变量名 As 数据类型
与Dim语句声明的变量的不同之处在于:当一个过程结束时,过程中所用到的静态变量的值会保留,下次在调用该过程时,变量的初值是调用结束时被保留的值。
Dim语句定义的局部变量是随过程的调用而分配存储单元,并进行变量的初始化。一旦过程结束,变量的内容将自动消失,占用的存储单元也被释放。

5.变量同名问题的处理
如果在不同模块中的公用变量使用了同一个名称,则通过同时引用模块名和变量名在代码中进行区分。
eg.如果在Form1和Module中都声明了一个整型公用变量intNumber,则可以使用Form1.intNumber和Module1.intNumber来区分这两个同名的变量。
在Form1中添加两个按钮,在他们的Click事件过程中编写代码时分别调用Form2和form3的窗体。
Private Sub Command1_Click()
    Form2.Show
    MsgBox Foem2.intNumber
End Sub
Private Sub Command2_Click()
    Form3.Show
    MsgBox Form3.int Number
End Sub

6.变量的声明周期
动态变量:从进入到变量的位置,进过一系列的处理,在程序执行结束之后,该变量所占用的内存的空间被释放为止。
静态变量:从第一次运行到变量所在的过程开始,变量的值在程序的执行过程中被修改。当程序退出时,变量的值将被保存,下次执行程序时变量的值是上次保留的值。
全局变量:全局变量在整个程序执行过程中,其值不会消失也不会被初始化,程序结束后变量生命周期结束,释放内存空间。

三、常量
1.常量的声明
当程序中需要重复使用一个其值始终不发生改变的量时,可以使用Const语句来声明一个常量,其语法格式如下
[Poublic|Private]<常量名>[As<数据类型>]=<常量表达式>
  • Public:可选的参数,用于声明在工程的所有模块的任何过程中都可以使用的常量
  • Private:可选的参数,用于声明只能在包含该声明的模块中使用的常量
  • 常量名:必选的参数,用于指定该常量的名称,必须是合法的VB标识符
  • 数据类型:可选的参数,也可以通过数据类型符号规定常量的类型
  • 常量表达式:必选的参数,包括常量和操作符,但不能包含变量,而且计算结果总是常值
eg.Const PI As Single=3.1415926
Print 3*PI
ps.如果在程序中改变已定义为常量的值,则会出现错误提示。

2.局部变量和全局变量
在声明模块级常量时,如果没有使用Public或者Private关键字,系统默认的是Private。在模块中使用Public语句声明后的符号常量就是一个全局常量,该变量可以在程序中所有模块的过程中使用。同样用Private声明过的常量就是局部常量。

四、运算符和表达式
1.运算符
在VB中有四种运算符(优先级):算数运算符>关系运算符>连接运算符>逻辑运算符

算数运算符
按优先级从高到低^、*、/、Mod、\(整除运算符)、+、-,其中\只能运算除法结果的整数部分。
ps.当^与-(负号)相邻时,负号优先。

关系运算符
不等于<>
等于=
小于、大于< >
大于等于>=
小于等于<=
赋值号与关系运算符都是=,但是关系表达式不能作为一条语句出现在程序中,它只能出现在其他语句或表达式中间。

连接运算符
+、&:当两个表达式都是字符串时,将两个字符串相连接,如果一个是字符串一个是数字则进行相加,结果为两个数字相加的和。
ps.变量名与“&”之间一定要加一个空格,因为&本身还是长整型的类型符。

逻辑运算符
非Not 与And 或Or 逻辑亦或Xor 逻辑等于Eqv 逻辑蕴含Imp 逻辑运算的结果是不二型值,即True和False。

2.代码编写规则
  • 尽可能用完整的单词
  • 所有标识符应该大小写混用(每个单词开头字母都大写)
  • 使用一致的属于
  • 集合类名词使用正确的复数
  • 常数使用前缀
  • 可将单行语句分成多行使用续行符号“ _”(一个空格加一个下划线)
  • 多个语句合并写一行a(0) = 11:a(1)=12
  • 刻在代码中添加注释用'
  • 在输入代码时候不区分大小写
代码注释规则
  • 程序功能模块的部分要有代码注释,简明的阐述该模块实现的功能
  • 程序或模块开头要有以下注释:模块名、创建人、日期、功能描述
  • 尽量使用中文对代码进行注释
注释占一行
'为窗体标题栏设置文字
Me.caption="明日科技”
注释占几行
'==================================
'名称
'功能
'日期
'单位
'==================================

第三章 算法和程序结构控制
1.算法:解决某个问题或处理某件事的方法和步骤

2.顺序结构
通过Let关键字和使用赋值运算符“=”给变量或属性赋值
[Let]<变量名>=<表达式>
Let是一种关键字格式,通常省略此关键字

数据的输入
文本框:Text属性可以获得用户从键盘输入的数据,或将计算结果输出。
InputBox函数:提供了一个简单的对话框供用户输入信息,在该对话框有一个输入框和两个命令按钮。显示对话框后,将等待用户输入:当哟哦难怪乎单机确定按钮后,将返回输入的内容。
有两种,一是带返回值的,二是不带返回值的

数据的输出
MsgBox函数:在对话框中显示消息,等待用户单机按钮,并返回一个整数告诉用户单机的是哪一个按钮。
Print方法:是输出数据、文本的一个重要的方法。
窗体名称.Print[<表达式>[,|;[<表达式>]…]]
每执行一个Print方法将自动换行,可以通过在末尾加上逗号或者分号的方法使输出结果在同一行显示。

3.选择结构
 单分支If then语句
可以写成单行的形式
eg.
If Text1.Text = "11"Then MsgBox"登陆成功"
也可写成块形式
If 条件表达式 Then
    语句块
End If
语句块可以使单个语句或多个语句,可以多行或单行,单行可以用:隔开
eg.
If a=1 Then
    b=100:c=100:d=100
End If

双分支
If 条件表达式 Then
    语句块1
Else
    语句块2
End if

If语句的嵌套
If 条件表达式 Then
    语句块1
    If 条件表达式2 Then
        语句块
    Else
         if 条件表达式4 Then 语句块3 语句块4
    End if
    语句块5
Else
    语句块6
    If 条件表达式3 Then
    语句块7
    End if
    语句块8
End If

多分支If  Then ElseIf
If 条件表达式1 Then
    语句块1
ElseIf 条件表达式2 Then
    语句块2
ElseIf 条件表达式3 Then
    语句块3 
     ……

Select Case语句
Select Case 测试表达式
          Case 表达式1
              语句块1
          Case 表达式2
              语句块2
          Case 表达式3
              语句块3
End Select

IIf函数
根据表达式的值返回其中一个值或表达式
IIf(<表达式>,<值或表达式1>,<值或表达式>)
true返回表达式1,False返回表达式2
这个可以用If Else Then来进行替换

4.循环结构
For  Next语句
当循环次数确定时可以使用For Next语句
For 循环变量 = 初值 To 终值 [步长]
    循环体
    [Exit For]
    循环体
Next 循环变量
如果不指定步长则喜用默认步长是1

For Each Next语句
For Each 数组或集合中的元素 In 数组或集合
    循环体
    [Exit For]
    循环体
Next 数组或集合中的元素

Do Loop
  • Do While Loop
Do While<循环条件>
循环体1
<Exit Do>
Loop
  • Do Loop While
Do
循环体1
<Exit Do>
循环体2
Loop  While<循环条件>
  • Do Until Loop直到型循环
Do Until
   循环体1
<Exit Do>
  循环体2
Loop
另一种形式
Do
循环体1
<Exit Do>
循环体2
Loop Until<循环条件>

5.其他辅助控制语句
GoTo语句
GoTo<行号|标签>

退出语句Exit Do/For/Function/Property/Sub

结束语句:结束语句是用来借宿一个过程和块
End If/Function/Property/Sub
0 0
原创粉丝点击