Public flag(1 To 20, 1 To 2) As String
Public BufferRecv(1 To 20), UnRename(1 To 20), Private_History(0 To 20, 0 To 20), history As String
Public ListView_Change1, Listview_Change2 As Integer
Public File_Sum_Change1, File_Sum_Change2 As Integer
Public File_Count As Integer
Public FileInformation(1 To 100, 1 To 4), FileInf As String
Public db As Database
Public rd As RecordsetPublic Sub Data_Add(ByVal str1 As String, ByVal str2 As String)
Set db = OpenDatabase(App.Path & "\客户端数据信息库.mdb", False, False)
Set rd = db.OpenRecordset("select * from 用户信息")
rd.AddNew
rd.Fields(0) = str1
rd.Fields(1) = str2
rd.Update
End SubPublic Sub Data_Mod(ByVal str1 As String, ByVal str2 As String)
Set db = OpenDatabase(App.Path & "\客户端数据信息库.mdb", False, False)
Set rd = db.OpenRecordset("select * from 用户信息 where 账号='" & str1 & "'")
rd.Edit
rd.Fields(0) = str1
rd.Fields(1) = str2
rd.Update
End SubPublic Sub Data_Del(ByVal str As String)
Set db = OpenDatabase(App.Path & "\客户端数据信息库.mdb", False, False)
Set rd = db.OpenRecordset("select * from 用户信息 where 账号='" & str & "'")
rd.Delete
End SubPublic Sub Data_Load()
Set db = OpenDatabase(App.Path & "\客户端数据信息库.mdb", False, False)
Set rd = db.OpenRecordset("select * from 用户信息")
i = 1
Do While rd.EOF = False
Private_History(i, 0) = rd.Fields(0)
Private_History(0, i) = rd.Fields(0)
Set itmx = Form2.ListView1.ListItems.Add(1, , rd.Fields(0))
itmx.SubItems(1) = rd.Fields(1)
itmx.SubItems(2) = 0
i = i + 1
rd.MoveNext
Loop
End SubPublic Sub Delete_History()
Set db = OpenDatabase(App.Path & "\客户端数据信息库.mdb", False, False)
Set rd = db.OpenRecordset("select 已接收字数 from 用户信息")
Do While rd.EOF = False
rd.Edit
rd.Fields(0) = "0"
rd.Update
rd.MoveNext
Loop
Call Con_Close
Set db = OpenDatabase(App.Path & "\客户端数据信息库.mdb", False, False)
Set rd = db.OpenRecordset("select * from 群聊天记录")
Do While rd.EOF = False
rd.Delete
rd.MoveNext
Loop
Call Con_Close
history = ""
End SubPublic Sub Con_Close()
rd.Close
Set rd = Nothing
db.Close
Set db = Nothing
End SubPublic Sub Write_Private_History(ByVal name1 As String, ByVal name2 As String, ByVal str As String)
Dim a(1 To 2) As Integer
For i = 1 To 20
If Private_History(i, 0) = name1 Then
a(1) = i
End If
If Private_History(i, 0) = name2 Then
a(2) = i
End If
Next i
Private_History(a(1), a(2)) = Private_History(a(1), a(2)) & str
End SubFunction Read_Private_History(ByVal name1 As String, ByVal name2 As String) As String
Dim a(1 To 2) As Integer
For i = 1 To 20
If Private_History(i, 0) = name2 Then
a(1) = i
End If
If Private_History(i, 0) = name1 Then
a(2) = i
End If
Next i
Read_Private_History = Private_History(a(1), a(2))
Private_History(a(1), a(2)) = ""
End FunctionPublic Sub Updata_Private_History(ByVal name As String, ByVal fl As Integer)
If fl = 1 Then '增加账号
For i = 1 To 20
If Private_History(i, 0) = "" Then
Private_History(i, 0) = name
Private_History(0, i) = name
Exit For
End If
Next i
End If
If fl = 0 Then '删除账号
For i = 1 To 20
If Private_History(i, 0) = name Then
Exit For
End If
Next i
For j = 0 To 20
Private_History(i, j) = ""
Private_History(j, i) = ""
Next j
End If
End SubPublic Sub Send_Private_History(ByVal name As String, ByVal ind As Integer)
Dim sum As Integer
For i = 1 To 20
If Private_History(0, i) = name Then
Exit For
End If
Next i
For j = 0 To 20
If Private_History(j, i) <> "" Then
UnRename(i) = UnRename(i) & Private_History(j, 0) & "!"
sum = sum + 1
End If
Next j
UnRename(i) = "UnRe##" & sum & "%" & UnRename(i)
If Form1.Server(ind).State = sckConnected Then
Form1.Server(ind).SendData Encrypt(UnRename(i), 99)
DoEvents
End If
UnRename(i) = ""
End SubPublic Sub Save_Private_History(ByVal str As String)
Dim hist, name, str2 As String
hist = Right(str, Len(str) - 15)
t = InStr(1, hist, Chr(1))
name = Left(hist, t - 1)
If Len(hist) = t Then Exit Sub
hist = Right(hist, Len(hist) - t)
For j = 1 To 20
If Private_History(0, j) = name Then Exit For
Next j
Do While Len(hist) > 0
t = InStr(1, hist, Chr(1))
name = Left(hist, t - 1)
hist = Right(hist, Len(hist) - t)
t = InStr(1, hist, Chr(2))
str2 = Left(hist, t - 1)
hist = Right(hist, Len(hist) - t)
For i = 1 To 20
If Private_History(i, 0) = name Then
Private_History(i, j) = str2
End If
Next i
Loop
End SubPublic Function Encrypt(ByVal text As String, ByVal key As Integer)
Dim intC As Integer
For i = 1 To Len(text)
intC = AscW(Mid(text, i, 1))
Mid(text, i, 1) = ChrW(intC Xor key)
Next i
Encrypt = text
End FunctionPublic Sub Get_File_Information()
Dim fname As String
Dim foldername As String
Dim i As Integer
Dim File_Time As Date
FileInf = ""
foldername = App.Path & "\群共享\"
Set fs = CreateObject("Scripting.FileSystemObject")
fname = Dir(foldername & "*.*", 7)
i = 1
Do
If fname = "" Then Exit Do
If FileLen(foldername & fname) / 1024 > 1000 Then
FileInformation(i, 2) = Round(FileLen(foldername & fname) / 1024 / 1024, 2) & "MB"
Else
FileInformation(i, 2) = Round(FileLen(foldername & fname) / 1024, 2) & "KB"
End If
If InStr(1, fname, "(") <> 1 Or InStr(1, fname, ")") < 10 Or InStr(1, fname, ")") > 12 Then
Name foldername & fname As foldername & "(" & Date & ")" & fname
fname = "(" & Date & ")" & fname
End If
File_Time = Mid(fname, 2, InStr(1, fname, ")") - 2)
FileInformation(i, 1) = Right(fname, Len(fname) - InStr(1, fname, ")"))
FileInformation(i, 3) = File_Time
FileInformation(i, 4) = (7 - DateDiff("d", File_Time, Now)) & "天"
i = i + 1
fname = Dir()
Loop
File_Count = i - 1
For i = 1 To File_Count
FileInf = FileInf & FileInformation(i, 1) & Chr(1) & FileInformation(i, 2) & Chr(2)
FileInf = FileInf & FileInformation(i, 3) & Chr(3) & FileInformation(i, 4) & Chr(4)
Next i
FileInf = "FileInformation##" & File_Count & "@" & FileInf
End SubPublic Sub Write_ListView3()
Call Get_File_Information
Form3.ListView1.ListItems.Clear
For i = 1 To File_Count
Set itmx = Form3.ListView1.ListItems.Add(1, , File_Count - i + 1)
itmx.SubItems(1) = FileInformation(i, 1)
itmx.SubItems(2) = FileInformation(i, 2)
itmx.SubItems(3) = FileInformation(i, 3)
itmx.SubItems(4) = FileInformation(i, 4)
Next i
End Sub
问题出现用户类型定义未定义??
Public BufferRecv(1 To 20), UnRename(1 To 20), Private_History(0 To 20, 0 To 20), history As String
Public ListView_Change1, Listview_Change2 As Integer
Public File_Sum_Change1, File_Sum_Change2 As Integer
Public File_Count As Integer
Public FileInformation(1 To 100, 1 To 4), FileInf As String
Public db As Database
Public rd As RecordsetPublic Sub Data_Add(ByVal str1 As String, ByVal str2 As String)
Set db = OpenDatabase(App.Path & "\客户端数据信息库.mdb", False, False)
Set rd = db.OpenRecordset("select * from 用户信息")
rd.AddNew
rd.Fields(0) = str1
rd.Fields(1) = str2
rd.Update
End SubPublic Sub Data_Mod(ByVal str1 As String, ByVal str2 As String)
Set db = OpenDatabase(App.Path & "\客户端数据信息库.mdb", False, False)
Set rd = db.OpenRecordset("select * from 用户信息 where 账号='" & str1 & "'")
rd.Edit
rd.Fields(0) = str1
rd.Fields(1) = str2
rd.Update
End SubPublic Sub Data_Del(ByVal str As String)
Set db = OpenDatabase(App.Path & "\客户端数据信息库.mdb", False, False)
Set rd = db.OpenRecordset("select * from 用户信息 where 账号='" & str & "'")
rd.Delete
End SubPublic Sub Data_Load()
Set db = OpenDatabase(App.Path & "\客户端数据信息库.mdb", False, False)
Set rd = db.OpenRecordset("select * from 用户信息")
i = 1
Do While rd.EOF = False
Private_History(i, 0) = rd.Fields(0)
Private_History(0, i) = rd.Fields(0)
Set itmx = Form2.ListView1.ListItems.Add(1, , rd.Fields(0))
itmx.SubItems(1) = rd.Fields(1)
itmx.SubItems(2) = 0
i = i + 1
rd.MoveNext
Loop
End SubPublic Sub Delete_History()
Set db = OpenDatabase(App.Path & "\客户端数据信息库.mdb", False, False)
Set rd = db.OpenRecordset("select 已接收字数 from 用户信息")
Do While rd.EOF = False
rd.Edit
rd.Fields(0) = "0"
rd.Update
rd.MoveNext
Loop
Call Con_Close
Set db = OpenDatabase(App.Path & "\客户端数据信息库.mdb", False, False)
Set rd = db.OpenRecordset("select * from 群聊天记录")
Do While rd.EOF = False
rd.Delete
rd.MoveNext
Loop
Call Con_Close
history = ""
End SubPublic Sub Con_Close()
rd.Close
Set rd = Nothing
db.Close
Set db = Nothing
End SubPublic Sub Write_Private_History(ByVal name1 As String, ByVal name2 As String, ByVal str As String)
Dim a(1 To 2) As Integer
For i = 1 To 20
If Private_History(i, 0) = name1 Then
a(1) = i
End If
If Private_History(i, 0) = name2 Then
a(2) = i
End If
Next i
Private_History(a(1), a(2)) = Private_History(a(1), a(2)) & str
End SubFunction Read_Private_History(ByVal name1 As String, ByVal name2 As String) As String
Dim a(1 To 2) As Integer
For i = 1 To 20
If Private_History(i, 0) = name2 Then
a(1) = i
End If
If Private_History(i, 0) = name1 Then
a(2) = i
End If
Next i
Read_Private_History = Private_History(a(1), a(2))
Private_History(a(1), a(2)) = ""
End FunctionPublic Sub Updata_Private_History(ByVal name As String, ByVal fl As Integer)
If fl = 1 Then '增加账号
For i = 1 To 20
If Private_History(i, 0) = "" Then
Private_History(i, 0) = name
Private_History(0, i) = name
Exit For
End If
Next i
End If
If fl = 0 Then '删除账号
For i = 1 To 20
If Private_History(i, 0) = name Then
Exit For
End If
Next i
For j = 0 To 20
Private_History(i, j) = ""
Private_History(j, i) = ""
Next j
End If
End SubPublic Sub Send_Private_History(ByVal name As String, ByVal ind As Integer)
Dim sum As Integer
For i = 1 To 20
If Private_History(0, i) = name Then
Exit For
End If
Next i
For j = 0 To 20
If Private_History(j, i) <> "" Then
UnRename(i) = UnRename(i) & Private_History(j, 0) & "!"
sum = sum + 1
End If
Next j
UnRename(i) = "UnRe##" & sum & "%" & UnRename(i)
If Form1.Server(ind).State = sckConnected Then
Form1.Server(ind).SendData Encrypt(UnRename(i), 99)
DoEvents
End If
UnRename(i) = ""
End SubPublic Sub Save_Private_History(ByVal str As String)
Dim hist, name, str2 As String
hist = Right(str, Len(str) - 15)
t = InStr(1, hist, Chr(1))
name = Left(hist, t - 1)
If Len(hist) = t Then Exit Sub
hist = Right(hist, Len(hist) - t)
For j = 1 To 20
If Private_History(0, j) = name Then Exit For
Next j
Do While Len(hist) > 0
t = InStr(1, hist, Chr(1))
name = Left(hist, t - 1)
hist = Right(hist, Len(hist) - t)
t = InStr(1, hist, Chr(2))
str2 = Left(hist, t - 1)
hist = Right(hist, Len(hist) - t)
For i = 1 To 20
If Private_History(i, 0) = name Then
Private_History(i, j) = str2
End If
Next i
Loop
End SubPublic Function Encrypt(ByVal text As String, ByVal key As Integer)
Dim intC As Integer
For i = 1 To Len(text)
intC = AscW(Mid(text, i, 1))
Mid(text, i, 1) = ChrW(intC Xor key)
Next i
Encrypt = text
End FunctionPublic Sub Get_File_Information()
Dim fname As String
Dim foldername As String
Dim i As Integer
Dim File_Time As Date
FileInf = ""
foldername = App.Path & "\群共享\"
Set fs = CreateObject("Scripting.FileSystemObject")
fname = Dir(foldername & "*.*", 7)
i = 1
Do
If fname = "" Then Exit Do
If FileLen(foldername & fname) / 1024 > 1000 Then
FileInformation(i, 2) = Round(FileLen(foldername & fname) / 1024 / 1024, 2) & "MB"
Else
FileInformation(i, 2) = Round(FileLen(foldername & fname) / 1024, 2) & "KB"
End If
If InStr(1, fname, "(") <> 1 Or InStr(1, fname, ")") < 10 Or InStr(1, fname, ")") > 12 Then
Name foldername & fname As foldername & "(" & Date & ")" & fname
fname = "(" & Date & ")" & fname
End If
File_Time = Mid(fname, 2, InStr(1, fname, ")") - 2)
FileInformation(i, 1) = Right(fname, Len(fname) - InStr(1, fname, ")"))
FileInformation(i, 3) = File_Time
FileInformation(i, 4) = (7 - DateDiff("d", File_Time, Now)) & "天"
i = i + 1
fname = Dir()
Loop
File_Count = i - 1
For i = 1 To File_Count
FileInf = FileInf & FileInformation(i, 1) & Chr(1) & FileInformation(i, 2) & Chr(2)
FileInf = FileInf & FileInformation(i, 3) & Chr(3) & FileInformation(i, 4) & Chr(4)
Next i
FileInf = "FileInformation##" & File_Count & "@" & FileInf
End SubPublic Sub Write_ListView3()
Call Get_File_Information
Form3.ListView1.ListItems.Clear
For i = 1 To File_Count
Set itmx = Form3.ListView1.ListItems.Add(1, , File_Count - i + 1)
itmx.SubItems(1) = FileInformation(i, 1)
itmx.SubItems(2) = FileInformation(i, 2)
itmx.SubItems(3) = FileInformation(i, 3)
itmx.SubItems(4) = FileInformation(i, 4)
Next i
End Sub
问题出现用户类型定义未定义??
Public rd As Recordset-->Public db As New Database
Public rd As New Recordset
如果引用 正常 Public db As (后面会自动提示 Database等)说明没问题