您的位置:首页 > 编程语言 > VB

开源一个检验数据合法性的算法(VB)

2005-09-08 13:08 337 查看
暑假实习的时候,我们小组是要写一个对通风网络进行计算机结算的软件(我主笔Public Function CheckValid()Function CheckValid(TextControl As TextBox) As Boolean
2 Dim EachByte As String
3 Dim StringLength As Integer
4 Dim TempString As String
5 Dim i As Integer
6 Dim CountDotNum As Integer
7 TempString = TextControl.Text
8 StringLength = Len(TempString)
9 CountDotNum = 0
10 If StringLength = 0 Then
11 MsgBox "你还没有输入任何参数,请检查后输入!", vbExclamation + vbOKOnly
12 CheckValid = False
13 Exit Function
14 ElseIf StringLength >= 1 Then
15 i = 1
16 Do While i <= StringLength
17 EachByte = Mid(TempString, i, 1)
18 If EachByte = "." Then
19 CountDotNum = CountDotNum + 1
20 If CountDotNum = 2 Then
21 MsgBox "乖!都已经输入超过1个小数点了,就不要再玩了噢:)", vbCritical + vbOKOnly
22 CheckValid = False
23 Exit Function
24 ElseIf StringLength > 1 Then
25 CheckValid = True
26 Else
27 MsgBox "你输入的参数不合法,请检查后重新输入!", vbExclamation + vbOKOnly
28 CheckValid = False
29 Exit Function
30 End If
31 ElseIf Asc(EachByte) = 47 Then
32 MsgBox "你输入的参数不合法,请检查后重新输入!", vbExclamation + vbOKOnly
33 CheckValid = False
34 Exit Function
35 ElseIf Asc(EachByte) < 46 Or Asc(EachByte) > 57 Then
36 MsgBox "你输入的参数不合法,请检查后重新输入!", vbCritical + vbOKOnly
37 CheckValid = False
38 Exit Function
39 Else
40 CheckValid = True
41 End If
42 i = i + 1
43 Loop
44 End If
45End Function
简单的注释一下:由于小数点的ascii码值是46,而阿拉伯数字的ascii码值是从48到57,所以在这里就有一些ascii码值的判断,还有对小数点个数的判断.也很简单滴:)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐