VB学习资料.docx
《VB学习资料.docx》由会员分享,可在线阅读,更多相关《VB学习资料.docx(16页珍藏版)》请在冰豆网上搜索。
VB学习资料
一、VB程序开发的一般步骤:
1、建立用户界面
2、设置对象属性
3、编写代码
二、VB窗体和常用控件
1、窗体
1)常用属性
属性
功能
Name
设置对象的名称
Caption
设置对象的标题
Top
窗体上边离屏幕上边的距离
Left
窗体左边离屏幕左边的距离
Width
对象的宽度
Height
对象的高度
Enabled
决定对象是否可用
Visible
决定对象是否可见
BackColor
设置对象的背景色
ForeColor
设置对象的前景色
Font
设置对象的字体
Picture
设置窗体背景图片
注:
Font中:
FontName、FontSize、FontBold、FontItalic、FontUnderline、FontStrikethru
(字体、字号、加粗、倾斜、下划线、删除线)
2)窗体常用事件
常用事件名
触发条件
Click
单击窗体空白处
Dblclick
双击窗体空白处
Load
当窗体加载到内存时
UnLoad
当窗体从内存中卸载
GotFocus
当窗体获得焦点时
LostFocus
当窗体失去焦点时
4)窗体常用方法
常用方法名
功能
Hide
隐藏窗体
Show
显示窗体
Move
移动窗体到指定位置
SetFocus
获得焦点
2、一般类控件的使用
1)Label
常用属性名
功能
Caption
设置标签上显示的标题
Aligment
设置对齐方式
Autosize
是否自动适应
2)TextBox
常用属性名
功能
Alignment
设置对齐
Text
文本框里显示的内容
MultiLine
是否允许多行显示
ScrollBars
设置是否显示滚动条
三、选择类控件
1.OptionButton(单选按钮)
常用属性名
功能
Value
设置是否被选中
Style
设置样式
常用事件
触发条件
Click
单击时触发
2.CheckBox(复选框)
常用属性名
功能
Value
设置是否被选中
Style
设置样式
常用事件
触发条件
Click
单击时触发
3.ListBox(列表框)
常用属性名
功能
List
列表项
ListIndex
当前被选中的列表项索引值
ListCount
列表框中列表项总项数
Text
当前被选中的列表项内容
Style
设置样式
常用事件
触发条件
Click
单击时触发
常用方法名
功能
AddItem
添加列表项
RemoveItem
删除列表项
Clear
清除所有列表项
说明:
1List属性是一个数组,一般格式为:
List(x)如List
(1)表示是第二个项目
2ListIndex属性的值为当前选中的列表项的索引值,0表示选中,-1表示没有选中。
3ListCount属性表示一共有多少个列表项
4Text属性表示当前选中的列表项的内容。
四、方法
方法是VB自身提供的一些特殊的过程,用来完成一定的操作。
不同的对象可执行不同的操作,因此,对象调用的方法也有所不同。
窗体上常用的方法有:
(1)Show方法
调用该方法可以将窗体显示在屏幕上。
调用格式:
[对象名].Show
(2)Hide方法
调用该方法可以隐藏窗体,但不会卸载窗体。
调用格式:
[对象名].Hide
(3)Move方法
(4)Cls方法
可以清除窗体内的文本和图形。
调用格式:
[对象名].Cls
(5)Print方法
在窗体上显示文字信息。
调用格式:
[对象名].Print
五、VB的数据类型表
数据类型
关键字
类型符
前缀
字节
范围
数
值
型
整型
Integer
%
int
2
-32768~32767
长整型
Long
&
lng
4
-2147483648~2147483647
单精度型
Single
!
sng
4
负数:
-3.402823E38~1.401298E-45
正数:
1.401298E-45~3.402823E38
双精度型
Double
#
dbl
8
负数:
-1.79769313486232D308~
-4.94065645841247D-324
正数:
4.94065645841247D-324~
1.79769313486232D308
货币型
Currency
@
cur
8
-922337203685477.5808~
922337203685477.5807
字节型
Byte
无
byt
1
0~255
日期型
Date(time)
无
dtm
8
01,01,100~12,31,9999
(00:
00:
00~23:
59:
59)
逻辑型
Boolean
无
bln
2
True与False
字符型
String
$
str
0~65535个字符
对象型
Object
无
obj
4
任何对象引用
变体型
Variant
无
vnt
上述有效范围之一
六、运算符和表达式
1、算术运算符
运算符
含义
示例
结果
优先级
^
乘方
5^2
25
1
-
负号
-7
-7
2
*
乘
3*7
21
3
/
除
2/5
0.4
3
\
整除(直接取整)
2\5
0
4
Mod
取模(求余)
7Mod2
1
5
+
加
4+8
12
6
-
减
2.3-1
1.3
6
2、连接运算符
运算符
含义
示例
结果
&
连接两个字符串
“China”&”jiangxi”
“Chinajiangxi”
+
计算和,也可连接字符串
“12”+”34”
“1234”
3、关系运算符
关系运算符
含义
示例
结果
=
等于
“abc”=”ABD”
False
>
大于
(13+5)>2
True
>=
大于等于
“abc”>=”abd”
False
<
小于
“abc”<”abd”
True
<=
小于等于
“123”<=”4”
True
<>
不等于
“a”<>”A”
True
Like
字符串匹配
“abcde”Like”*cd*”
True
Is
对象引用比较
七、常用内部函数
1、数学函数:
数学函数主要用于各种数学运算
函数
含义
示例
结果
Abs
返回数的绝对值
Abs(-3.2)
3.2
Atn
返回弧度的反正切值
Atn
(1)
.785398163397448
Cos
返回弧度的余弦值
Cos
(1)
.54030230586814
Exp
返回e的指定次幂
Exp
(1)
2.71828182845905
Fix
返回数的整数部分(直接取整)
Fix(-50.6)
-50
Int
返回不大于给定数的最大整数
Int(-50.6)
-51
Log
返回数的自然对数
Log
(1)
0
Rnd
返回0~1之间的随机数
Rnd
0~1之间的随机数
Sgn
返回数的符号值
Sgn(-2)
-1
Sin
返回弧度的正弦值
Sin
(1)
.841470984807897
Sqr
返回数的平方根值
Sqr(9)
3
Tan
返回弧度的正切值
Tan
(1)
1.5574077246549
2、字符串函数:
用于处理字符串信息
函数
含义
示例
结果
Instr([N1,]C1,C2[,M])
返回C2在C1中首次出现的位置(从N1开始)
Instr(4,”xxpxxpXp”,“p”)
6
*InstrRev(C1,C2[,N1][,M])
与Instr类似,只从尾部查找
Instr(“ASDFDFDFSDSF”)
5
*Lcase(C)
将C从大写字母变为小写字母
LCASE(“Hello”)
“hello”
Left$(C,N)
将C中左边起取N个字符
Left$(“World”,2)
“Wo”
Len(C)
返回C的长度
Len(“name”)
4
Ltrim$(C)
删除C左端的空格
Ltrim$(“name”)
“name”
*Replace(C,C1,C2[,N1][,N2][,M])
在C中从1或N1开始C2替换C1共N2次
Replace(“asabababsadb”,“ab”,“*”,2)
“as***sadb”
Mid$(C,N,M)
在C中从N个开始往后取M个字符,如Mid(123,2,1)
2
Right$(C,N)
从C中右边起取N个字符
Right$(“World”,2)
“1d”
Rtrim$(C)
删除C右端的空格
Rtrim$(“name”)
“name”
Space$(N)
返回N个空组成的字符串
Space$(3)
“”
StrComp(C1,C2[,M])
返回C1,C2比较的结果,相等时为0,小于时为-1,大于时为1
StrComp(“AB”,“ab”)
-1
String$(N,C)
返回N个C中第一个字符组成的字符串
String$(2,“xyz”)
“xx”
*StrReverse(C)
将C逆序排列
StrReverse(“xyz”)
“zyx”
Trim(C)
删除C的左右空格
Trim(“na”)
“na”
*Ucase(C)
从C中小写字母改为大写字母
Ucase(“xyz”)
“XYZ”
3、日期和时间函数
函数名
功能
实例
结果
Date[()]
返回系统日期
Date$()
2008-4-28
Day(C|N)
返回日期代号(1~31)
Day(“08,04,28”)
28
Hour(C|N)
返回小时(0~24)
Hour(#1:
12:
20PM#)
13(下午)
Minute(C|N)
返回分钟(0~59)
Minute(#1:
12:
20PM#)
12
Month(C|N)
返回月份(1~12)
Month(“08,04,28”)
4
Second(C|N)
返回秒(0~59)
Second(#1:
12:
20PM#)
20
Now()
返回系统日期和时间
Now
2008/4/2810:
40:
01PM
Time[()]
返回系统时间
Time
10:
40:
01PM
WeekDay(C|N)
返回星期数(1~7)星期日为1,星期一为2
WeekDay(“08,04,28”)
2
Year(C|N)
返回年代号(1753~2078)
Year(365)返回相对于1899/12/30后365天的年代号
1900年
八.数据的输入输出
1.InputBox函数
InputBox(提示[,标题][,缺省][,x坐标位置][,y坐标位置])
其中:
提示为提示信息,标题为对话框标题,缺省为输入区缺省值函数返回字符类型.
2.MsgBox函数和MsgBox过程
函数形式:
变量[%]=MsgBox(提示[,按钮][,标题])
过程形式:
MsgBox提示[,按钮][,标题]
3、输出数据
使用Print方法实现数据的输出
格式:
[Object.]Print{Spc(n)|Tab(n);}expressioncharpos
其中:
Object为窗体,图片框,打印机等对象。
Expression为待输出的数据(数值型或字符型)。
Charpos为逗号或分号,定位下一个数据。
如省略,则在下一行输出下一个数据。
Spc(n)和Tab(n)为数据定位函数。
①Tab函数
格式:
Tab[(n)]
功能:
输出的数据定位到n列指定的位置,如省略n,则在下一行首位置输出;如当前位置大于n,则在下一行的n列输出;如n<1,则默认输出位置为1;如n大于行宽则输出位置为nMod行宽。
②Spc函数
格式:
Spc(n)
功能:
在下一个数据之前插入n(0~32767)个空格。
如n小于输出行的宽度,则在当前位置输出;如n大于输出行的宽度,则输出位置为当前位置+nMod行宽。
九、选择语句
1.If…Then语句(单分支结构)
If<表达式>Then
语句块
EndIf
或If<表达式>Then<语句>
2.If…Then…Else语句(双分支结构)
If<表达式>Then
<语句块1>
Else
<语句块2>
EndIf
If<表达式>Then<语句1>Else<语句2>
3.If…Then…ElseIf语句(多分支结构)
形式:
If<表达式1>Then
<语句块1>
ElseIf<表达式2>Then
<语句块2>
…
[Else
语句块n+1]
EndIf
4.If语句的嵌套
If语句的嵌套是指If或Else后面的语句块中又包含If语句。
形式如下:
If<表达式1>Then
If<表达式11>Then
…
EndIf
…
EndIf
5.SelectCase语句(情况语句)
形式:
SelectCase变量或表达式
Case表达式列表1
语句块1
Case表达式列表2
语句块2
…
[CaseElse
语句块n+1]
EndSelect
<表达式列表>:
与<变量或表达式>同类型的下面四种形式之一:
表达式“A”
一组枚举表达式(用逗号分隔)2,4,6,8
表达式1To表达式260To100
Is关系运算符表达式Is<60
十、循环语句
1、For循环语句(一般用于循环次数已知)
格式:
for循环变量I=初值Ato终值B[step步长C]
[循环体]
[Exitfor]
next循环变量
2、DO循环
格式1:
(前测型循环)
DO[while|until条件]
[循环体]
[Exitdo]
loop
功能:
while条件成立时,继续执行循环中的“语句体”,不成立,退出循环体;当until条件成立时,退出循环体,until条件不成立时,执行循环体
格式2:
(后测型循环)
DO
[循环体]
[Exitdo]
loop[while|until条件]
功能:
先执行循环澡的“语句体”,再判断给定的“条件”,while条件成立时,继续执行循环中的“语句体”,不成立,退出循环体;当until条件成立时,退出循环体,until条件不成立时,执行循环体。
1、求平均分程序
Fori=1to10
A(i)=int(rnd*90+10)[A,B]则Int(Rnd*(B-A+1)+A)
S=s+a(i)
Nexti
Max=a
(1)
Min=a
(1)
Fori=2to10
IfmaxIfmin>a(i)thenmin=a(i)
Nexti
Avg=int((s-max-min)/8*10+0.5)/10
2、穷举法、数字分离
个位数xmod10
十位数x\10mod10
百位数:
x\100mod10
3、求素数
Fori=1to100
F=0
Forj=2toi-1
Ifimodj=0thenf=1:
ExitFor
Nextj
Iff=0then
Text1.text=text1.text&““&i
Endif
Nexti
4、打印图形
Fori=1ton打印的行数
PrintTab();每行打印的位置
Forj=1tom每行中打印的个数
打印内容
Nextj
Print换行
Nexti
5、冒泡排序
Fori=1ton-1
Forj=1ton-i
Ifa(j)>a(j+1)then
t=a(j):
a(j)=a(j+1):
a(j+1)=t
endif
nextj
nexti
6、选择排序
方法一:
Fori=1ton-1
Forj=i+1ton
Ifa(i)>a(j)then
t=a(i):
a(i)=a(j):
a(j)=t
Endif
Nextj
Nexti
方法二:
Fori=1ton-1
P=i
Forj=i+1ton
Ifa(p)>a(j)thenp=j
Nextj
Ifp<>ithen
t=a(p);a(p)=a(i):
a(i)=t
Endif
Nexti