Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Codice fiscale - codice_fiscale.bas

codice_fiscale.bas

Caricato da: Albertking82
Scarica il programma completo

  1. Attribute VB_Name = "codice_fiscale"
  2. Option Explicit
  3.  
  4.  Public Type cod
  5.   id As Integer
  6.   com As String * 25
  7.   cod As String * 4
  8.   prov As String * 2
  9.  End Type
  10.  Public cont As Integer
  11.  Public nome As String
  12.  Public cognome As String
  13.  Public data As String
  14.  Public comune As String
  15.  Public codice() As cod
  16. Public Function tcom(c As String) As String
  17.  Dim n As Integer, strlinea As String, l As Integer, strlinea2 As String
  18.   n = FreeFile
  19.     l = Len(c)
  20.     tcom = Trim(LCase(c))
  21.   Open App.Path & "\codfis.cod" For Input As #n
  22.     While Not EOF(n)
  23.      Line Input #n, strlinea
  24.      strlinea2 = Trim(LCase(Mid(strlinea, 1, l)))
  25.       If Trim(LCase(strlinea2)) = tcom Then
  26.         cont = cont + 1
  27.         ReDim Preserve codice(1 To cont) As cod
  28.         codice(cont).cod = Trim(UCase(Mid(strlinea, l + 2, 4)))
  29.         codice(cont).prov = Trim(UCase(Mid(strlinea, l + 7, 2)))
  30.         tcom = UCase(codice(cont).cod)
  31.       End If
  32.     Wend
  33.   Close #n
  34. End Function
  35. Public Function tcog(strx As String) As String
  36.  Dim stry As String, car As String, i As Integer
  37.   stry = ""
  38.    i = 1
  39.    Do
  40.     car = Mid(strx, i, 1)
  41.      If car <> "a" And car <> "e" And car <> "i" And car <> "o" And car <> "u" Then
  42.         stry = stry & Mid(strx, i, 1)
  43.      End If
  44.     i = i + 1
  45.     Loop Until i > Len(strx) Or Len(stry) = 3
  46.      If Len(stry) < 3 Then
  47.         i = 1
  48.          Do
  49.           car = Mid(strx, i, 1)
  50.            If car = "a" Or car = "e" Or car = "i" Or car = "o" Or car = "u" Then
  51.            stry = stry & Mid(strx, i, 1)
  52.            End If
  53.             i = i + 1
  54.            Loop Until i > Len(strx) Or Len(stry) = 3
  55.            End If
  56.           tcog = UCase(stry)
  57. End Function
  58. Public Function tnome(strx As String) As String
  59. Dim stry As String, i As Integer, car As String, j As Integer, cons As String
  60.  j = 0
  61.  stry = ""
  62.  i = 1
  63.   Do
  64.    car = Mid(strx, i, 1)
  65.     If car <> "a" And car <> "e" And car <> "i" And car <> "o" And car <> "u" Then
  66.          j = j + 1
  67.          cons = cons & Mid(strx, i, 1)
  68.          End If
  69.           If i = Len(strx) Then
  70.                 If Len(cons) >= 4 Then
  71.                    stry = Mid(cons, 1, 1) & Mid(cons, 3, 1) & Mid(cons, 4, 1)
  72.                 Else
  73.                    stry = cons
  74.                 End If
  75.           End If
  76.           i = i + 1
  77.    Loop Until i > Len(strx) Or Len(stry) = 3
  78.       If Len(stry) < 3 Then
  79.         i = 1
  80.           Do
  81.            car = Mid(strx, i, 1)
  82.             If car = "a" Or car = "e" Or car = "i" Or car = "o" Or car = "u" Then
  83.                stry = stry & Mid(strx, i, 1)
  84.             End If
  85.              i = i + 1
  86.           Loop Until i > Len(strx) Or Len(stry) = 3
  87.           End If
  88.        tnome = UCase(stry)
  89. End Function
  90. Public Function controllo(strx As String) As String
  91.  Dim i As Integer
  92.  Dim sommapari As Integer
  93.  Dim sommadispari As Integer
  94.  Dim somma As Integer
  95.  Dim codasc As Integer, carattere As String * 1
  96.  Dim char As Integer
  97.  Dim pari(0 To 25) As Integer
  98.  Dim dispari(0 To 25) As Integer
  99.      dispari(0) = 1: dispari(1) = 0: dispari(2) = 5: dispari(3) = 7: _
  100.      dispari(4) = 9: dispari(5) = 13: dispari(6) = 15: dispari(7) = 17: _
  101.      dispari(8) = 19: dispari(9) = 21: dispari(10) = 2: dispari(11) = 4: _
  102.      dispari(12) = 18: dispari(13) = 20: dispari(14) = 11: dispari(15) = 3: _
  103.      dispari(16) = 6: dispari(17) = 8: dispari(18) = 12: dispari(19) = 14: _
  104.      dispari(20) = 16: dispari(21) = 10: dispari(22) = 22: dispari(23) = 25: _
  105.      dispari(24) = 24: dispari(25) = 23:
  106.      sommapari = 0
  107.        For i = 2 To Len(strx) Step 2
  108.            carattere = Mid(strx, i, 1)
  109.            codasc = Asc(carattere)
  110.            char = Val(carattere)
  111.              If char <> 0 Then
  112.                 sommapari = sommapari + Val(carattere)
  113.               Else
  114.                 sommapari = sommapari + codasc - 65
  115.               End If
  116.        Next i
  117.          sommadispari = 0
  118.           For i = 1 To Len(strx) Step 2
  119.             carattere = Mid(strx, i, 1)
  120.             codasc = Asc(carattere)
  121.             char = Val(carattere)
  122.               If char <> 0 Then
  123.                  sommadispari = sommadispari + dispari(Val(carattere))
  124.                Else
  125.                  sommadispari = sommadispari + dispari(codasc - 65)
  126.               End If
  127.            Next i
  128.        somma = sommapari + sommadispari
  129.       controllo = Chr((somma Mod 26) + 65)
  130.      End Function