Ho fatto un semplice programma che verifica la validitą delle carte di credito, si basa su un semplice algoritmo ( algoritmo di Luhn )
CODICE
#include <GUIConstants.au3>
GUICreate ( "Carte di Credito" , 405 , 200 )
GUICtrlCreateLabel ( "Inserisci i numeri della carta di credito" , 5 , 5 , 390 , 20 )
$input1 = GUICtrlCreateInput ( "" , 5 , 35 , 20 , 20 )
$input2 = GUICtrlCreateInput ( "" , 30 , 35 , 20 , 20 )
$input3 = GUICtrlCreateInput ( "" , 55 , 35 , 20 , 20 )
$input4 = GUICtrlCreateInput ( "" , 80 , 35 , 20 , 20 )
$input5 = GUICtrlCreateInput ( "" , 105 , 35 , 20 , 20 )
$input6 = GUICtrlCreateInput ( "" , 130 , 35 , 20 , 20 )
$input7 = GUICtrlCreateInput ( "" , 155 , 35 , 20 , 20 )
$input8 = GUICtrlCreateInput ( "" , 180 , 35 , 20 , 20 )
$input9 = GUICtrlCreateInput ( "" , 205 , 35 , 20 , 20 )
$input10 = GUICtrlCreateInput ( "" , 230 , 35 , 20 , 20 )
$input11 = GUICtrlCreateInput ( "" , 255 , 35 , 20 , 20 )
$input12 = GUICtrlCreateInput ( "" , 280 , 35 , 20 , 20 )
$input13 = GUICtrlCreateInput ( "" , 305 , 35 , 20 , 20 )
$input14 = GUICtrlCreateInput ( "" , 330 , 35 , 20 , 20 )
$input15 = GUICtrlCreateInput ( "" , 355 , 35 , 20 , 20 )
$input16 = GUICtrlCreateInput ( "" , 380 , 35 , 20 , 20 )
$button = GUICtrlCreateButton ( "Verifica" , 50 , 100 , 90 , 30 )
GUISetState ( )
While 1
Switch GUIGetMsg ( )
Case $GUI_EVENT_CLOSE
Exit
Case $button
$read1 = GUICtrlRead ( $input1 )
$read3 = GUICtrlRead ( $input3 )
$read5 = GUICtrlRead ( $input5 )
$read7 = GUICtrlRead ( $input7 )
$read9 = GUICtrlRead ( $input9 )
$read11 = GUICtrlRead ( $input11 )
$read13 = GUICtrlRead ( $input13 )
$read15 = GUICtrlRead ( $input15 )
$read1 = $read1 * 2
$read3 = $read3 * 2
$read5 = $read5 * 2
$read7 = $read7 * 2
$read9 = $read9 * 2
$read11 = $read11 * 2
$read13 = $read13 * 2
$read15 = $read15 * 2
If StringLen ( $read1 ) = 2 Then
$string = StringLeft ( $read1 , 1 )
$string1 = StringRight ( $read1 , 1 )
$read1 = $string + $string1
Else
$read1 = $read1
EndIf
If StringLen ( $read3 ) = 2 Then
$string = StringLeft ( $read3 , 1 )
$string1 = StringRight ( $read3 , 1 )
$read3 = $string2 + $string3
Else
$read3 = $read3
EndIf
If StringLen ( $read5 ) = 2 Then
$string = StringLeft ( $read5 , 1 )
$string1 = StringRight ( $read5 , 1 )
$read5 = $string + $string1
Else
$read5 = $read5
EndIf
If StringLen ( $read7 ) = 2 Then
$string = StringLeft ( $read7 , 1 )
$string1 = StringRight ( $read7 , 1 )
$read7 = $string + $string1
Else
$read7 = $read7
EndIf
If StringLen ( $read9 ) = 2 Then
$string = StringLeft ( $read9 , 1 )
$string1 = StringRight ( $read9 , 1 )
$read9 = $string + $string1
Else
$read9 = $read9
EndIf
If StringLen ( $read11 ) = 2 Then
$string = StringLeft ( $read11 , 1 )
$string1 = StringRight ( $read11 , 1 )
$read11 = $string + $string1
Else
$input11 = $read11
EndIf
If StringLen ( $read13 ) = 2 Then
$string = StringLeft ( $read13 , 1 )
$string1 = StringRight ( $read13 , 1 )
$read13 = $string + $string1
Else
$read13 = $read13
EndIf
If StringLen ( $read15 ) = 2 Then
$string = StringLeft ( $read15 , 1 )
$string1 = StringRight ( $read15 , 1 )
$read15 = $string + $string1
Else
$read15 = $read15
EndIf
$dispari = $read1 + $read3 + $read5 + $read7 + $read9 + $read11 + $read13 + $read15
$pari = GUICtrlRead ( $input2 ) + GUICtrlRead ( $input4 ) + GUICtrlRead ( $input6 ) + GUICtrlRead ( $input8 ) + GUICtrlRead ( $input10 ) + GUICtrlRead ( $input12 ) + GUICtrlRead ( $input14 ) + GUICtrlRead ( $input16 )
$conto = $dispari + $pari
$conto = $conto / 10
If IsInt ( $conto ) Then
MsgBox ( 0 , "Carta di credito" , "La carta di credito č valida" )
Else
MsgBox ( 0 , "Carta di credito" , "La carta di credito non č valida" )
EndIf
EndSwitch
WEnd