Newsgroup: it.comp.lang.visual-basic
Titolo: Partita IVA

Un saluto a tutti.
Sono ormai giorni che cerco invano il sorgente per il controllo della
partita iva (quello del codice fiscale l'ho trovato), nessuno sarebbe cosě
gentile da darmi una mano a trovarlo o magari a postarlo ?
Grazie a tutti

 partita iva
Non c'è una regola per il numero della p.iva, è un numero incrementale di 11 
numeri assengato dalla camera di commercio dipendente dalla regione semmai.
--------------------------------------------------
FREE ActiveX Components
http://www.prioregroup.com
--------------------------------------------------
Biometric Fingerprint Components for Developers
http://www.biosecuredev.com

 numeri assengato dalla camera di commercio dipendente dalla regione semmai.
uhmmm
secondo me č molto probabile che l'ultimo numero sia un check digit, e che
l'op stia chiedendo qual č l'algoritmo di generazione/verifica.
provo a dare un'occhiata su google, vediamo chi arriva prima :-)
-- 
Salutoni
Sergio
Per rispondere... togli il group dall'indirizzo
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 provo a dare un'occhiata su google, vediamo chi arriva prima :-)
http://community.visual-basic.it/lucianob/archive/2004/11/29/1495.aspx
quanto ci ho messo?


 ha scritto nel messaggio
news:hIQHd.431063$b5.20...@news3.tin.it...

In questo link e' spiegata la struttura e l'algoritmo per vedere se puo
essere reale una partita iva..
http://it.geocities.com/arodichevski/comp-piva-it.html
Ciao


2 min secondi ca al max :D


Azz.. sono arrivato con 3 min di ritardo!:-)
heheheh
Ciapz

 ha scritto nel messaggio
news:hIQHd.431063$b5.20...@news3.tin.it...

Private Function ControllaPartitaIVA(sPI As String) As Boolean
    Dim s As Integer, i As Integer, C As Integer
    If Len(sPI) = 11 Then
        s = 0
        For i = 1 To 10 Step 2
            s = s + Asc(Mid$(sPI, i, 1)) - Asc(0)
        Next i
        For i = 2 To 10 Step 2
            C = 2 * (Asc(Mid$(sPI, i, 1)) - Asc(0))
            If C > 9 Then C = C - 9
            s = s + C
        Next i
        If ((10 - s Mod 10) Mod 10 <> Asc(Mid$(sPI, 11, 1)) - Asc(0)) Then
            ControllaPartitaIVA = False
        Else
            ControllaPartitaIVA = True
        End If
    Else
        ControllaPartitaIVA = False
    End If
End Function
Ciao, Vincenzo


Stasera sono in vena di bontà, via.
Ciapa!!
'#######################################################################
'#  codfis.bas
'#  Progetto: libreria generica
'#  l'unica e sola classe di interfaccia verso l'esterno
'#  Versione: 1.00    Revisione: 000    Data: 30/04/2003
'#  Ultimo revisore: LM
'#######################################################################
'***********************************************************************
'*  Le costanti vanno qui!!!
'***********************************************************************
Const ModuleName = "#@codfis."
Private Const ASCII_0 = 48
Private Const ASCII_9 = 57
Private Const ASCII_A = 65
Private Const ASCII_Z = 90
'***********************************************************************
'*  I metodi vanno qui!
'***********************************************************************
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''  VerificaCodiceFiscale
''  Verifica di congruenza del codice fiscale passato
''
Public Function VerificaCodiceFiscale(strCode As String) As Boolean
    Dim strApp As String
    Dim iApp As Integer
    Dim lSum As Long
    Dim lASCII As Long
    VerificaCodiceFiscale = False
    If Len(strCode) <> 16 Then Exit Function
 
    lSum = 0
    For iApp = 1 To 15
        strApp = Mid$(strCode, iApp, 1)
        If iApp Mod 2 = 1 Then
            Select Case strApp
                Case "0", "A"
                    lSum = lSum + 1
                Case "1", "B"
                    lSum = lSum + 0
                Case "2", "C"
                    lSum = lSum + 5
                Case "3", "D"
                    lSum = lSum + 7
                Case "4", "E"
                    lSum = lSum + 9
                Case "5", "F"
                    lSum = lSum + 13
                Case "6", "G"
                    lSum = lSum + 15
                Case "7", "H"
                    lSum = lSum + 17
                Case "8", "I"
                    lSum = lSum + 19
                Case "9", "J"
                    lSum = lSum + 21
                Case "K"
                    lSum = lSum + 2
                Case "L"
                    lSum = lSum + 4
                Case "M"
                    lSum = lSum + 18
                Case "N"
                    lSum = lSum + 20
                Case "O"
                    lSum = lSum + 11
                Case "P"
                    lSum = lSum + 3
                Case "Q"
                    lSum = lSum + 6
                Case "R"
                    lSum = lSum + 8
                Case "S"
                    lSum = lSum + 12
                Case "T"
                    lSum = lSum + 14
                Case "U"
                    lSum = lSum + 16
                Case "V"
                    lSum = lSum + 10
                Case "W"
                    lSum = lSum + 22
                Case "X"
                    lSum = lSum + 25
                Case "Y"
                    lSum = lSum + 24
                Case "Z"
                    lSum = lSum + 23
                Case Else
                    lSum = -1
                    iApp = 16  ''  cosi' esce dal for....
            End Select
        Else
            lASCII = Asc(strApp)
 
            If lASCII >= ASCII_0 And lASCII <= ASCII_9 Then
                lSum = lSum + (lASCII - ASCII_0)
            ElseIf lASCII >= ASCII_A And lASCII <= ASCII_Z Then
                lSum = lSum + (lASCII - ASCII_A)
            Else
                lSum = -1
                iApp = 16  ''  cosi' esce dal for....
            End If
        End If
    Next
 
    If lSum >= 0 Then
        lSum = lSum Mod 26
        VerificaCodiceFiscale = (lSum = Asc(Right$(strCode, 1)) -
ASCII_A)
    End If
End Function
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''  VerificaPartitaIVA
''  Verifica di congruenza della partita IVA passata
''
Public Function VerificaPartitaIVA(strPIVA As String) As Boolean
    Dim lASCII As Long
    Dim lSum As Long
    Dim iId As Integer
    Dim bResult
    bResult = True
    If Len(strPIVA) = 11 Then
        lSum = 0
        For iId = 1 To 10
            lASCII = Asc(Mid$(strPIVA, iId, 1))
            ''  deve essere un numero......
            If lASCII < ASCII_0 Or lASCII > ASCII_9 Then
                lSum = -1
                iId = 10
            ElseIf iId Mod 2 = 0 Then
                lASCII = (lASCII - ASCII_0) * 2
                If lASCII > 9 Then lASCII = lASCII - 9
                lSum = lSum + lASCII
            Else
                lSum = lSum + (lASCII - ASCII_0)
            End If
        Next
 
        If lSum >= 0 Then
            lSum = lSum Mod 10
            If lSum > 0 Then lSum = 10 - lSum
            lASCII = Asc(Right$(strPIVA, 1)) - ASCII_0
            If lASCII < 0 Or lASCII > 9 Or lSum <> lASCII Then
                bResult = False
            End If
        Else
            bResult = False
        End If
    Else
        bResult = False
    End If
 
    VerificaPartitaIVA = bResult
End Function
--
Ciao!
Luca Menegotto

 ha scritto nel messaggio
news:g0svu05ub27ojhelc...@4ax.com...


 ha scritto nel messaggio
news:35a63fF...@individual.net...
