Private Sub CmdEncrypt_Click()
Dim temp(8) As Integer
Dim CurPos As Long
Dim j As Integer
Dim a As Integer
Dim b As Integer
Dim r As Integer
Dim l As Integer
Dim y As Integer
Dim I As Integer
Dim X As Integer
CD.ShowOpen
filename = CD.filename
filename2 = "2.txt"
CurPos = 0
If Len(filename) = 0 Then Exit Sub
StatusBar.SimpleText = "Start Encoding..."
Open filename For Binary As #1
ReDim databuff(LOF(1) - 1)
Get #1, , databuff
Close #1
I = 0
j = 0
While I < UBound(databuff)
If I = 0 Then
l = databuff(0) * 16 * 16 + databuff(1) - 1
ReDim addbuff(l) As Byte
I = 2
Else
For r = 0 To 8
temp(r) = 1
Next
If j < UBound(addbuff) Then
y = Int(databuff(I))
If y >= 128 Then
y = (y - 128)
temp(7) = 0
End If
If y >= 64 Then
y = (y - 64)
temp(6) = 0
End If
If y >= 32 Then
y = (y - 32)
temp(5) = 0
End If
If y >= 16 Then
y = (y - 16)
temp(4) = 0
End If
If y >= 8 Then
y = (y - 8)
temp(3) = 0
End If
If y >= 4 Then
y = (y - 4)
temp(2) = 0
End If
If y >= 2 Then
y = (y - 2)
temp(1) = 0
End If
If y >= 1 Then
y = (y - 1)
temp(0) = 0
End If
I = (I + 1)
For X = 0 To 8 If temp(X) = 0 Then
addbuff(j) = databuff(I)
j = (j + 1)
I = (I + 1)
End If
If temp(X) = 1 Then
If j < 4079 And databuff(I + 1) > 240 Then
a = databuff(I) - 238
CurPos = Int(a)
b = databuff(I + 1) - Int(databuff(I + 1) / 16) * 16 + 3
Else
a = databuff(I) + Int(databuff(I + 1) / 16) * 16 * 16 + 12
a = Int(a)
b = databuff(I + 1) - Int(databuff(I + 1) / 16) * 16 + 3
End If
For r = 0 To b
addbuff(j) = addbuff(CurPos)
CurPos = CurPos + 1
Next
I = I + 1
End If Next
End If
End If
Wend
Open filename2 For Binary As #1
Put #1, , addbuff
Close #1
StatusBar.SimpleText = "over"
End Sub
Dim temp(8) As Integer
Dim CurPos As Long
Dim j As Integer
Dim a As Integer
Dim b As Integer
Dim r As Integer
Dim l As Integer
Dim y As Integer
Dim I As Integer
Dim X As Integer
CD.ShowOpen
filename = CD.filename
filename2 = "2.txt"
CurPos = 0
If Len(filename) = 0 Then Exit Sub
StatusBar.SimpleText = "Start Encoding..."
Open filename For Binary As #1
ReDim databuff(LOF(1) - 1)
Get #1, , databuff
Close #1
I = 0
j = 0
While I < UBound(databuff)
If I = 0 Then
l = databuff(0) * 16 * 16 + databuff(1) - 1
ReDim addbuff(l) As Byte
I = 2
Else
For r = 0 To 8
temp(r) = 1
Next
If j < UBound(addbuff) Then
y = Int(databuff(I))
If y >= 128 Then
y = (y - 128)
temp(7) = 0
End If
If y >= 64 Then
y = (y - 64)
temp(6) = 0
End If
If y >= 32 Then
y = (y - 32)
temp(5) = 0
End If
If y >= 16 Then
y = (y - 16)
temp(4) = 0
End If
If y >= 8 Then
y = (y - 8)
temp(3) = 0
End If
If y >= 4 Then
y = (y - 4)
temp(2) = 0
End If
If y >= 2 Then
y = (y - 2)
temp(1) = 0
End If
If y >= 1 Then
y = (y - 1)
temp(0) = 0
End If
I = (I + 1)
For X = 0 To 8 If temp(X) = 0 Then
addbuff(j) = databuff(I)
j = (j + 1)
I = (I + 1)
End If
If temp(X) = 1 Then
If j < 4079 And databuff(I + 1) > 240 Then
a = databuff(I) - 238
CurPos = Int(a)
b = databuff(I + 1) - Int(databuff(I + 1) / 16) * 16 + 3
Else
a = databuff(I) + Int(databuff(I + 1) / 16) * 16 * 16 + 12
a = Int(a)
b = databuff(I + 1) - Int(databuff(I + 1) / 16) * 16 + 3
End If
For r = 0 To b
addbuff(j) = addbuff(CurPos)
CurPos = CurPos + 1
Next
I = I + 1
End If Next
End If
End If
Wend
Open filename2 For Binary As #1
Put #1, , addbuff
Close #1
StatusBar.SimpleText = "over"
End Sub
解决方案 »
- 怎么样实现密码为空的登录呢
- WinExec使用方法!小妹我谢谢了!!帮我看看
- 请问在VB中如何调用数据库并插入记录,请详细一点,谢谢(新人啊,照顾下)
- vb怎么与access连结起来又怎么修改啊
- 谁有imgedit.ocx控件,必须支持winXP,或有类似控件,必有答谢! [email protected]
- ADO如何打开带密码的数据库
- select语言在两个表中查询
- Microsoft.XmlHttp在VB中使用的问题
- 现在的招聘信息中招聘VB工程师的寥寥无几,是VB程序员太多了吗?
- 怎样得到网上邻居的所有机子名称和IP?
- 用Setup Factory 打包时 在开始菜单中添加快捷方式的问题
- 大家帮忙猜个迷
temp(r) = 1
Next
这里错了,这个提示是说你定义的数组在使用的时候越界了,比如说你上面的程式中定义数组temp(8)实际上他是从0-7 八个变量,你用temp(8)去使用变量,就会说你说下标出界,不知道这么解释明白了没有呵呵
l=-1了