⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 generalfunc.bas

📁 企业人员管理 前台是vb 后台是用sql server2000做的
💻 BAS
字号:
Attribute VB_Name = "GeneralFunc"
Public Sub Add_DepartToTree(TreeView1 As TreeView, _
                           ByVal TmpKey As String)
  Dim Bh As Long
  Dim TmpNode As Node
  '当前选择结点的关键字
  Dim CurKey As String
  '临时数组
  Dim TmpArr_DepartName() As String
  Dim TmpArr_DepartId() As Long
  ReDim TmpArr_DepartName(0)
  ReDim TmpArr_DepartId(0)
  '从关键字中读取当前的部门编号
  Bh = Val(Right(TmpKey, Len(TmpKey) - 1))
  '获取当前部门信息
  MyDepart.GetInfo (Bh)
  '读取当前部门的下一级部门数据
  MyDepart.Load_Depart_ByUpper (Bh)
  '将下一级部门数据赋值到临时数组中
  i = 0
  Do While Arr_DepartName(i) <> ""
    ReDim Preserve TmpArr_DepartName(i + 1)
    TmpArr_DepartName(i) = Arr_DepartName(i)
    ReDim Preserve TmpArr_DepartId(i + 1)
    TmpArr_DepartId(i) = Arr_DepartId(i)
    i = i + 1
  Loop
  
  i = 0
  Do While TmpArr_DepartName(i) <> ""
    '生成对应的关键字,格式为“字母a”+部门编号
    CurKey = "a" + Trim(Str(TmpArr_DepartId(i)))
    '如果当前部门有下一级部门,则显示文件夹图标
    If MyDepart.HaveSon(TmpArr_DepartId(i)) = True Then
      Set TmpNode = TreeView1.Nodes.Add(TmpKey, _
            tvwChild, CurKey, TmpArr_DepartName(i), 1, 3)
          
      TmpNode.ExpandedImage = 2
    '否则显示叶结点图标
    Else
      Set TmpNode = TreeView1.Nodes.Add(TmpKey, _
            tvwChild, CurKey, TmpArr_DepartName(i), 4, 5)
    End If
    'FocusDepartName、FocusDepartBh和FocusDepartKey分别表示希望选中的部门名称、编号和关键字
    If FocusDepartName <> "" And TmpArr_DepartName(i) = FocusDepartName Then
      TmpNode.Selected = True
      FocusDepartKey = CurKey
    End If
    If FocusDepartBh > 0 And TmpArr_DepartId(i) = FocusDepartBh Then
      TmpNode.Selected = True
      FocusDepartKey = CurKey
    End If
    If FocusDepartKey <> "" And CurKey = FocusDepartKey Then
      TmpNode.Selected = True
    End If
    '以当前部门为参数递归调用
    Call Add_DepartToTree(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) = Chr(8)
  '检查输入字符是否在数组中
  In_Int = False
  For i = 0 To 10
    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 + -