peoplecode.cls

来自「VB物流管理系统毕业设计带源码源码+论文 vB+sql的毕业设计」· CLS 代码 · 共 89 行

CLS
89
字号
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "PeopleCode"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Public PeopleBirth As Date         '接收居民身份证号码中的出生日期
Public PeopleAge As Integer        '接收居民身份证号码中的年龄
Public PeopleSex As String         '接收居民身份证号码中的性别
Public PeopleCodes As String
Public Function PeopleCode(StrCode As String) As String
  Dim StrInput, Temp As String
  Dim StrBirth As String
  StrInput = StrCode                 '通过实参传递进来的身份证号码值
  Length = Len(StrInput)
         If StrCode = "" Then
              MsgBox "输入不能为空", 48, "提示"
         ElseIf Not IsNumeric(StrCode) Then
              StrCode = ""
         Else
            If Length = 15 Then
                 Dim Temp1, Temp2, Temp3
                 Dim S As Integer
                 Dim x, Y
                 x = Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1)
                 Y = Array("1", "0", "x", "9", "8", "7", "6", "5", "4", "3", "2")
                         Temp1 = Mid(StrCode, 1, 6)
                         Temp1 = Temp1 + "19"
                         Temp2 = Mid(StrCode, 7, 15)
                         Temp1 = Temp1 + Temp2
                         S = 0
                             For i = 0 To 16
                               j = Val(Mid(Temp1, i + 1, 1)) * x(i)
                               S = S + j
                             Next i
                         S = S Mod 11
                        StrCode = Temp1 + Trim(Y(S))
                        PeopleCodes = Temp1 + Trim(Y(S))
                       Temp = Mid$(StrCode, 7, 4)
                       Temp3 = Temp
                       Temp = Mid$(StrCode, 11, 2)
                        If Val(Temp) > 12 Or Val(Temp) < 0 Then
                             MsgBox "您输入的身份证号非法"
                             StrCode = ""
                        Else
                             StrBirth = Temp3 + "-" + Temp
                             Temp = Mid$(StrCode, 13, 2)
                             StrBirth = StrBirth + "-" + Temp
                             PeopleBirth = StrBirth
                             PeopleAge = DateDiff("yyyy", PeopleBirth, Date)
                        End If
               ElseIf Len(StrInput) = 18 Then
                 Temp = Mid$(StrInput, 7, 4)
                 StrBirth = Temp
                 Temp = Mid$(StrInput, 11, 2)
                        If Val(Temp) > 12 Or Val(Temp) < 0 Then
                             MsgBox "您输入的身份证号非法"
                             StrCode = ""
                        Else
                             StrBirth = StrBirth + "-" + Temp
                             Temp = Mid$(StrCode, 13, 2)
                             StrBirth = StrBirth + "-" + Temp
                             PeopleBirth = StrBirth
                             PeopleAge = DateDiff("yyyy", PeopleBirth, Date)
                             PeopleCodes = StrInput
                        End If
                 Else
                       MsgBox "您输入的身份证号的位数非法!", 48, "提示"
                       StrCode = ""
               End If
          End If
    Temp = Mid$(StrCode, 17, 1)               '判断身份证号的最后一位是“男”还是“女”
      If Temp = "1" Or Temp = "3" Or Temp = "5" Or Temp = "7" Or Temp = "9" Then
        PeopleSex = "男"
      ElseIf Temp = "0" Or Temp = "2" Or Temp = "4" Or Temp = "6" Or Temp = "8" Then
        PeopleSex = "女"
      End If

End Function


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?