?? generalfunc.bas
字號:
Attribute VB_Name = "GeneralFunc"
Public Sub AddtoTree(TreeView1 As TreeView, _
ByVal TmpKey As String)
Dim Bh As Long
Dim TmpNode As Node
'當前選擇結點的關鍵字
Dim CurKey As String
'臨時數組
Dim TmpArr_TypeName() As String
Dim TmpArr_TypeId() As Long
ReDim TmpArr_TypeName(0)
ReDim TmpArr_TypeId(0)
'從關鍵字中讀取當前的圖書編號
Bh = Val(Right(TmpKey, Len(TmpKey) - 1))
'獲取當前圖書分類信息
MyBookType.GetInfo (Bh)
'讀取當前圖書分類的下一級分類數據
MyBookType.Load_by_Upper (Bh)
'將下一級分類數據賦值到臨時數組中
i = 0
Do While Arr_BookType(i) <> ""
ReDim Preserve TmpArr_TypeName(i + 1)
TmpArr_TypeName(i) = Arr_BookType(i)
ReDim Preserve TmpArr_TypeId(i + 1)
TmpArr_TypeId(i) = Arr_TypeId(i)
i = i + 1
Loop
i = 0
Do While TmpArr_TypeName(i) <> ""
'生成分類對應的關鍵字,格式為“字母a”+分類編號
CurKey = "a" + Trim(Str(TmpArr_TypeId(i)))
'如果當前分類有下一級分類,則顯示文件夾圖標
If MyBookType.HaveSon(TmpArr_TypeId(i)) = True Then
Set TmpNode = TreeView1.Nodes.Add(TmpKey, _
tvwChild, CurKey, TmpArr_TypeName(i), 1, 3)
TmpNode.ExpandedImage = 2
'否則顯示葉結點圖標
Else
Set TmpNode = TreeView1.Nodes.Add(TmpKey, _
tvwChild, CurKey, TmpArr_TypeName(i), 4, 5)
End If
'FocusTypeName、FocusTypeBh和FocusTypeKey分別表示希望選中的分類的名稱、編號和關鍵字
If FocusTypeName <> "" And TmpArr_TypeName(i) = FocusTypeName Then
TmpNode.Selected = True
FocusTypeKey = CurKey
End If
If FocusDepBh > 0 And TmpArr_TypeId(i) = FocusDepBh Then
TmpNode.Selected = True
FocusTypeKey = CurKey
End If
If FocusTypeKey <> "" And CurKey = FocusTypeKey Then
TmpNode.Selected = True
End If
'以當前分類為參數遞歸調用
Call AddtoTree(TreeView1, CurKey)
i = i + 1
Loop
End Sub
Public Function In_Single(KeyAscii As Integer) As Boolean
Dim Ch_Accept_Single(20) As String
'可以接受的字符數組
Ch_Accept_Single(0) = "0"
Ch_Accept_Single(1) = "1"
Ch_Accept_Single(2) = "2"
Ch_Accept_Single(3) = "3"
Ch_Accept_Single(4) = "4"
Ch_Accept_Single(5) = "5"
Ch_Accept_Single(6) = "6"
Ch_Accept_Single(7) = "7"
Ch_Accept_Single(8) = "8"
Ch_Accept_Single(9) = "9"
Ch_Accept_Single(10) = "."
Ch_Accept_Single(11) = "-"
Ch_Accept_Single(12) = Chr(8)
'檢查輸入字符是否在數組中
In_Single = False
For i = 0 To 12
If Chr(KeyAscii) = Ch_Accept_Single(i) Then
In_Single = True
End If
Next
End Function
Public Function In_Int(KeyAscii As Integer) As Boolean
Dim Ch_Accept_Int(20) As String
'可以接受的字符數組
Ch_Accept_Int(0) = "0"
Ch_Accept_Int(1) = "1"
Ch_Accept_Int(2) = "2"
Ch_Accept_Int(3) = "3"
Ch_Accept_Int(4) = "4"
Ch_Accept_Int(5) = "5"
Ch_Accept_Int(6) = "6"
Ch_Accept_Int(7) = "7"
Ch_Accept_Int(8) = "8"
Ch_Accept_Int(9) = "9"
Ch_Accept_Int(10) = "-"
Ch_Accept_Int(11) = Chr(8)
'檢查輸入字符是否在數組中
In_Int = False
For i = 0 To 11
If Chr(KeyAscii) = Ch_Accept_Int(i) Then
In_Int = True
End If
Next
End Function
Public Function InCombo(ByVal Str As String, _
ByVal Combo1 As ComboBox) As Boolean
i = 0
Do While i < Combo1.ListCount
If Combo1.List(i) = Trim(Str) Then
InCombo = True
Exit Function
End If
i = i + 1
Loop
MsgBox Str + " 不在列表中,請重新設置"
InCombo = False
End Function
Public Function Lench(ByVal TmpStr As String) As String
Lench = LenB(StrConv(TmpStr, vbFromUnicode))
End Function
Public Function TrimStr(ByVal Str As String) As String
If InStr(Str, Chr(0)) <= 0 Then
TrimStr = Trim(Str)
Else
TrimStr = Trim(Left(Str, InStr(Str, Chr(0)) - 1))
End If
End Function
Public Function MakeStr(ByVal Str As String) As String
MakeStr = Trim(Replace(Str, "'", "''"))
End Function
Public Sub EnterTAB(KeyAscii As Integer)
If KeyAscii = 13 Then '13表示回車鍵
SendKeys "{TAB}" '轉換為TAB鍵
End If
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -