下面是用VB编写的验证码组件源代码.
Private Type word
line1 As Byte
line2 As Byte
line3 As Byte
line4 As Byte
line5 As Byte
line6 As Byte
line7 As Byte
line8 As Byte
line9 As Byte
line10 As Byte
End Type
Function cbp(ByVal filename As String) As String
Dim i As Integer
Dim a(10) As word
Dim b(62) As Byte
Dim c1 As Integer, c2 As Integer, c3 As Integer, c4 As Integer
'///0的字模
a(0).line1 = &HC3
a(0).line2 = &H99
a(0).line3 = &H3C
a(0).line4 = &H3C
a(0).line5 = &H3C
a(0).line6 = &H3C
a(0).line7 = &H3C
a(0).line8 = &H3C
a(0).line9 = &H99
a(0).line10 = &HC3
'///1的字模
a(1).line1 = &H81
a(1).line2 = &HE7
a(1).line3 = &HE7
a(1).line4 = &HE7
a(1).line5 = &HE7
a(1).line6 = &HE7
a(1).line7 = &HE7
a(1).line8 = &HE7
a(1).line9 = &HC7
a(1).line10 = &HE7
'///2的字模
a(2).line1 = &H81
a(2).line2 = &H9F
a(2).line3 = &H9F
a(2).line4 = &HCF
a(2).line5 = &HE7
a(2).line6 = &HF3
a(2).line7 = &HF9
a(2).line8 = &HF9
a(2).line9 = &H99
a(2).line10 = &HC3
'3的字模//
a(3).line1 = &HE3
a(3).line2 = &H99
a(3).line3 = &HFC
a(3).line4 = &HFC
a(3).line5 = &HF9
a(3).line6 = &HC7
a(3).line7 = &HF9
a(3).line8 = &HFC
a(3).line9 = &H99
a(3).line10 = &HC3
'/4的字模///
a(4).line1 = &H80
a(4).line2 = &HF3
a(4).line3 = &HF3
a(4).line4 = &H0
a(4).line5 = &H33
a(4).line6 = &H33
a(4).line7 = &H33
a(4).line8 = &H93
a(4).line9 = &HC3
a(4).line10 = &HE3
'//5的字模///
a(5).line1 = &HC3
a(5).line2 = &H99
a(5).line3 = &H3C
a(5).line4 = &HFC
a(5).line5 = &HF9
a(5).line6 = &H83
a(5).line7 = &H9F
a(5).line8 = &H9F
a(5).line9 = &H80
a(5).line10 = &H80
'//6的字模//
a(6).line1 = &HC3
a(6).line2 = &H99
a(6).line3 = &H3C
a(6).line4 = &H3C
a(6).line5 = &H39
a(6).line6 = &H83
a(6).line7 = &HCF
a(6).line8 = &HE7
a(6).line9 = &HF3
a(6).line10 = &HF9
'//7的字模//
a(7).line1 = &HE7
a(7).line2 = &HE7
a(7).line3 = &HE7
a(7).line4 = &HE7
a(7).line5 = &HE7
a(7).line6 = &HE7
a(7).line7 = &HF3
a(7).line8 = &HF9
a(7).line9 = &HFC
a(7).line10 = &H0
'//8的字模
a(8).line1 = &HC3
a(8).line2 = &H99
a(8).line3 = &H3C
a(8).line4 = &H3C
a(8).line5 = &H99
a(8).line6 = &HC3
a(8).line7 = &H99
a(8).line8 = &H3C
a(8).line9 = &H99
a(8).line10 = &HC3
'///9的字模//
a(9).line1 = &H3F
a(9).line2 = &H9F
a(9).line3 = &HCF
a(9).line4 = &HE7
a(9).line5 = &HC3
a(9).line6 = &H99
a(9).line7 = &H3C
a(9).line8 = &H3C
a(9).line9 = &H99
a(9).line10 = &HC3
'//
b(0) = &H42: b(1) = &H4D: b(2) = &H66: b(3) = &H0: b(4) = &H0: b(5) = &H0: b(6) = &H0: b(7) = &H0: b(8) = &H0: b(9) = &H0: b(10) = &H3E: b(11) = &H0: b(12) = &H0: b(13) = &H0: b(14) = &H28: b(15) = &H0
b(16) = &H0: b(17) = &H0: b(18) = &H20: b(19) = &H0: b(20) = &O0: b(21) = &H0: b(22) = &HA: b(23) = 0: b(24) = 0: b(25) = 0: b(26) = 1: b(27) = 0: b(28) = 1: b(29) = 0: b(30) = 0: b(31) = 0
b(32) = &O0: b(33) = 0: b(34) = &H28: b(35) = 0: b(36) = 0: b(37) = 0: b(38) = 0: b(39) = 0: b(40) = 0: b(41) = 0: b(42) = 0: b(43) = 0: b(44) = 0: b(45) = 0: b(46) = 2: b(47) = 0
b(48) = 0: b(49) = 0: b(50) = 2: b(51) = 0: b(52) = 0: b(53) = 0: b(54) = 0: b(55) = 0: b(56) = 0: b(57) = 0: b(58) = &HFF: b(59) = &HFF: b(60) = &HFF: b(61) = 0
'
VBA.Randomize
c1 = Int(Rnd * 9)
c2 = Int(Rnd * 9)
c3 = Int(Rnd * 9)
c4 = Int(Rnd * 9)
Open filename For Binary As #1
For i = 0 To 61
Put #1, i + 1, b(i)
Next i
Put #1, 63, a(c1).line1
Put #1, 64, a(c2).line1
Put #1, 65, a(c3).line1
Put #1, 66, a(c4).line1
'
Put #1, 67, a(c1).line2
Put #1, 68, a(c2).line2
Put #1, 69, a(c3).line2
Put #1, 70, a(c4).line2
'
Put #1, 71, a(c1).line3
Put #1, 72, a(c2).line3
Put #1, 73, a(c3).line3
Put #1, 74, a(c4).line3
'
Put #1, 75, a(c1).line4
Put #1, 76, a(c2).line4
Put #1, 77, a(c3).line4
Put #1, 78, a(c4).line4
'
Put #1, 79, a(c1).line5
Put #1, 80, a(c2).line5
Put #1, 81, a(c3).line5
Put #1, 82, a(c4).line5
'
Put #1, 83, a(c1).line6
Put #1, 84, a(c2).line6
Put #1, 85, a(c3).line6
Put #1, 86, a(c4).line6
'
Put #1, 87, a(c1).line7
Put #1, 88, a(c2).line7
Put #1, 89, a(c3).line7
Put #1, 90, a(c4).line7
'
Put #1, 91, a(c1).line8
Put #1, 92, a(c2).line8
Put #1, 93, a(c3).line8
Put #1, 94, a(c4).line8
'
Put #1, 95, a(c1).line9
Put #1, 96, a(c2).line9
Put #1, 97, a(c3).line9
Put #1, 98, a(c4).line9
'
Put #1, 99, a(c1).line10
Put #1, 100, a(c2).line10
Put #1, 101, a(c3).line10
Put #1, 102, a(c4).line10
Close #1
'/
cbp = CStr(c1) + CStr(c2) + CStr(c3) + CStr(c4)
End Function