Newsgroup: it.comp.lang.visual-basic
Titolo: Codice fiscale

Da giorni sto cercando le regole di composizione del codice fiscale. Ho già
trovato un database con tutti i codici delle varie città, riesco e
determinare i codici per la data di nascita, ma non riesco a capire l'ultima
parte del codice.
Se poi qualcuno avesse del codice già bel e pronto, gli sarei debitore per
tutta la vita :-)
Grazie in anticipo a chiunque mi risponda.
Rick

L'ho postato già pochi giorni fa, comunque rieccolo. Mi era stato segnalato
un errore, che ho corretto. Il procedimento è preso dagli articoli della
legge.
Codice Fiscale:
E' costituito da 16 caratteri:
3 caratteri per il cognome
3 per il nome
2 numerici per l'anno di nascita
1 alfabetico per il mese di nascita
2 numerici per il giorno di nascita e il sesso
4 alfanumerici per il codice del comune di nascita
1 carattere di controllo.
1. Tre caratteri per il cognome: Si prendono le prime tre consonanti del
cognome. Se sono meno di tre si prendono qelle che ci sono (una o due) e
poi si prende la prima vocale o le prime due vocali del cognome.
2. Tre caratteri per il nome. Si prendono la prima, la terza e la quarta
consonante del nome. Se ci sono solo tre consonanti si prendono la prima,
la seconda e la terza, se sono meno di tre si prendono le vocali.
3. Due caratteri numerici per l'anno di nascita. Questo è chiaro: 75 per
1975, 62 per 1962 e così via.
4. Un carattere alfabetico per il mese di nascita: secondo il seguente
schema:
Gennaio=A
Febbraio=B
Marzo=C
Aprile=D
Maggio=E
Giugno=H
Luglio=L
Agosto=M
Settembre=P
Ottobre=R
Novembre=S
Dicembre=T
5. Due caratteri numerici per il giorno di nascita ed il sesso. Per i
maschi, semplicemente il giorno di nascita (eventualmente preceduto da 0 se
minore di 10: 01, 02, 03, 25, 31...); per le donne, il giorno di nascita
aumentato di 40: se è nata l'1 del mese i caratteri saranno: 41, se è nata
il 22 i caratteri saranno: 62, eccetera.
6. Quattro caratteri alfanumerici per il codice del comune di nascita. Gli
ottomila e più comuni d'Italia hanno ognuno un codice unico di quattro
caratteri: è quello che si considera in questo caso. Necessario database
contenente i codici di tutti i comuni italiani.
7. Un carattere di controllo. Si prendono i sette caratteri di ordine pari
del codice fin qui formato, e si convertono in un valore numerico secondo
lo schema:
A oppure 0 (zero) =0(zero)
B,1=1
C,2=2
D,3=3
E,4=4
F,5=5
G,6=6
H,7=7
I,8=8
J,9=9
K=10
L=11
M=12
N=13
O=14
P=15
Q=16
R=17
S=18
T=19
U=20
V=21
W=22
X=23
Y=24
Z=25
Poi si prendono gli otto caratteri di posizione dispari e si convertono
secondo lo schema:
A oppure 0 (zero) =1
B,1=0(zero)
C,2=5
D,3=7
E,4=9
F,5=13
G,6=15
H,7=17
I,8=19
J,9=21
K=2
L=4
M=18
N=20
O=11
P=3
Q=6
R=8
S=12
T=14
U=16
V=10
W=22
X=25
Y=24
Z=23
I numeri così ottenuti si addizionano e la somma si divide per 26. Poi si
prende il resto di tale divisione e lo si converte in un carattere
alfabetico secondo la tabella:
0 (zero)=A
1=B
2=C
3=D
4=E
5=F
6=G
7=H
8=I
9=J
10=K
11=L
12=M
13=N
14=O
15=P
16=Q
17=R
18=S
19=T
20=U
21=V
22=W
23=X
24=Y
25=Z
Questo è il codice di controllo.
Esempio: Domenico Statuto, nato ad Aversa (CE) il 2.11.1964.
Prime tre consonanti del cognome: STT
Prima, terza e quarta consonante del nome: DNC
Anno di nascita, due caratteri: 64
Mese di nascita: Novembre (vedi tabella): S
Giorno di nascita e sesso: 02 (se fossi femmina sarebbe 42)
Codice di Aversa: A512
Finora il codice fiscale è: STT DNC 64S02 A512. Per concludere basta
trovare il codice di controllo:
Sette caratteri di posizione pari, che sono TDC40A1, corrispondenti ai
numeri 19+3+2+4+0+0+1=29
Otto caratteri di posizione dispari, che sono STN6S252, corrispondendi ai
numeri 12+14+20+15+12+5+13+5=96.
29+96=125
125:26=4 col resto di 21. A 21 corrisponde il codice V, quindi il mio
codice fiscale è:
STT DNC 64S02 A512V.
Saluti,
Domenico
Riccardo Serafin ha scritto nel messaggio ...


 Grazie in anticipo a chiunque mi risponda.
Se vai sul Sito Comune (vedi qui sotto) trovi i sorgenti di esempio.
(grazie a gente volenterosa)
-- 
Hi, Ciao
Ettore                 By -MES-
http://freeweb.aspide.it/freeweb/ilmes
Il sito comune di programmatori VB
http://members.xoom.com/it_lang_vb