Sadga Moderatore
Messaggi : 94
| Titolo: [Autoit]Calcolatore codice fiscale 19/1/2011, 7:29 pm | |
| sono riuscito a creare il calcolatore del codice fiscale in autoit eccolo: - Spoiler:
- Codice:
-
#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <GuiEdit.au3> #Include <GuiRichEdit.au3> #Include <String.au3> #Include <File.au3> ;end include
TraySetState(2)
#Region ### START Koda GUI section ### Form= $Form1_1 = GUICreate("codice fiscale", 314, 261, 225, 126) $trova_cod = GUICtrlCreateButton("Trova Codice Fiscale", 16, 136, 153, 57, $WS_GROUP) $dati_utente = GUICtrlCreateGroup("Dati Utente", 16, 8, 281, 121) $cognomein = GUICtrlCreateInput("Cognome (senza spazi)", 24, 24, 265, 21) $nomein = GUICtrlCreateInput("Nome (senza spazi)", 24, 48, 265, 21) $luogo = GUICtrlCreateInput("Luogo di nascita", 24, 72, 265, 21) $anno = GUICtrlCreateInput("Anno (xxxx)", 24, 96, 81, 21) $mese = GUICtrlCreateInput("Mese (xx)", 112, 96, 73, 21) $giorno = GUICtrlCreateInput("Giorno (xx)", 192, 96, 73, 21) GUICtrlCreateGroup("", -99, -99, 1, 1) $sesso = GUICtrlCreateGroup("Sesso", 176, 136, 121, 57) $sessoin = GUICtrlCreateInput("", 184, 168, 105, 21) $Label1 = GUICtrlCreateLabel("(M)/(F)", 184, 152, 36, 17) GUICtrlCreateGroup("", -99, -99, 1, 1) $cod_fisc = GUICtrlCreateGroup("Codice Fiscale", 16, 200, 281, 49) $codice_fiscale = GUICtrlCreateInput("", 24, 216, 265, 21) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### ;end koda region
While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit
Case $trova_cod GUICtrlSetData($codice_fiscale,"") trova_cognome() trova_nome() trova_anno() trova_mese() trova_giorno() trova_comune() trova_lettera()
EndSwitch WEnd
;~ -----------------------------------------------------------------------------------------------------------------------------------------------
Func trova_cognome() $cognomeout="" $vocali="aeiou" $consonanti="bcdfghjklmnpqrstvwxyz" $cogn=GUICtrlRead($cognomein) $a=1 $b=1 $vocalitrov="" While($a<=StringLen($cogn)) While($b<=StringLen($vocali)) If (StringMid($cogn,$a,1)=StringMid($vocali,$b,1)) Then $vocalitrov=$vocalitrov&StringMid($vocali,$b,1) EndIf $b=$b+1 WEnd $b=1 $a=$a+1 WEnd $a=1 $b=1 $consonantitrov="" While($a<=StringLen($cogn)) While($b<=StringLen($consonanti)) If (StringMid($cogn,$a,1)=StringMid($consonanti,$b,1)) Then $consonantitrov=$consonantitrov&StringMid($consonanti,$b,1) EndIf $b=$b+1 WEnd $b=1 $a=$a+1 WEnd Select Case StringLen($cogn)<3 $cognomeout=$consonantitrov&$vocalitrov&"x" Case StringLen($consonantitrov)=0 $cognomeout=$vocalitrov Case StringLen($consonantitrov)=1 $cognomeout=$consonantitrov&StringMid($vocalitrov,1,2) Case stringLen($consonantitrov)=2 $cognomeout=$consonantitrov&StringMid($vocalitrov,1,1) Case stringLen($consonantitrov)=3 $cognomeout=$consonantitrov Case stringLen($consonantitrov)>3 $cognomeout=StringMid($consonantitrov,1,3) EndSelect _GUICtrlEdit_InsertText($codice_fiscale,StringUpper($cognomeout)) EndFunc
;~ -----------------------------------------------------------------------------------------------------------------------------------------------
Func trova_nome() $nomeout="" $vocali="aeiou" $consonanti="bcdfghjklmnpqrstvwxyz" $nom=GUICtrlRead($nomein) $a=1 $b=1 $vocalitrov="" While($a<=StringLen($nom)) While($b<=StringLen($vocali)) If (StringMid($nom,$a,1)=StringMid($vocali,$b,1)) Then $vocalitrov=$vocalitrov&StringMid($vocali,$b,1) EndIf $b=$b+1 WEnd $b=1 $a=$a+1 WEnd $a=1 $b=1 $consonantitrov="" While($a<=StringLen($nom)) While($b<=StringLen($consonanti)) If (StringMid($nom,$a,1)=StringMid($consonanti,$b,1)) Then $consonantitrov=$consonantitrov&StringMid($consonanti,$b,1) EndIf $b=$b+1 WEnd $b=1 $a=$a+1 WEnd Select Case StringLen($nom)<3 $nomeout=$consonantitrov&$vocalitrov&"x" Case StringLen($consonantitrov)=0 $nomeout=$vocalitrov Case StringLen($consonantitrov)=1 $nomeout=$consonantitrov&StringMid($vocalitrov,1,2) Case stringLen($consonantitrov)=2 $nomeout=$consonantitrov&StringMid($vocalitrov,1,1) Case stringLen($consonantitrov)=3 $nomeout=$consonantitrov Case stringLen($consonantitrov)>3 $nomeout=StringMid($consonantitrov,1,1)&StringMid($consonantitrov,3,2) EndSelect _GUICtrlEdit_InsertText($codice_fiscale,StringUpper($nomeout)) EndFunc
;~ -----------------------------------------------------------------------------------------------------------------------------------------------
func trova_anno()
$ann=GUICtrlRead($anno) If StringIsInt($ann)=1 Then $annoout=StringMid($ann,3,2) _GUICtrlEdit_InsertText($codice_fiscale,$annoout) Else MsgBox(0,"Errore","E' stato inserito un valore non valido nella cella anno") EndIf EndFunc
func trova_mese() $meseout="" $mes="" $mes=GUICtrlRead($mese) If StringIsInt($mes)=1 Then Select Case $mes=01 $meseout="A" Case $mes=02 $meseout="B" Case $mes=03 $meseout="C" Case $mes=04 $meseout="D" Case $mes=05 $meseout="E" Case $mes=06 $meseout="H" Case $mes=07 $meseout="L" Case $mes=08 $meseout="M" Case $mes=09 $meseout="P" Case $mes=10 $meseout="R" Case $mes=11 $meseout="s" Case $mes=12 $meseout="T" EndSelect Else MsgBox(0,"Errore","E' stato inserito un valore non valido nella cella mese") EndIf _GUICtrlEdit_InsertText($codice_fiscale,$meseout) EndFunc
Func trova_giorno() $giornoout="" $gior=GUICtrlRead($giorno) $ses=GUICtrlRead($sessoin) $sess=StringUpper($ses) If $sess<>"" Then If StringIsInt($gior)=1 Then if $sess="F" Then $giornoout=$gior+40 ElseIf $sess="M" Then $giornoout=$gior EndIf Else MsgBox(0,"Errore","E' stato inserito un valore non valido nella cella giorno") EndIf Else MsgBox(0,"Errore","E' stato inserito un valore non valido"&@CRLF&"nella cella sesso prego inserire un valore (m oppure f)") EndIf _GUICtrlEdit_InsertText($codice_fiscale,$giornoout) EndFunc
Func trova_comune() $com=GUICtrlRead($luogo) $comuneout="" If (StringInStr(FileRead(@ScriptDir&"\comuni.txt"),$com)) Then $lungh=StringInStr(FileRead(@ScriptDir&"\comuni.txt"),$com)+StringLen($com)+1 $comuneout=StringMid(FileRead(@ScriptDir&"\comuni.txt"),$lungh,4) EndIf if $comuneout="" Then MsgBox(0,"Errore","Non è stato trovato il comune inserito"&@CRLF&"provare ad inserire un nome più specifico (es. abano --> abano terme)") EndIf _GUICtrlEdit_InsertText($codice_fiscale,StringUpper($comuneout)) EndFunc
func trova_lettera() $lettera=string("") $codice=GUICtrlRead($codice_fiscale) $t=1 $cod=0 $codout="" While($t<=15) $lettera=StringMid($codice,$t,1) Select Case $lettera="0" $cod+=1 Case $lettera="1" $cod+=0 Case $lettera="2" $cod+=5 Case $lettera="3" $cod+=7 Case $lettera="4" $cod+=9 Case $lettera="5" $cod+=13 Case $lettera="6" $cod+=15 Case $lettera="7" $cod+=17 Case $lettera="8" $cod+=19 Case $lettera="9" $cod+=21 Case $lettera="A" $cod+=1 Case $lettera="B" $cod+=0 Case $lettera="C" $cod+=5 Case $lettera="D" $cod+=7 Case $lettera="E" $cod+=9 Case $lettera="F" $cod+=13 Case $lettera="G" $cod+=15 Case $lettera="H" $cod+=17 Case $lettera="I" $cod+=19 Case $lettera="J" $cod+=21 Case $lettera="K" $cod+=2 Case $lettera="L" $cod+=4 Case $lettera="M" $cod+=18 Case $lettera="N" $cod+=20 Case $lettera="O" $cod+=11 Case $lettera="P" $cod+=3 Case $lettera="Q" $cod+=6 Case $lettera="R" $cod+=8 Case $lettera="S" $cod+=12 Case $lettera="T" $cod+=14 Case $lettera="U" $cod+=16 Case $lettera="V" $cod+=10 Case $lettera="W" $cod+=22 Case $lettera="X" $cod+=25 Case $lettera="Y" $cod+=24 Case $lettera="Z" $cod+=23 EndSelect $t+=1 $lettera=StringMid($codice,$t,1) If ($t<=15) Then Select Case $lettera="0" $cod+=0 Case $lettera="1" $cod+=1 Case $lettera="2" $cod+=2 Case $lettera="3" $cod+=3 Case $lettera="4" $cod+=4 Case $lettera="5" $cod+=5 Case $lettera="6" $cod+=6 Case $lettera="7" $cod+=7 Case $lettera="8" $cod+=8 Case $lettera="9" $cod+=9 Case $lettera="A" $cod+=0 Case $lettera="B" $cod+=1 Case $lettera="C" $cod+=2 Case $lettera="D" $cod+=3 Case $lettera="E" $cod+=4 Case $lettera="F" $cod+=5 Case $lettera="G" $cod+=6 Case $lettera="H" $cod+=7 Case $lettera="I" $cod+=8 Case $lettera="J" $cod+=9 Case $lettera="K" $cod+=10 Case $lettera="L" $cod+=11 Case $lettera="M" $cod+=12 Case $lettera="N" $cod+=13 Case $lettera="O" $cod+=14 Case $lettera="P" $cod+=15 Case $lettera="Q" $cod+=16 Case $lettera="R" $cod+=17 Case $lettera="S" $cod+=18 Case $lettera="T" $cod+=19 Case $lettera="U" $cod+=20 Case $lettera="V" $cod+=21 Case $lettera="W" $cod+=22 Case $lettera="X" $cod+=23 Case $lettera="Y" $cod+=24 Case $lettera="Z" $cod+=25 EndSelect EndIf $t+=1 WEnd $cod=Mod($cod,26) Switch ($cod) Case 0 $codout="A" Case 1 $codout="B" Case 2 $codout="C" Case 3 $codout="D" Case 4 $codout="E" Case 5 $codout="F" Case 6 $codout="G" Case 7 $codout="H" Case 8 $codout="I" Case 9 $codout="J" Case 10 $codout="K" Case 11 $codout="L" Case 12 $codout="M" Case 13 $codout="N" Case 14 $codout="O" Case 15 $codout="P" Case 16 $codout="Q" Case 17 $codout="R" Case 18 $codout="S" Case 19 $codout="T" Case 20 $codout="U" Case 21 $codout="V" Case 22 $codout="W" Case 23 $codout="X" Case 24 $codout="Y" Case 25 $codout="Z" EndSwitch _GUICtrlEdit_InsertText($codice_fiscale,$codout) EndFunc
per farlo funzionare bisogna mettere nella stessa cartella anche questo file non sono riuscito a compilarlo x86 speed potresti farlo tu, caricare il programma su multiupload e postare il link? Saluti By
Ultima modifica di King il 7/3/2011, 6:36 pm - modificato 1 volta. | |
|
speed Admin
Messaggi : 418 Occupazione/Hobby : Studente di Informatica
| Titolo: Re: [Autoit]Calcolatore codice fiscale 19/1/2011, 7:39 pm | |
| ecco un classico esempio di chi non se la cava in autoit... anzi è quasi diventato "secchione": passami il termine. XD sono DISpiacente... ma temo di aver anch'io l'architettura a 64 bit. se a qualcuno interessa cambiargli il nr. di bit, faccia pure. ;-) | |
|