vb笔记系统 符号.docx
《vb笔记系统 符号.docx》由会员分享,可在线阅读,更多相关《vb笔记系统 符号.docx(54页珍藏版)》请在冰点文库上搜索。
vb笔记系统符号
前言
笔记规则
符号说明
i==重复标识符,若出现在”[]”中,表示该部分可以以不同形式重复出现任意次数。
以“ii”的形式出现在”[]”后,表示该部分可以重复出现。
书中“文件名”被我用“文件地址”代替,“文件名”专门用于表示文件的名字,“文件路径”表示文件的存放位置。
所以“文件地址”=“文件路径”&“文件名”
控件不包含窗体,但大多数时候笔记中的“控件”模糊地包含了窗体
公共基础
算法
算法的基本概念
算法==一些列解决问题的清洗指令。
基本特征
可行性
确定性
有穷性
拥有足够的情报
算法的基本要素
对数据对象的运算和操作。
算术运算、逻辑运算、关系运算、数据传输
算法的控制结构,即运算和操作时间的顺序。
基本控制结构==顺序结构、选择结构、循环结构。
算法设计的基本方法
列举法、归纳法、递推法、递归法、减半递推技术、回溯法。
算法的复杂程度
算法复杂程度==时间复杂程度、控件复杂程度。
(常考)
时间复杂程度==执行算法所需的计算工作量。
(不是计算时间)
算法的空间复杂程度==执行算法所需要的内存空间。
占用空间==算法程序所占空间&输入初始数据所占空间&算法执行过程所需要的空间
数据结构的基本概念
数据结构的定义
数据结构==相互关联的数据元素的集合,即数据的组织形式。
数据的逻辑结构==数据元素(数据处理的最小单位)之间的逻辑关系。
包含两个要素==数据元素的集合
数据的存储结构
vb基础
vb是面向对象的程序开发软件
vb事件过程名字=sub(系统关键字)+控件名+事件名
保存工程:
先保存窗体文件,后保存工程文件。
vb工程至少包含两个文件:
工程文件及窗体文件。
在窗体上通过Ctrl+方向键可以移动控件。
注意:
窗体不是控件!
VB默认单位==twip,1inch==1440twip。
可以通过ScaleMode改变VB默认长度单位。
Alt+Q==退出VB
Ctrl+O==打开工程
VB版本特性
VB特点==面向对象可视化事件驱动结构化程序设计语言访问数据库
与传统程序设计语言相比,VB最突出的特点==采用事件驱动编程机制
VB版本==学习版专业版企业版
VB6.0是VisualStudio6.0套装软件的一个成员。
VB启动与退出
VB启动方法
开始菜单中选中VB
在资源管理器中启动
运行命令启动
快捷方式启动
VB窗口布局
“MDI”文档界面)可以通过“工具”→“选项”→“高级”来设置成“SDI”(单文档界面)。
多数情况下使用SDI会更加方便。
VB窗口==标题栏菜单栏工具栏工具箱窗体设计器工程资源管理器窗体布局窗口属属性窗口
VB会保存上一次窗口排布,并作为下一次启动VB的布局。
主窗口
标题栏和菜单栏
标题栏
标题栏==<工程名称>-MicrosoftVisualBasic[<状态>]
状态==设计运行Break
菜单栏
菜单命令分为可直接执行命令、通过对话框执行命令(带省略号)
只有部分菜单命令可通过热键执行。
键盘控制菜单项
[1]
F10、Alt激活主菜单项
按字母选择后续菜单
[2]
F10、Alt激活主菜单项
通过方向键和回车键选择菜单项
[3]
Alt+字母键打开主菜单
按字母键选中子菜单。
工具栏
工具栏==标准、编辑、窗体编辑器、调试
默认仅显示“标准”
工具栏可以浮动或固定
其他窗口
窗体设计器窗口
窗体设计器窗口==空窗体
命名为“Formx”(x为1、2、3...)
工程资源管理器窗口
按钮
查看代码查看对象切换文件夹
文件
vb文件一般有7种:
.frm=窗体文件
.frx=窗体二进制信息文件
.bas=标准模块文件
.cle=类模块文件
.vbp=工程文件
.res=资源文件
.ocx=ActiveX控件的文件
属性窗口
工具箱窗口
对象的三要素
属性事件方法
开发环境
主窗口
左上角显示控件菜单图标,双击可以关闭vb。
(事实上绝大多数程序双击左上角都可以关闭)
控件菜单图标右边接着显示工程名称、运行状态。
(方括弧里可能显示“设计”、“运行”、“break”)
菜单栏
位于主窗口标题栏之下,共13个菜单项。
工具栏
位于菜单栏之下。
有编辑、标准、窗体编辑器、调试共4种工具栏,默认只显示标准工具栏,其他工具栏可以通过“视图”→“工具栏”命令打开或关闭。
窗体设计窗口
位于程序中央,每一个窗体均有一个对应的设计窗口。
窗体布局窗口
位于右下角。
用来观察和设定各窗体在屏幕中的初始位置。
属性窗口
代码窗口
又称代码编辑器。
工具箱
其中控件分3类:
内部控件(标准控件)、Active控件和可插入对象
其他窗口
立即窗口
本地窗口
监视窗口
对象浏览器
“视图”→“对象浏览器”,快捷键F2。
可以查看vb中的对象的有效方法和属性,并且可以将其代码过程粘贴进自己的程序。
快捷键
alt+Q=退出vb
数据
输入输出
输入主要控件:
TextBox、InputBox
输出主要控件:
Label、TextBox、Msgbox、Print方法
输出
Print方法
输出位置由控件CurrentX与CurrentY决定
变量类型
类型
类型符
范围
占用字节数
Byte字节型
[0,255]的无符号整数
1
intenger整型
%
[-2^15,2^15-1]的整数
2
Long长整型
&
[-2^31,2^31-1]的整数
4
Single单精度
!
数值23位,指数9位
4
Double双精度
#
数值52位,指数12位
8
Currency货币型
定点数,整数15位,小数4位
8
Date日期型
8
Boolean布尔型
2
Object对象型
4
数值型
String字符型
无论汉字还是Ascii字符,vb均用两个字节保存。
长度为0的字符串称为空字符串。
String*n==定长字符型,n为字符长度。
日期型
定界符:
“#”
逻辑型
也成布尔型,只有True和False两个值。
变体型
可以储存所有类型的数据(自定义类型除外)。
用VarType函数可以判断其数据类型。
对象型
对象型用于引用程序中的对象,可以使用set语句对其赋值。
Deciminal
仅在变体类型中出现,储存为96位(12字节)的无符号整型并除以10的0-28次幂。
(该类型不能声明)
用户定义数据类型(记录类型)
格式
Type<数据类型名>
<数据类型元素名>As<类型名>
[<数据类型元素名>As<类型名>]ii
EndType
说明
记录类型中的元素可以为定长或变长字符串,在随机文件中必须使用定长字符串。
在随机文件操作中,记录类型有重要作用。
记录类型必须放在模块(标准模块或窗体模块)的声明部分。
放在标准模块时Type前可有Public(默认)或Private;放在窗体模块时,其前必须有Private。
变量溢出
按照计算步骤进行,可能出现在中间步骤,修改时要在溢出前修改
系统常量
pi
VbCrclf:
相当于回车键
命名规则
以字母或汉字开头,由字母、汉字、数字或下划线组成,字母不区分大小写
长度不超过255个字符
不能使用vb关键字。
vb中以空格断字,所以出现“end0”是合法的,且使用函数名作为名称,只要不加“()”也是合法的。
同一层内不得出现两个名称相同的标识符
通用命名规则
基本规则
由字母、数字、下划线组成
首字符必须为字母。
有效字符不超过225个。
不能使用VB保留字。
说明
可以加类型符于其后,显式说明。
(但类型符必须符合其类型,如1.2%错误!
)
数字前可加进制符&B:
2进制,&O:
8进制,&D:
10进制,&H:
16进制。
但每个数码位必须符合类型:
&O108错误!
应用科学技术法:
“D”=“E”(0.002=2D-3=2E-3),其中“D”、“E”后的数字为整数(可正可负不可为小数)
日期型常量须用#括起来,年月日之间用“/”分隔,时分秒之间用“:
”分隔,日期、时间、A/PM之间用空格分隔
字符串常量不可省略分隔符双引号,若字符串中需要用到双引号,须用两个连续的双引号表示。
如:
“say“”hello””.”表示say“hello”.
常量
Const<常量名>[类型符]=<值/表达式>[,<常量名>=<值/表达式>]
表达式可以由文字、常量和算术运算符、逻辑运算符(^除外)组成。
不能使用^、字符串运算符、变量、函数。
逻辑型常量仅true和false。
变量
可以在其后加类型符显示说明
不能出现“.”易犯错!
可以有“()”,即为数组变量
变量声明
单个声明
Dim/Static/Private/Public<变量>[类型声明][.<变量i>[类型声明]]
类型声明为:
“as变量类型名”,或“变量类型符”。
注意使用变量类型符进行类型声明时,变量与变量类型符之间不可有空格
dim语句后可一次声明多个变量,用“,”隔开,没有说明类型的即为变体型
批量声明
Def<变量简称><字母范围>
<变量简称>==
Int==整型;Lng==长整型;Sng==单精度;Dbl==双精度;Cur==货币型;Str==字符串型;Byte==字节型;Bool==布尔型;Date==日期型;Obl==对向型;Var==变体型。
<字母范围>==格式=<起始字母>-<终止字母>,表示由起始字母到终止字母间的全部字母。
ex:
A-Z=全部字母(表示将全部变量定义为统一类型)
作用==以<字母范围>表示的字母开头(包括它们本身)的变量都为<变量简称>类型
说明
用类型符说明类型的变量使用时可以在其后加类型符,也可不加。
ex:
aStr$==“Thisisastring”
变量作用域
局部变量
窗体/模块级变量
全局变量
声明位置
过程中
窗体通用声明段/模块
窗体通用声明段/模块
声明方式
Dim、Static
Dim/Private
Public
有效位置
本过程
本窗体/本模块
整个工程
同级量同名将出错。
不同级变量同名时,低等级变量屏蔽高等级变量。
全局变量
在窗体级声明的全局变量作为窗体属性处理。
窗体声明模块变量不允许为定长字符、数组或自定义类型。
在标准模块上声明的全局变量既是该模块的属性,也是所属工程的属性。
标准模块和本窗体全局变量可以直接访问。
访问其他窗体的全局变量或被屏蔽的本窗体全局变量时,需要用<窗体名>.<变量名>的方式访问。
(本窗体全局变量还允许用Me.<变量名>表示)
静态变量
Static
[说明]
Static定义的变量优于模块级或全局变量,所以不会发生冲突。
Static定义的过程中的全部变量均为静态变量。
Static定义的数组,使用前应当标注其维数。
常量声明
const<常量名>[类型声明]=值
常量必须赋值,变量不能在声明时赋值
常量声明一次只能声明一个
值可以为表达式,但不能包括函数(即使是三角函数也不行)
数据运算
运算顺序
运算类型
运算符
算术运算
^>>+、-(正负)>>*、/>>\>>Mod>>+-(加减)
字符串运算
&、+
关系运算
=、<>、<、>、<=、>=、Is、Like
逻辑运算
Not>>And>>Or>>Xor
算数运算
Mod是取余、\是取整,先整后余,不要搞错啊!
字符运算
“+”连接两端必须都为字符串,否则系统将“+”看作算术运算符,将导致错误。
“&”不管连接两端是啥都会强制转化并连接。
关系运算
运算符
is对象型变量比较
like字符串匹配,可以使用通配符
运算规则
数值型:
按大小
字符型:
按字符内码的字典序
逻辑型:
False>True
对向型:
两端对象为同一个对象返回True
逻辑运算
逻辑运算除了对逻辑型数据进行运算还可以对整数进行运算,称为位运算。
它是对数值的二进制形式按照逻辑运算中True=1、False=0的运算规则进行逐位运算。
变量转化
隐式转化
精度由低到高依次为:
byte、intenger、Long、single、double、currency
不同类型变量运算,向高精度变量兼容
给字符串赋非法值时,该值将被两端加引号后强制转化成字符串。
不报错!
单精度、双精度、货币转整型或长整型,转化为距离最近的整数,若距离相同,则转换为距离最近的偶数!
2.5->2,3.5->4
ascii码
退格B=8换行LF=10男性标志=11(word里是换行符)女性标志=12(word里是分页符)回车CR=13删除DEL=17退出ESC=27
数字:
49-58大写字母:
66-91小写字母:
98-123大小写差距32
可输出字符34-127
中文:
<0
对象
对象性质
对象==预定义对象&自定义对象
Microsoft建议所有对象命名均可用3个字母代表其类型作为名字前缀。
ex:
frm==窗体。
每个控件有一个默认的属性,通常把该属性的值称为该控件的值。
编程时可以用对象名直接代表对象值。
对象分类==标准控件ActiveX控件可插入对象
属性
对象名.属性名称==属性值
属性窗口
组成==对象框属性显示方式属性列表属性解释
激活对象属性窗口方法
鼠标单击属性框任何部位。
执行“视图”→“属性窗口”命令。
按F4。
单击工具栏上的属性上的“属性窗口”按钮。
Ctrl+PgOn、Ctrl+PgUp。
事件
获得焦点:
GotFocus(注意got是过去式,不是一般式!
)
事件过程
事件过程(EventProcedure)==响应某个事件后执行的代码。
[格式]
PrivateSub对象名称_事件名称(<参数列表>)
...响应代码...
Endsub
[说明]参数列表表明该事件可以返回的参数。
鼠标事件
SubFrom_<事件关键字>(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)
[说明]
<事件关键字>==MouseDown=压下鼠标;MouseUp=松开鼠标;MouseMove=移动鼠标。
Button=左键=1;右键=2;中键=4。
Shift=Shift、Ctrl、Alt的状态。
x、y=鼠标当前位置坐标。
返回参数Button调用与判定
只有MouseMove能同时检测多个按键按下。
即另外两个,Button属性仅可取值为0、1、2、4。
用逻辑运算符And可以判断是否按着某一个(些)键(不管有没按别的),返回布尔型。
(ButtonAndx)=x
e.g.“(ButtonAnd2)=2”==按着右键(不管是否按着另外两个)“(ButtonAnd3)=3”==同时按着左右键(不管是否按住中建)
botton实际上可以看作一个数组,有至多3个元素,使用and与某一数值相连时,输出其中相同部分;
e.g.bottonand3(bortton=7)结果为3
bottonand3=3(botton=7)结果为1.
[说明]Shift
按下Shift==1
按下Ctrl==2
按下Alt==4
全组合:
0-7
转换参数
shift
其最低3位(0-7)依次表示Alt、Ctrl、Shift。
鼠标光标形状
MousePointer
鼠标光标形状由属性MousePointer决定
0
默认(由对象决定)
1
箭头
2
十字线
3
I型
4
图标(嵌套方框)
5
尺寸线(上下左右箭头)
6
右上-左下尺寸线
7
垂直尺寸线
8
左上-右下尺寸线
9
水平尺寸线
10
向上箭头
11
沙漏
12
没有入口,圆形标记,表示控件移动受限
13
箭头和沙漏
14
箭头和问号
15
四向尺寸线
99
通过MouseIcon属性所指定的自定义图标
拖放
属性
[Warning]拖放结束后,拖放控件会回到原来的位置。
原因是VB不知应当将其放在何处,所以须有利用DragDrop事件返回的坐标及Move方法来人工移动控件。
拖放事件由的发动控件应当是容器(通常是From)而非被拖动对象,所以在拖动事件中修改拖动对象属性时,需要借助返回参数Scource。
DragMode
0==人工方式,不可拖放。
1==自动方式,可拖放。
[说明]
DragMode是一个标志,不是逻辑值,不能设置为true(-1)
DragMode=1时,对象停止接收Click和MouseDown事件。
DragIcon
[说明]在拖动一个对象时,并非对象本身移动而是代表对象的图标在移动。
设置方法与载入图片相同。
事件
DragDrop
当把目标控件拖动到目标位置后,松开鼠标将产生DragDrop事件。
返回参数==Scource=对象变量,含有对象属性,可以使用“Source.<属性>”调用对象属性;X、Y=放下坐标。
DragOver
当拖动对象越过一个控件时触发。
返回参数==Scource;X、Y;State=0=光标正在进入目标区域、1=光标正在退出目标区域、2光标正在目标区域之内。
方法
<控件名>.Drag
x=0==取消指定控件的拖放,不发出DragDrop事件。
x=1==启动控件拖放。
x=2==结束控件拖放,并发出DragDrop事件。
方法
方法用于完成一个特定的功能,格式:
控件名.方法名
获得焦点:
.SetFocus
Print方法
[对象].Print<输出项列表>[分隔符]
对象缺省值:
窗体。
Print方法总是从对象的当前位置决定,对象的当前位置本质上由CurrentX、CurrentY决定。
对象初始输出位置:
第一行、第一列。
遇到“,”,光标移至下一输出区(每一输出区宽14列),第一列。
遇到“;”,若前一列为数值、日期型,则光标右移一列,否则不动。
调用Cls方法时,光标返回第一行、第一列。
遇到Tab(n),若目前所在列标小于等于n,则移至本行第n列,否则移至下行第n列。
使用Print方法输出时,对象刷新显示将会清除所有已Print内容。
设置:
AntoRedraw=True,可以防止清除(自动重画)。
Cls方法
[对象.]Cls
清除对象上已绘制的全部图形和已打印的全部文字。
Move方法
<控件名>.Movex,y
将控件移动至x,y(坐标)所在的位置。
LoadPicture方法
SetFocus方法
对象操作
建立
[1]==单击后,拖动绘画
[2]==双击建立。
(默认大小和位置)
连续绘画
[1]==Ctrl/Shift+单击,[拖动绘画]ii
[2]==[双击]ii
选中
多选
[1]==Shift+[单击]ii
[2]==拖矩形框选
对象
窗体form
maxbotton=False时不可最大化
controlbox=false时不显示最大化、最小化按钮
atuoredraw=true自动重绘(图新框也有)
在“工具”→“选项”→“通用”中的“窗体网格设置”有利于窗体布局。
由于AutorRedraw=False,所以FormLoad中不能使用Print,将其设置为True后可以使用Print方法。
属性
ControlBox==true=右上角出现“最小化”、“最大化”、“关闭”。
反之不出现。
受BoraderStyle控制。
Icon==窗体最小化时显示的图标。
Mini/MaxBottom==ture=设置最小/大化按钮有效。
反之无效,以低亮度显示。
Picture==设置窗体背景图片。
WIndowState==0=正常状态,窗口边界。
1==最小化状态,仅显示一个示意图标。
2==最大化状态,无边界,全屏。
BoraderStyle==
0=无边框
1=固定single边框
2=普通(仅2有最小化最大化按钮)
3==固定dialogue边框(不知和2的区别)
4==固定工具窗口(和1相比,样子不同,比较方正)
5==普通工具窗口(和2相比,样子不同,比较方正)
DrawWidth==画笔粗细
事件
DblClick==双击触发。
(双击时,第一次出发Click事件,第二次出发DblClick事件。
)
Load==装载时触发。
Activate==激活窗体时触发。
Paint==窗体被移动或放大时触发。
菜单
菜单层级最多可达6级(但实际一般不超过3级),依次为:
主菜单项(位于顶层)、1级子菜单、2级子菜单、3级子菜单、4级子菜单、5级子菜单。
每个菜单的子菜单下要求至少有一个可见菜单项。
主菜单分两类,有下级菜单时称为子菜单名,无下级菜单时称为菜单命令。
子菜单项分三类,有下级菜单使称为子菜单名(显示时右边会有小三角号),无下级菜单时可以是菜单命令,也可以是分隔符。
分隔符无作用,在运行时不可单击,仅为使菜单结构更清晰。
菜单项唯一的事件:
Click单击。
弹出菜单
如果一个菜单的可见性为False且是一个子菜单名,可以通过弹出的方法使其出行并临时可用,这种菜单称为弹出菜单。
弹出方法:
[Object.]PopupMenuMenuName[,Flags[,x[,y[,BoldCommand]]]]
Object缺省值:
窗体
x、y用于确定弹出窗体的横纵坐标。
缺省值:
鼠标所在位置。
Flags用于确定基准点
取值
分组
效果
0
方式
仅当左键单击时执行命令
2
方式
左、右键单击时均执行命令
0
位置
x为弹出菜单左边界位置
4
位置
x为弹出菜单中心位置
8
位置
x为弹出菜单右边界位置
Flags值=方式取值+位置取值。
Flags缺省值:
0。
BlodCommand用于指定弹出菜单中以粗体显示的菜单项名称,一个弹出菜单只能有一个菜单项以粗体显示。
<对象>.PopupMenu<菜单名>,Flags,X,Y,BoldCommand
对象名==窗体名。
Flags
0
X坐标指定菜单左边位置
0
左键选择
4
X坐标指定菜单中间位置
8
X坐标指定菜单右边位置
8
右键选择
[说明]
包含两组取值,可以相加生效。
或使用逻辑表达式Or连接。
右键弹出
习惯上总是在按下鼠标右键时弹出菜单,所以往往在MouseDown中编写事件。
为了识别右键,往往用一下选择结构:
IfBotton=2ThenPopupMenu...
规避系统菜单
Text1.Enable=False‘这一步是为了使系统自定义右键菜单无效
Text1.Enable=True
热键和快捷键
热键:
所属菜单被激活后,按下热键即相当于单击菜单。
快捷键:
选择菜单命令的组合键。
区别
子菜单名和菜单命令都有热键,但只有菜单命令才能定义快捷键。
热键在菜单激活后才有效,快捷键可以在菜单未激活的情况下直接使用。
菜单编辑器
启用菜单编辑器的方法
“工具”→“菜单编辑器”
快捷键Ctrl+E
单击工具栏中“菜单编辑器”按钮。
右键→“菜单编辑器”
菜单编辑器界面
数据区