开启左侧

Visual Basic (VB) 常用函数知识小结

[复制链接]
etthink 发表于 2009-1-12 21:43:06 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
在系里面的图书馆借阅了Visual Basic程序设计教程(第三版),里面有关VB的函数介绍的比较详细。VB对于计算机专业的人来说可能“不够上档次”,许多微软的专家在言谈当中也把VB.NET作为“二等公民”看待。在如今C#盛行的时代,VB依然有很广泛的用途。首先VB更容易理解,可以快速的编写出一个小程序在Windows操作系统里运行。对于我们教育技术专业的学生来说,VB应该是必修的一门计算机编程技术。教育技术学专业不同于计算机专业,不需要熟练的掌握一门编程语言,而且短时期内也不容易就能够掌握得了的。但VB却是适合我们这些二类派生的多学科相互交叉专业的学生去学习的。而且学习VB对以后迁移到VB.NET也是很容易的。下面是我学习VB时用到的一些定义、函数及其简要说明的小结。
Visual Basic在判断常量类型时有时存在多义性,为了显式的指明常数的类型,可以在常数后面加上类型说明符,这些说明符分别为:
  • %             整型
  • &            长整型
  • !           单精度浮点型
  • #            双精度浮点型
  • @           货币型
  • $           字符串型
在定义变量时,也可以使用上面的类型说明符,比如
Dim (或者是 Static、Redim、Public) aaa  As String
等价于  Dim aaa$
Dim用在标准模块(Module)、窗体模块(Form)或过错(Procedure)中定义变量或数组。Static 用于在过程中定义静态变量及数组变量。Public用来在标准模块中定义全部变量或数组。Redim是重新定义之前已经定义过的变量或数组。
VisualBasic不是强类型语言,但提供了强制用户对变量进行显式声明的措施。在工具——选项——编辑器中,勾选要求变量声明选项,就会在VisualBasic 6.0程序中的每个新建的窗体、模块中自动加上Option Explicit语句,强制程序中的变量先声明再使用。
VB常用内部函数

1.转换函数

函数功能说明示例结果
Int(x)求不大于x的最大整数Int(4.8)4
Int(-4.3)-5
Fix(x)截尾取整Fix(-4.8)-4
Hex$(x)把十进制转换成十六进制Hex(100)“64″
Oct$(x)把十进制转换成八进制Oct(100)“144″
Asc(x$)返回x$中第一个字符的ASCII码Asc(”ABC”)65
Chr$(x)把x的值转换成ASCII码Chr(64)“A”
Str$(x)把x的值转换成字符串Str(12.34)“12.34″
Val(x)把字符串x转换成数值Val(”12.34″)12.34
CInt(x)把x的值四舍五入取整CInt(12.53)13
CCur(x)把x的值四舍五入为货币类型Ccur(12.53)12.53
CDbl(x)把x的值转换成双精度数CDbl(12.53)12.53
CLng(x)把x的值四舍五入为长整型数CLng(12.53)13
CSng(x)把x的值转换成单精度数CSng(12.53)12.53
CVar(x)把x的值转换成变体类型值CVar(12.53)12.53





2.数学函数

函数功能说明示例结果
Sin(x)返回x的正弦值Sin(0)0
Cos(x)返回x的余弦值Cos(0)0
Tan(x)返回x的正切值Tan(0)0
Atn(x)返回x的反正切值Atn(0)0
Abs(x)返回x的绝对值Abs(-2.8)2.8
Sgn(x)返回x的符号:x为负数时 -1Sgn(-2)-1
x为0时
0
Sgn(0)0
x为正数时
1
Sgn(3)1
Sqr(x)返回x的平方根Sqr(25)5
Exp(x)求e的x次方Exp(2)7.389
Rnd[(x)]产生随机数Rnd0~1之间的数





3.日期和时间

函数功能说明示例结果
Now返回系统日期/时间Now2009-1-12 1:01
Day(d)返回当前的日期Day(Now)12
WeekDay(d)返回当前的星期WeekDay(Now)1
Month(d)返回当前的月份Month(Now)1
Year(d)返回当前的年份Year(Now)2009
Hour(t)返回当前的小时Hour(Now)14
Minute(t)返回当前分钟Minute(Now)51
Second(t)返回当前秒Second(Now)33
Timer返回从0点开始已过的秒数Timer35385.5
Time返回当前时间Time14:53:22
VB中处理字符串的函数
1.删除空白字符串函数
LTrim$(字符串) :去掉字符串左边的空白字符
RTrim$(字符串):去掉字符串右边的空白字符
Trim$(字符串):去掉字符串两边的空白字符,这个函数在处理字符串中使用很频繁,尤其在有输入操作时。
2.字符串截取函数
Left$(字符串,n) :返回字符串中前n个字符
示例:a$=”abcdef”<CR>
         print Left$(a$,3)<CR>
        abc
Mid$(字符串,p,n):从第p个字符开始,向后截取n个字符,注意从1开始计数。如果第三个参数n省略,则截取到字符串的末尾
示例:a$=”abcdefg”<CR>
         print Mid$(a$,3,4)<CR>
         cdef
Right$(字符串,n):返回字符串最后的n个字符,或者说从后数n个字符
示例:a$=”abcdefg”<CR>
         print Right$(a$,3)<CR>
         efg
3.VB中字符串长度测试函数
Len(字符串)  Len(变量名):测试取得字符串的长度
示例:a$=”abcdefg”<CR>
         print Len(a$)<CR>
         7
        ?Len(testvar#)         结果为 8
        ?Len(testvar!)       结果为 4
         ?Len(testvar%)      结果为 2
4. String$函数
String$(n,ASCII码)      String$(n,字符串) :返回由n个指定字符组成的字符串。第二个变量可以是ASCII码,也可以搜字符串。当为ASCII码时,返回对应的n个字符;当为字符串时,返回由该字符串第一个字符组成的n个字符的字符串
示例:a$=string$(5,65)
          b$=string$(5,”-”)
          c$=string$(5,”abcde”)
         print a$,b$,c$
         AAAAA—–aaaaa
5. VB中的空格函数
Space$(n)  :返回n个空格
示例:a$=”a”+Space(4)+”b”
          print a$
          a____b   说明:用_表示空格
6. 字符串匹配函数
InStr([首字符位置,]字符串1,字符串2[,n]):该函数在字符串1中查找字符串2,如果找到了,则返回字符串2的第一个字符在字符串2中的位置,字符串1的第一个字符的位置为1,即从1开始计数
示例:  a$=”Microsoft Visual Basic”
           x=InStr(a$,”Visual”)
          print x
         11
说明:字符串2中首字符V在字符串1中的位置为11。字符串2的长度必须小于65535个字符。InStr的返回值是一个长整型数,不同情况下返回值不尽相同。这个函数用来查找某个字符是否包含于另外一个字符串时非常有效。
7. VB中字母大小写转换函数
Ucase$(字符串)  :把字符串全部转换成大写字母
Lcase$(字符串):把字符串全部换成小写字母
8. VB中插入字符串语句 Mid$
Mid$(字符串,位置[,L])=子字符串
该函数把字符串中从位置开始的字符用子字符串代替,即从L位开始用子字符串替换原字符串中的字符。

4.字符串函数
函数功能说明示例结果
LTrim$(S)去掉S左边的空格LTrim$(”_abc_”)“abc_”
Rtrim$(S)去掉S右边的空格Rtrim$(”_abc_”)“abc_”
Trim$(S)去掉S两边的空格Trim$(”_abc_”)“abc”
Left$(S,n)取S左边n个字符Left$(”abc”,2)ab
Right$(S,n)取S右边n个字符Right$(”abc”,2)bc
Mid$(S,p,n)从p开始取n个字符Mid$(”abcde”,2,3)bcd
Len(S)字符串S的长度Len(”VB程序设计”)6
LenB(S)字符串S的字节长度LenB(”VB程序设计”)12
String$(n,S)返回n个S的首字符String$(3,”abc”)aaa
Space$(n,S)返回n个空格Space$(3)“___”
InStr(n,S1,S2,m)在S1中查找S2InStr(”abcdef”,”ef”)5
Ucase$(S)把S换成大写Ucase$(”abc”)“ABC”
Lcase$(S)把S换成小写Lcase$(”ABC”)“abc”
学教育技术,上教育技术论坛!http://www.etthink.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


11关注

462粉丝

7846帖子

推荐阅读更多+
会员达人更多+
广告位

最新信息

更多+

关注我们:教育技术人

官方微信

官方微博

教育技术热线:

13955453231

学教育技术,上教育技术论坛!

教育技术论坛征稿范围:教育技术应用案例、教程文章、优秀作品等。

Email:sf@etthink.com

Copyright   ©2007-2026  应用思考-教育技术论坛  Powered by©Discuz!  技术支持:且行资源    ( 皖ICP备10014945号-4 )