1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現(xiàn)在位置:范文先生網(wǎng)>理工論文>計算機信息技術(shù)>如何利用Visual Basic開發(fā)身份證號碼批量驗證工具軟件

    如何利用Visual Basic開發(fā)身份證號碼批量驗證工具軟件

    時間:2022-04-29 17:27:03 計算機信息技術(shù) 我要投稿
    • 相關(guān)推薦

    如何利用Visual Basic開發(fā)身份證號碼批量驗證工具軟件

      如何利用Visual Basic開發(fā)身份證號碼批量驗證工具軟件
      
      作者/劉小龍
      
      通過對身份證號碼實際應(yīng)用中存在的問題進行詳細分析,我們發(fā)現(xiàn)每學年的學籍建檔、國家助學金申報等方面都離不開身份證號碼。同時,人工核對信息工作量大,也易出錯,勢必對工作造成一定的影響。為此,我們運用大學學習的一些VB知識,根據(jù)身份證號碼編碼規(guī)則編寫了《身份證號碼批量驗證工具》軟件,使身份證號碼核對工作變得簡單、輕松。
      
      一、軟件的設(shè)計步驟
    如何利用Visual Basic開發(fā)身份證號碼批量驗證工具軟件  
      二、軟件詳細設(shè)計
      
      1. 解決方案與軟件特色
      
      本程序使用VB在Windows XP環(huán)境開發(fā),解決了身份證號碼驗證過程中存在的易出錯、工作量大的問題,支持Excel文件批量驗證及信息追加,綠色免安裝、小巧、實用性強。
      
      2. 具體設(shè)計
      
      下面就根據(jù)軟件的操作流程圖進行介紹軟件的功能和實現(xiàn)原理:
      
      (1)操作流程圖。
    如何利用Visual Basic開發(fā)身份證號碼批量驗證工具軟件  
      參數(shù)設(shè)置說明:身份證號碼、性別、出生年月所在列均以阿拉伯數(shù)字表示,性別、出生年月信息的追加屬于選擇項。
      
      (2)身份證號碼校驗值計算函數(shù)代碼。
      
      Public Function sfzjym(num As String) As String
      
      Dim n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14,n15,n16,n17,y,s As Integer
      
      n1=Val(Mid$(num,1,1))*7
      
      n2=Val(Mid$(num,2,1))*9
      
      n3=Val(Mid$(num,3,1))*10
      
      n4=Val(Mid$(num,4,1))*5
      
      n5=Val(Mid$(num,5,1))*8
      
      n6=Val(Mid$(num,6,1))*4
      
      n7=Val(Mid$(num,7,1))*2
      
      n8=Val(Mid$(num,8,1))*1
      
      n9=Val(Mid$(num,9,1))*6
      
      n10=Val(Mid$(num,10,1))*3
      
      n11=Val(Mid$(num,11,1))*7
      
      n12=Val(Mid$(num,12,1))*9
      
      n13=Val(Mid$(num,13,1))*10
      
      n14=Val(Mid$(num,14,1))*5
      
      n15=Val(Mid$(num,15,1))*8
      
      n16=Val(Mid$(num,16,1))*4
      
      n17=Val(Mid$(num,17,1))*2
      
      y=n1+n2+n3+n4+n5+n6+n7+n8+n9+n10+n11+n12+n13+n14+n15+n16+n17
      
      s=y Mod 11
      
      Select Cases
      
      Case 0
      
      sfzjym=“1”
      
      Case 1
      
      sfzjym=“0”
      
      Case 2
      
      sfzjym=“X”
      
      Case 3
      
      sfzjym=“9”
      
      Case 4
      
      sfzjym=“8”
      
      Case 5
      
      sfzjym=“7”
      
      Case 6
      
      sfzjym=“6”
      
      Case 7
      
      sfzjym=“5”
      
      Case 8
      
      sfzjym=“4”
      
      Case 9
      
      sfzjym=“3”
      
      Case 10
      
      sfzjym=“2”
      
      End Select
      
      End Function
      
      函數(shù)參數(shù)為18位身份證號碼,返回值為身份證號碼的校驗值,即身份證號碼最后一位,整個計算過程嚴格按照GB11643-1999
      
      《公民身份號碼》中的規(guī)定完成。
      
      (3)驗證代碼。
      
      Private Sub yz_Click()
      
      On Error GoTo errh
      
      Dim app As Excel.Application
      
      Dim appworkbook As Workbook
      
      Dim appworksheet As Worksheet
      
      Dim hs1 As Integer,hs2 As Integer,err As Integer
      
      Dim adr As String,sfzbh As String
      
      err=0
      
      dkdhk.Action=1
      
      adr$=Mid$(dkdhk.InitDir &“\”& dkdhk.FileName, 2, Len(dkdhk.InitDir & “\” & dkdhk.FileName) - 1)
      
      Set app=New Excel.Application
      
      Set appworkbook=app.Workbooks.Open(adr$)
      
      Set appworksheet=appworkbook.Sheets(1)
      
      Do While appworksheet.Cells(2,1)<> “”
      
      hs1=hs1+1
      
      Loop
      
      jc.Max=hs1
      
      For hs2=2 To hs1+1
      
      sfzbh$=appworksheet.Cells(hs2, Val(l1.Text))
      
      If Mid$(sfzbh$,18,1)=“x"”Then
      
      appworksheet.Cells(hs2,Val(l1.Text))=Mid$(sfzbh$,1,17) & “X”
      
      sfzbh$=Mid$(sfzbh$,1,17) & “X”
      
      End If
      
      If Len(sfzbh$)<>18 Then
      
      err=err+1
      
      appworksheet.Cells(hs2,Val(l1.Text))=“不夠18位” & sfzbh$
      
      appworksheet.Cells(hs2,Val(l1.Text))。Font.ColorIndex=3
      
      Else
      
      If Mid$(sfzbh$,18,1)<>sfzjym(sfzbh$) Then
      
      err=err+1
      
      appworksheet.Cells(hs2,Val(l1.Text))=“校驗碼錯誤” & sfzbh$
      
      appworksheet.Cells(hs2,Val(l1.Text))。Font.ColorIndex=3
      
      Else
      
      If jz1.Value=1 Then
      
      If Mid$(sfzbh$,17,1) Mod 2=1 Then
      
      appworksheet.Cells(hs2,Val(xb.Text))=“男”
      
      Else
      
      appworksheet.Cells(hs2,Val(xb.Text))=“女”
      
      End If
      
      End If
      
      If jz2.Value=1 Then
      
      appworksheet.Cells(hs2,Val(csny.Text))=Mid$(sfzbh$,7,4) & “-”& Mid$(sfzbh$,11,2) & “-” & Mid$(sfzbh$,13,2)
      
      End If
      
      End If
      
      End If
      
      jc.Value=hs2-2
      
      Next hs2
      
      “MsgBox ”數(shù)據(jù)驗證完成,到文件中查看驗證結(jié)果“& ”(共驗證“& hs1 &”條記錄,發(fā)現(xiàn)“& err &”處身份證錯誤信息)“,48,”
      
      提示
      
      app.Visible=True
      
      errh:
      
      End Sub
      
      (4)驗證代碼需要完成的任務(wù)。
      
      ①判斷身份證號碼所在列參數(shù)填寫是否正確;②判斷是否追加性別、出生年月及所在列參數(shù);③讀取Excel文件中的身份證號碼,根據(jù)調(diào)用計算身份證號碼校驗碼sfzjym函數(shù)判斷身份證號碼是否正確;④對正確的身份證號碼自動校正小寫x為大寫X;⑤給Excel文件反饋判斷信息及錯誤原因,若選擇追加性別、出生年月選項,將對正確的身份證號碼相關(guān)記錄添加性別、出生年月;⑥彈窗提示驗證信息量與錯誤信息量,并自動打開驗證的Excel文件。
      
      三、程序所體現(xiàn)特點與應(yīng)用性
      
      因日常工作中存在著身份證號碼大量核對帶來的各種問題,經(jīng)過詳細的分析和研究,提出了開發(fā)《身份證號碼批量驗證工具》程序的想法。程序經(jīng)過反反復(fù)復(fù)的嚴格測試,完全能夠勝任身份證號碼批量驗證這一工作,充分體現(xiàn)在下面幾點:(1)實用性強,支持對Excel數(shù)據(jù)的批量驗證與信息自動追加;(2)整個操作過程簡單、易懂、工作量小;(3)對錯誤信息有準確的、詳細的提示信息,方便二次修正;(4)綠色免安裝、小巧。
      
      (甘肅省通渭縣第二中學)
    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      亚洲美女性爱视频在线观看 | 亚洲免费在线观看AV | 亚洲欧美在线看h | 在线看片a免费人成视频 | 欧美人与动甡交欧美精品 | 一级a爱视频日本免费 |