Carte di credito

« Older   Newer »
  Share  
xEdox
CAT_IMG Posted on 8/7/2008, 22:12     +1   -1




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
 
Top
I.Ren
CAT_IMG Posted on 8/7/2008, 22:27     +1   -1




buono
 
Top
lknokl
CAT_IMG Posted on 8/7/2008, 22:46     +1   -1




bravo ^^
 
Top
Byte Fake
CAT_IMG Posted on 9/7/2008, 10:53     +1   -1




carino
 
Top
3 replies since 8/7/2008, 22:12   289 views
  Share