Targa calculator

« Older   Newer »
  Share  
/dev/random
CAT_IMG Posted on 24/2/2011, 16:33     +1   -1




Ecco la mia versione del programma del contest

SPOILER (click to view)
CODICE
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>

Opt("GUIOnEventMode", 1)

#NoTrayIcon

GUICreate("Targa calculator", 180, 90, Default, Default, $WS_SYSMENU)
GUISetOnEvent(-3, "esci")

Global $input1 = GUICtrlCreateInput("", 10, 15, 46, 35)
GUICtrlSetFont(-1, 21, Default, Default, "Courier New")

Global $input2 = GUICtrlCreateInput("", 56, 15, 62, 35, $ES_NUMBER)
GUICtrlSetFont(-1, 21, Default, Default, "Courier New")

Global $input3 = GUICtrlCreateInput("", 118, 15, 46, 35)
GUICtrlSetFont(-1, 21, Default, Default, "Courier New")

AdlibRegister("input", 10)

GUISetState(@SW_SHOW)

While 1
       Sleep(10)
WEnd

Func esci()
       Exit -3
EndFunc

Func input()
       If StringLen(GUICtrlRead($input2)) <> 3 And (ControlGetFocus("Targa calculator") <> "Edit2" And ControlGetFocus("Targa calculator") <> "Edit1") Then
               ControlFocus("Targa calculator", "", $input2)
       EndIf
       If StringLen(GUICtrlRead($input1)) <> 2 And ControlGetFocus("Targa calculator") <> "Edit1" Then
               ControlFocus("Targa calculator", "", $input1)
       EndIf
       If StringLen(GUICtrlRead($input1)) = 2 And ControlGetFocus("Targa calculator") = "Edit1" Then
               GUICtrlSetData($input1, StringUpper(GUICtrlRead($input1)))
               $spl = StringSplit(GUICtrlRead($input1), "", 2)
               If Not (Asc($spl[0]) > 64 And Asc($spl[0]) < 91 And Asc($spl[1]) > 64 And Asc($spl[1]) < 91) Then
                       GUICtrlSetData($input1, "")
               Else
                       GUICtrlSetState($input1, $GUI_DISABLE)
                       ControlFocus("Targa calculator", "", $input2)
               EndIf
       EndIf
       If StringLen(GUICtrlRead($input2)) = 3 And ControlGetFocus("Targa calculator") = "Edit2" Then
               ControlFocus("Targa calculator", "", $input3)
               GUICtrlSetState($input2, $GUI_DISABLE)
       EndIf
       If StringLen(GUICtrlRead($input3)) = 2 And ControlGetFocus("Targa calculator") = "Edit3" Then
               GUICtrlSetData($input3, StringUpper(GUICtrlRead($input3)))
               $spl = StringSplit(GUICtrlRead($input3), "", 2)
               If Not (Asc($spl[0]) > 64 And Asc($spl[0]) < 91 And Asc($spl[1]) > 64 And Asc($spl[1]) < 91) Then
                       GUICtrlSetData($input3, "")
               Else
                       GUICtrlSetState($input3, $GUI_DISABLE)
                       Calcola()
               EndIf
       EndIf
EndFunc

Func Calcola()
       $primelettere = StringSplit(GUICtrlRead($input1), "", 2)
       $prima = $primelettere[0]
       $seconda = $primelettere[1]

       $ultimelettere = StringSplit(GUICtrlRead($input3), "", 2)
       $terza = $ultimelettere[0]
       $quarta = $ultimelettere[1]

       $r = Number(GUICtrlRead($input2)) + 999 * (((Asc($prima) - 65) * 26 ^ 3) + ((Asc($seconda) - 65) * 26 ^ 2) + ((Asc($terza) - 65) * 26 ^ 1) + ((Asc($quarta) - 65) * 26 ^ 0))

       MsgBox(0, "Post #", $r)

       Reset()
EndFunc

Func Reset()
       GUICtrlSetData($input1, "")
       GUICtrlSetData($input2, "")
       GUICtrlSetData($input3, "")

       GUICtrlSetState($input1, $GUI_ENABLE)
       GUICtrlSetState($input2, $GUI_ENABLE)
       GUICtrlSetState($input3, $GUI_ENABLE)
EndFunc
 
Top
0 replies since 24/2/2011, 16:33   129 views
  Share