Visualizzazione dei risultati da 1 a 2 su 2

Discussione: codice fiscale

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    244

    codice fiscale

    qualcuno conosce il codice per calcolare inserendo in 3 text

    nome

    cognome

    datadinascita


    il codice fiscale??

  2. #2
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811

    prova questo ma solo un parametri di tipo string

    codice:
    Public Function CheckCodFiscale(aValue As String) As Boolean
        
        aValue = UCase(aValue)
            
        If Trim(aValue) = "" Then
            CheckCodFiscale = True
            Exit Function
        End If
        Dim I As Integer
        Dim N As Integer
        Dim TBC(36) As Integer
        Dim nDispari As Integer
        Dim nPari As Integer
        TBC(0) = 0
        TBC(1) = 1: TBC(2) = 0: TBC(3) = 5: TBC(4) = 7: TBC(5) = 9
        TBC(6) = 13: TBC(7) = 15: TBC(8) = 17: TBC(9) = 19: TBC(10) = 21
        TBC(11) = 2: TBC(12) = 4: TBC(13) = 18: TBC(14) = 20: TBC(15) = 11
        TBC(16) = 3: TBC(17) = 6: TBC(18) = 8: TBC(19) = 12: TBC(20) = 14
        TBC(21) = 16: TBC(22) = 10: TBC(23) = 22: TBC(24) = 25: TBC(25) = 24
        TBC(26) = 23: TBC(27) = 1: TBC(28) = 0: TBC(29) = 5: TBC(30) = 7
        TBC(31) = 9: TBC(32) = 13: TBC(33) = 15: TBC(34) = 17: TBC(35) = 19
        TBC(36) = 21
    '   Controllo sulla lunghezza della stringa: deve essere di 16 caratteri
        If Len(aValue) <> 16 Then
            CheckCodFiscale = False
            Exit Function
        End If
    '   controllo sull'ultimo carattere
    '   ciclo dispari: primo char, terzo, ecc...
        nDispari = 0
        For I = 1 To 15 Step 2
            N = Asc(Mid$(aValue, I, 1))
            If N < 58 Then
                N = N - 21
            Else
                N = N - 64
            End If
            If N < 0 Or N > 36 Then
                CheckCodFiscale = False
            End If
            nDispari = nDispari + TBC(N)
        Next I
    '   ciclo pari: secondo char, quarto, ecc...
        nPari = 0
        For I = 2 To 14 Step 2
            N = Asc(Mid$(aValue, I, 1))
            N = Asc(Mid$(aValue, I, 1))
            If N < 58 Then
                N = N - 48
            Else
                N = N - 65
            End If
            If N < 0 Or N > 36 Then
                CheckCodFiscale = False
            End If
            nPari = nPari + N
        Next I
        I = (nPari + nDispari) Mod 26 + 65
        N = Asc(Mid$(aValue, 16, 1))
        If I = N Then
            CheckCodFiscale = True
        Else
            CheckCodFiscale = False
        End If
    End Function

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.