<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Piccola funziona per il calcolo del codice fiscale]]></title><description><![CDATA[<p dir="auto">Ragazzi non è granche che come funzione ma io la pubblico lo stesso potrebbe tornare utile a chiunque...</p>
<p dir="auto">Function codicefiscale(ByVal nome As String, ByVal cognome As  String, ByVal data As String, ByVal sesso As String, ByVal comune As  String) As String<br />
Dim inome, icognome, icomune, controllo, temp As String<br />
Dim letteracod As String<br />
'prendi le iniziali del nome<br />
Dim ccc As Long = 1<br />
For i = 1 To Len(nome)<br />
temp = LCase(Mid(nome, i, 1))<br />
Select Case temp<br />
Case "b"<br />
inome += temp<br />
Case "c"<br />
inome += temp<br />
Case "d"<br />
inome += temp<br />
Case "f"<br />
inome += temp<br />
Case "g"<br />
inome += temp<br />
Case "h"<br />
inome += temp<br />
Case "j"<br />
inome += temp<br />
Case "k"<br />
inome += temp<br />
Case "l"<br />
inome += temp<br />
Case "m"<br />
inome += temp<br />
Case "n"<br />
inome += temp<br />
Case "p"<br />
inome += temp<br />
Case "q"<br />
inome += temp<br />
Case "r"<br />
inome += temp<br />
Case "s"<br />
inome += temp<br />
Case "t"<br />
inome += temp<br />
Case "v"<br />
inome += temp<br />
Case "w"<br />
inome += temp<br />
Case "x"<br />
inome += temp<br />
Case "y"<br />
inome += temp<br />
Case "z"<br />
inome += temp<br />
End Select<br />
Next<br />
If Len(inome) &gt;= 4 Then<br />
temp = LCase(inome)<br />
inome = Mid(temp, 1, 1) &amp; Mid(temp, 3, 1) &amp; Mid(temp, 4, 1)<br />
End If<br />
'controlla la lunghezza delle iniziali<br />
If Len(inome) &gt; 3 Then<br />
inome = Mid(inome, 1, 3)<br />
ElseIf Len(inome) &lt; 3 Then<br />
For i = 1 To Len(nome)<br />
letteracod = Mid(nome, i, 1)<br />
Select Case letteracod<br />
Case "a"<br />
inome += "a"<br />
Case "e"<br />
inome += "e"<br />
Case "i"<br />
inome += "i"<br />
Case "o"<br />
inome += "o"<br />
Case "u"<br />
inome += "u"<br />
End Select<br />
Next<br />
If Len(inome) &gt; 3 Then<br />
inome = Mid(inome, 1, 3)<br />
ElseIf Len(inome) &lt; 3 Then<br />
For i = Len(inome) To 3<br />
inome += "x"<br />
Next<br />
End If<br />
End If<br />
'prendi lettere del cognome<br />
For i = 1 To Len(cognome)<br />
temp = LCase(Mid(cognome, i, 1))<br />
Select Case temp<br />
Case "b"<br />
icognome += temp<br />
Case "c"<br />
icognome += temp<br />
Case "d"<br />
icognome += temp<br />
Case "f"<br />
icognome += temp<br />
Case "g"<br />
icognome += temp<br />
Case "h"<br />
icognome += temp<br />
Case "j"<br />
icognome += temp<br />
Case "k"<br />
icognome += temp<br />
Case "l"<br />
icognome += temp<br />
Case "m"<br />
icognome += temp<br />
Case "n"<br />
icognome += temp<br />
Case "p"<br />
icognome += temp<br />
Case "q"<br />
icognome += temp<br />
Case "r"<br />
icognome += temp<br />
Case "s"<br />
icognome += temp<br />
Case "t"<br />
icognome += temp<br />
Case "v"<br />
icognome += temp<br />
Case "w"<br />
icognome += temp<br />
Case "x"<br />
icognome += temp<br />
Case "y"<br />
icognome += temp<br />
Case ("z")<br />
icognome += temp<br />
End Select<br />
Next<br />
'controlla la lunghezza delle iniziali<br />
If Len(icognome) &gt; 3 Then<br />
icognome = Mid(icognome, 1, 3)<br />
ElseIf Len(icognome) &lt; 3 Then<br />
'minore di tre cifre prendi anche le vocali<br />
For i = 1 To Len(cognome)<br />
letteracod = Mid(cognome, i, 1)<br />
Select Case letteracod<br />
Case "a"<br />
icognome += "a"<br />
Case "e"<br />
icognome += "e"<br />
Case "i"<br />
icognome += "i"<br />
Case "o"<br />
icognome += "o"<br />
Case "u"<br />
icognome += "u"<br />
End Select<br />
Next<br />
If Len(icognome) &gt; 3 Then<br />
icognome = Mid(icognome, 1, 3)<br />
ElseIf Len(icognome) &lt; 3 Then<br />
For i = Len(icognome) To 3<br />
icognome += "x"<br />
Next<br />
End If<br />
End If<br />
'calola le cifre della data<br />
Dim idata, gg, mm, aa As String<br />
temp = data<br />
Dim tempn As Short<br />
tempn = InStr(temp, "/")<br />
gg = Mid(data, 1, tempn - 1)<br />
temp = Mid(data, 4)<br />
tempn = InStr(temp, "/")<br />
mm = Mid(temp, 1, tempn - 1)<br />
temp = Mid(temp, 4)<br />
aa = Mid(temp, 3)<br />
idata = aa<br />
Select Case mm<br />
Case "01"<br />
idata += "a"<br />
Case "02"<br />
idata += "b"<br />
Case "03"<br />
idata += "c"<br />
Case "04"<br />
idata += "d"<br />
Case "05"<br />
idata += "e"<br />
Case "06"<br />
idata += "h"<br />
Case "07"<br />
idata += "l"<br />
Case "08"<br />
idata += "m"<br />
Case "09"<br />
idata += "p"<br />
Case "10"<br />
idata += "r"<br />
Case "11"<br />
idata += "s"<br />
Case "12"<br />
idata += "t"<br />
End Select<br />
If sesso = "Maschio" Then<br />
idata += gg<br />
ElseIf sesso = "Femmina" Then<br />
idata += gg + 40<br />
End If<br />
'codice parziale per calcolare ultima cifra<br />
Dim parz As String<br />
parz = LCase(icognome &amp; inome &amp; idata &amp; comune)<br />
'trova il carattere di verificca<br />
Dim d, p As String<br />
Dim vdis, vpar As Long<br />
For i = 1 To 15 Step 2<br />
d = Mid(parz, i, 1)<br />
Select Case d<br />
Case "0"<br />
vdis += 1<br />
Case "1"<br />
vdis += 0<br />
Case "2"<br />
vdis += 5<br />
Case "3"<br />
vdis += 7<br />
Case "4"<br />
vdis += 9<br />
Case "5"<br />
vdis += 13<br />
Case "6"<br />
vdis += 15<br />
Case "7"<br />
vdis += 17<br />
Case "8"<br />
vdis += 19<br />
Case "9"<br />
vdis += 21<br />
Case "a"<br />
vdis += 1<br />
Case "b"<br />
vdis += 0<br />
Case "c"<br />
vdis += 5<br />
Case "d"<br />
vdis += 7<br />
Case "e"<br />
vdis += 9<br />
Case "f"<br />
vdis += 13<br />
Case "g"<br />
vdis += 15<br />
Case "h"<br />
vdis += 17<br />
Case "i"<br />
vdis += 19<br />
Case "j"<br />
vdis += 21<br />
Case "k"<br />
vdis += 2<br />
Case "l"<br />
vdis += 4<br />
Case "m"<br />
vdis += 18<br />
Case "n"<br />
vdis += 20<br />
Case "o"<br />
vdis += 11<br />
Case "p"<br />
vdis += 3<br />
Case "q"<br />
vdis += 6<br />
Case "r"<br />
vdis += 8<br />
Case "s"<br />
vdis += 12<br />
Case "t"<br />
vdis += 14<br />
Case "u"<br />
vdis += 16<br />
Case "v"<br />
vdis += 10<br />
Case "w"<br />
vdis += 22<br />
Case "x"<br />
vdis += 25<br />
Case "y"<br />
vdis += 24<br />
Case "z"<br />
vdis += 23<br />
End Select<br />
Next<br />
For i = 2 To 14 Step 2<br />
p = Mid(parz, i, 1)<br />
Select Case p<br />
Case "0"<br />
vpar += 0<br />
Case "1"<br />
vpar += 1<br />
Case "2"<br />
vpar += 2<br />
Case "3"<br />
vpar += 3<br />
Case "4"<br />
vpar += 4<br />
Case "5"<br />
vpar += 5<br />
Case "6"<br />
vpar += 6<br />
Case "7"<br />
vpar += 7<br />
Case "8"<br />
vpar += 8<br />
Case "9"<br />
vpar += 9<br />
Case "a"<br />
vpar += 0<br />
Case "b"<br />
vpar += 1<br />
Case "c"<br />
vpar += 2<br />
Case "d"<br />
vpar += 3<br />
Case "e"<br />
vpar += 4<br />
Case "f"<br />
vpar += 5<br />
Case "g"<br />
vpar += 6<br />
Case "h"<br />
vpar += 7<br />
Case "i"<br />
vpar += 8<br />
Case "j"<br />
vpar += 9<br />
Case "k"<br />
vpar += 10<br />
Case "l"<br />
vpar += 11<br />
Case "m"<br />
vpar += 12<br />
Case "n"<br />
vpar += 13<br />
Case "o"<br />
vpar += 14<br />
Case "p"<br />
vpar += 15<br />
Case "q"<br />
vpar += 16<br />
Case "r"<br />
vpar += 17<br />
Case "s"<br />
vpar += 18<br />
Case "t"<br />
vpar += 19<br />
Case "u"<br />
vpar += 20<br />
Case "v"<br />
vpar += 21<br />
Case "w"<br />
vpar += 22<br />
Case "x"<br />
vpar += 23<br />
Case "y"<br />
vpar += 24<br />
Case "z"<br />
vpar += 25<br />
End Select<br />
Next<br />
Dim vdisparsomma As Long<br />
'somma dei valori ottenuti dal dispari e dal pari<br />
vdisparsomma = vdis + vpar<br />
'---------------------<br />
' vdisparsomma = 148<br />
'---------------------<br />
'diviso 26, troviamo il resto<br />
Dim restov As Decimal<br />
restov = vdisparsomma Mod 26<br />
Select Case restov<br />
Case 0<br />
controllo = "a"<br />
Case 1<br />
controllo = "b"<br />
Case 2<br />
controllo = "c"<br />
Case 3<br />
controllo = "d"<br />
Case 4<br />
controllo = "e"<br />
Case 5<br />
controllo = "f"<br />
Case 6<br />
controllo = "g"<br />
Case 7<br />
controllo = "h"<br />
Case 8<br />
controllo = "i"<br />
Case 9<br />
controllo = "j"<br />
Case 10<br />
controllo = "k"<br />
Case 11<br />
controllo = "l"<br />
Case 12<br />
controllo = "m"<br />
Case 13<br />
controllo = "n"<br />
Case 14<br />
controllo = "o"<br />
Case 15<br />
controllo = "p"<br />
Case 16<br />
controllo = "q"<br />
Case 17<br />
controllo = "r"<br />
Case 18<br />
controllo = "s"<br />
Case 19<br />
controllo = "t"<br />
Case 20<br />
controllo = "u"<br />
Case 21<br />
controllo = "v"<br />
Case 22<br />
controllo = "w"<br />
Case 23<br />
controllo = "x"<br />
Case 24<br />
controllo = "y"<br />
Case 25<br />
controllo = "z"<br />
End Select<br />
'fai il codice fiscale<br />
codicefiscale = UCase(parz &amp; controllo)<br />
End Function<br />
'fine<br />
'il calcolo del codice fiscale funziona correttamente</p>
<p dir="auto">la funziona fa parte di un programma che sto terminando per la gestione della vendita di olive da mensa... <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=gca7n9pp8gc" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" title=":)" alt="🙂" /><br />
Essa serve per calcolare il codice fiscale di qualsiasi persone conoscendo il nome,cognome,data di nascita, luogo di nascita e sesso...  <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=gca7n9pp8gc" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" title=":)" alt="🙂" /></p>
]]></description><link>https://connect.gt/topic/142031/piccola-funziona-per-il-calcolo-del-codice-fiscale</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 02:36:45 GMT</lastBuildDate><atom:link href="https://connect.gt/topic/142031.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 01 Jan 2011 11:58:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Piccola funziona per il calcolo del codice fiscale on Sat, 01 Jan 2011 12:00:10 GMT]]></title><description><![CDATA[<p dir="auto">PS. La funziona è scritta in vb ma puo essere adattata per qualsiasi linguaggio</p>
]]></description><link>https://connect.gt/post/959083</link><guid isPermaLink="true">https://connect.gt/post/959083</guid><dc:creator><![CDATA[dogirds]]></dc:creator><pubDate>Sat, 01 Jan 2011 12:00:10 GMT</pubDate></item></channel></rss>