Vb常用内部函数
? 类型转换函数
1、 Int(x):求不大于自变量x的最大整数
2、 Fix(x):去掉一个浮点数的小数部分,保留其整数部分
3、 Hex$(x):把一个十进制数转换为十六进制数
4、 Oct$(x):把一个十进制数转换为八进制数
5、 Asc(x$):返回字符串x$中第一个字符的ASCII字符
6、 CHR$(x):把x的值转换为相应的ASCII字符
7、 Str$(x):把x的值转换为一个字符串
8、 Cint(x):把x的小数部分四舍五入,转换为整数
9、 Ccur(x):把x的值转换为货币类型值,小数部分最多保留4 位且自动四舍五入
10、 CDbl(x):把x值转换为双精度数
11、 CLng(x):把x的小数部分四舍五入转换为长整数型数
12、 CSng(x):把x值转换为单精度数
13、 Cvar(x):把x值转换为变体类型值
14、 VarPtr(var):取得变量var的指针
? 数学函数
1、 Sin(x):返回自变量x的正弦值
2、 Cos(x): 返回自变量x的余弦值
3、 Tan(x): 返回自变量x的正切值
4、 Atn(x): 返回自变量x的反正切值
5、 Abs(x): 返回自变量x的绝对值
6、 Sgn(x): 返回自变量x的符号,即当x为负数时,返回-1;当x为0时,返回
0;当x为正数时,返回1
7、 Sqr(x):返回自变量x的平方根,x必须大于或等于0
8、 Exp(x):返回以e为底,以x为指数的值,即求e的x次方
? 日期与时间函数
1、 Day(Now):返回当前的日期
2、 WeekDay(Now):返回当前的星期
3、 Month(Now):返回当前的月份
4、 Year(Now):返回当前的年份
5、 Hour(Now):返回小时(0~23)
6、 Minute(Now):返回分(0~59)
7、 Second(Now):返回秒 (0~59)
? 随机数函数
1、 Rnd[(x)]:产生一个0~1之间的单精度随机数
2、 Randmize[(x)]:功能同上,不过更好
? 字符串函数
1、 LTrim$(字符串):去掉字符串左边的空白字符
2、 Rtrim$(字符串):去掉字符串右边的空白字符
3、 Left$(字符串,n):取字符串左部的n个字符
4、 Right$(字符串,n):取字符串右部的n个字符
5、 Mid$(字符串,p,n):从位置p开始取字符串的n个字符
6、 Len(字符串):测试字符串的长度
7、 String$(n,字符串):返回由n个字符组成的字符串
8、 Space$(n):返回n个空格
9、 InStr(字符串1,字符串2):在字符串1中查字符串2
10、 Ucase$(字符串):把小写字母转换为大写字母
11、 Lcase$(字符串):把大写字母转换为小写字母
? 窗体输入输出函数
1、 Print(字符串):在窗体输出字符串,可以用”&”对变量进行连接后输出
2、 Tab(n):把光标移到该行的n开始的位置
3、 Spc(n):跳过n个空格
4、 Cls:清除当前窗体内的显示内容
5、 Move 左上角x,左上角y,宽度,高度:移动窗体或控件
6、 InputBox(prompt,…):跳出一个数据输入窗口,返回值为该窗口的输入值
7、 MsgBox(msg,[type]…):跳出一个提示窗口
? 文件操作函数
1、 Open 文件名 [For方式] [Access存取
类型] [锁定] AS [#]文件号 [Len=记录长度]
功能:为文件的输入输出分配缓冲区,并确定缓冲区所使用的存取方式
说明:
1) 方式:指定文件的输入输出方式,可选,默认是Random,可以是以下值
a、 Output:指定顺序输出方式,将覆盖原有内容
b、 Input:指定顺序输入方式
c、 Append:指定顺序输出方式,在文件未尾追加内容
d、 Random:指定随机存取方式,也是默认方式,在Random方式时,如果没有Access子句,则在执行Open语句时,VB将按下列顺序打开文件:读/写、只读、只写
e、 指定二进制文件。在这种方式下,可以用Get和Put语句对文件中任何字节位置的信息进行读写。在Binary方式中,如果没有Access子句,则打开文件的类型与Random方式相同
2)、存取类型:放在关键字Access之后,用来指定访问文件的类型。可以是下列类型之一
a、 Read:打开只读文件
b、 Write:打开只写文件
c、 Read Write:打开读写文件。这种类型只对随机文件、二进制文件及用Append方式打开的文件有效
3)、锁定:该子句只在多用户或多进和环境中使用,用来限制其他用户或其他进程对打开进行读写操作。锁定类型包括:
a、 默认:如不指定锁定类型,则本进程可以多次打开文件进行读写;在文件打开期间,其他进程不能对该文件执行读写操作
b、 Lock Shared:任何机器上的任何进程都可以对该文件进行读写操作
c、 Lock Read:不允许其他进程读该 文件。只在没有其他Read存取类型的进程访问该文件时,才允许这种锁定。
d、 Lock Write:不允许其他进程写这个文件。只在没有其他Write存取类型的进程访问该文件时,才允许这种锁定
e、 Lock Read Write:不允许其他进程读写这个文件
如果不使用lock子句,则默认为Lock Read write
4)、文件号:由用户自行指定一个由1~511之间的整数,只要该文件号未被使用就合法;打开文件后,可以用该文件号进行读写等操作
5)、记录长度:是一个整型表达式。当选择该参量时,为随机存取文件设置记录长度。对于用随机访问方式打开的文件,该值是记录长度;对于顺序文件,该值是缓冲字符数。”记录长度”不能超过32767字节。对于二进制文件,将忽略Len子句
举例:Open “price.dat” for Output as #1
Open “C:\abc.dat” for radom as #1 len=256
2、 Close [#文件号][,#文件号]……:关闭文件
3、 Seek #文件号,位置:文件指针跳到指定位置,以字节为单位。取值1~pow(2,31)-1
4、 Seek (文件号):返回当前文件指针的位置
5、 FreeFile():取得一个未使用的文件号
6、 Loc(文件号):返回指定文件的当前读写位置
7、 LOF(文件号):返回文件长度
8、 EOF(文件号):用来测试文件是否结束,结束返回
true
9、 Print #文件号,变量1,变量2,…变量n:按顺序将各变量的值写入顺序文件
如果是print #文件号,则写入空行
10、 Write #文件号,表达式表…:作用同 Print
11、 Input #文件号,变量表….:读顺序文件,进行与Print相反的操作
12、 Line Input #文件号,字符串变量:从顺序文件中读入一行
13、 Input$(n,#文件号):从顺序文件读出 n个字符的字符串
14、 Put #文件号,[记录号],变量:把除对象变量和数组变量外的任何变量(包括号含有单个数组元素的下标变量)的内容写入随机文件。
例如:Put #2,,filebuff
15、 Get #文件号,[记录号],变量:读随机文件,执行与put相反的操作
16、 Get|put #文件号,[位置],变量:读写二制文件,位置是指下一次读写操作的位置。
17、 Kill 文件名:删除文件
18、 FileCopy 源文件名,目标文件名:复制文件
19、 Name原文件名 as 新文件名:重命令文件
进制转换函数
' 用途:将十进制转化为二 进 制
' 输入:Dec(十进制数)
' 输入数据类型:Long
' 输出:DEC_to_BIN(二 进 制数)
' 输出数据类型:String
' 输入的最大数为2147483647,输出最大数为1111111111111111111111111111111(31个1)
Public Function DEC_to_BIN(ByVal Dec As Long) As String
DEC_to_BIN = ""
Do While Dec > 0
DEC_to_BIN = Dec Mod 2 & DEC_to_BIN
Dec = Dec \ 2
Loop
End Function
' 用途:将二 进 制转化为十进制
' 输入:Bin(二 进 制数)
' 输入数据类型:String
' 输出:BIN_to_DEC(十进制数)
' 输出数据类型:Long
' 输入的最大数为1111111111111111111111111111111(31个1),输出最大数为2147483647
Public Function BIN_to_DEC(ByVal Bin As String) As Long
Dim i As Long
For i = 1 To Len(Bin)
BIN_to_DEC = BIN_to_DEC * 2 + Val(Mid(Bin, i, 1))
Next i
End Function
' 用途:将十六进制转化为二 进 制
' 输入:Hex(十六进制数)
' 输入数据类型:String
' 输出:HEX_to_BIN(二 进 制数)
' 输出数据类型:String
' 输入的最大数为2147483647个字符
Public Function HEX_to_BIN(ByVal Hex As String) As String
Dim i As Long
Dim B As String
Hex = UCase(Hex)
For i = 1 To Len(Hex)
Select Case Mid(Hex, i, 1)
Case "0": B = B & "0000"
Case "1": B = B & "0001"
Case "2": B = B & "0010"
Case "3": B = B & "0011"
Case "4": B = B & "0100"
Case "5": B = B & "0101"
Case "6": B = B & "0110"
Case "7": B = B & "0111"
Case "8": B = B & "1000"
Case "9": B = B & "1001"
Case "A": B = B & "1010"
Case "B": B = B & "1011"
Case "C": B = B & "1100"
Case "D": B = B & "1101"
Case "E": B = B & "1110"
Case "F": B = B & "111
1"
End Select
Next i
While Left(B, 1) = "0"
B = Right(B, Len(B) - 1)
Wend
HEX_to_BIN = B
End Function
' 用途:将二 进 制转化为十六进制
' 输入:Bin(二 进 制数)
' 输入数据类型:String
' 输出:BIN_to_HEX(十六进制数)
' 输出数据类型:String
' 输入的最大数为2147483647个字符
Public Function BIN_to_HEX(ByVal Bin As String) As String
Dim i As Long
Dim H As String
If Len(Bin) Mod 4 <> 0 Then
Bin = String(4 - Len(Bin) Mod 4, "0") & Bin
End If
For i = 1 To Len(Bin) Step 4
Select Case Mid(Bin, i, 4)
Case "0000": H = H & "0"
Case "0001": H = H & "1"
Case "0010": H = H & "2"
Case "0011": H = H & "3"
Case "0100": H = H & "4"
Case "0101": H = H & "5"
Case "0110": H = H & "6"
Case "0111": H = H & "7"
Case "1000": H = H & "8"
Case "1001": H = H & "9"
Case "1010": H = H & "A"
Case "1011": H = H & "B"
Case "1100": H = H & "C"
Case "1101": H = H & "D"
Case "1110": H = H & "E"
Case "1111": H = H & "F"
End Select
Next i
While Left(H, 1) = "0"
H = Right(H, Len(H) - 1)
Wend
BIN_to_HEX = H
End Function
' 用途:将十六进制转化为十进制
' 输入:Hex(十六进制数)
' 输入数据类型:String
' 输出:HEX_to_DEC(十进制数)
' 输出数据类型:Long
' 输入的最大数为7FFFFFFF,输出的最大数为2147483647
Public Function HEX_to_DEC(ByVal Hex As String) As Long
Dim i As Long
Dim B As Long
Hex = UCase(Hex)
For i = 1 To Len(Hex)
Select Case Mid(Hex, Len(Hex) - i + 1, 1)
Case "0": B = B + 16 ^ (i - 1) * 0
Case "1": B = B + 16 ^ (i - 1) * 1
Case "2": B = B + 16 ^ (i - 1) * 2
Case "3": B = B + 16 ^ (i - 1) * 3
Case "4": B = B + 16 ^ (i - 1) * 4
Case "5": B = B + 16 ^ (i - 1) * 5
Case "6": B = B + 16 ^ (i - 1) * 6
Case "7": B = B + 16 ^ (i - 1) * 7
Case "8": B = B + 16 ^ (i - 1) * 8
Case "9": B = B + 16 ^ (i - 1) * 9
Case "A": B = B + 16 ^ (i - 1) * 10
Case "B": B = B + 16 ^ (i - 1) * 11
Case "C": B = B + 16 ^ (i - 1) * 12
Case "D": B = B + 16 ^ (i - 1) * 13
Case "E": B = B + 16 ^ (i - 1) * 14
Case "F": B = B + 16 ^ (i - 1) * 15
End Select
Next i
HEX_to_DEC = B
End Function
' 用途:将十进制转化为十六进制
' 输入:Dec(十进制数)
' 输入数据类型:Long
' 输出:DEC_to_HEX(十六进制数)
' 输出数据类型:String
' 输入的最大数为2147483647,输出最大数为7FFFFFFF
vb编程基础知识函数Public Function DEC_to_HEX(Dec As Long) As String
Dim a As String
DEC_to_HEX =
""
Do While Dec > 0
a = CStr(Dec Mod 16)
Select Case a
Case "10": a = "A"
Case "11": a = "B"
Case "12": a = "C"
Case "13": a = "D"
Case "14": a = "E"
Case "15": a = "F"
End Select
DEC_to_HEX = a & DEC_to_HEX
Dec = Dec \ 16
Loop
End Function
' 用途:将二 进 制转化为八进制
' 输入:Bin(二 进 制数)
' 输入数据类型:String
' 输出:BIN_to_OCT(八进制数)
' 输出数据类型:String
' 输入的最大数为2147483647个字符
Public Function BIN_to_OCT(ByVal Bin As String) As String
Dim i As Long
Dim H As String
If Len(Bin) Mod 3 <> 0 Then
Bin = String(3 - Len(Bin) Mod 3, "0") & Bin
End If
For i = 1 To Len(Bin) Step 3
Select Case Mid(Bin, i, 3)
Case "000": H = H & "0"
Case "001": H = H & "1"
Case "010": H = H & "2"
Case "011": H = H & "3"
Case "100": H = H & "4"
Case "101": H = H & "5"
Case "110": H = H & "6"
Case "111": H = H & "7"
End Select
Next i
While Left(H, 1) = "0"
H = Right(H, Len(H) - 1)
Wend
BIN_to_OCT = H
End Function
' 用途:将八进制转化为二 进 制
' 输入:Oct(八进制数)
' 输入数据类型:String
' 输出:OCT_to_BIN(二 进 制数)
' 输出数据类型:String
' 输入的最大数为2147483647个字符
Public Function OCT_to_BIN(ByVal Oct As String) As String
Dim i As Long
Dim B As String
For i = 1 To Len(Oct)
Select Case Mid(Oct, i, 1)
Case "0": B = B & "000"
Case "1": B = B & "001"
Case "2": B = B & "010"
Case "3": B = B & "011"
Case "4": B = B & "100"
Case "5": B = B & "101"
Case "6": B = B & "110"
Case "7": B = B & "111"
End Select
Next i
While Left(B, 1) = "0"
B = Right(B, Len(B) - 1)
Wend
OCT_to_BIN = B
End Function
Private Sub Command1_Click()
Text1.Text = HEX_to_BIN(Text2.Text)
End Sub
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论