GUI Inputbox problem

09/24/2010 20:39 Asuramaru#1
joa hätte ein problem mit der Inputbox :D


gibt es eine möglichkeit wenn die Inputbox 4 ziffern da stehen hat (gibt es ein befehl das man nur ziffern reinschreiben darf? :o) das er zur nächsten input wechselt um da weiterzuschreiben?^^
mit StringLen komm ich nicht weiter^^

If Stringlen(Guictrlread($input1) = 4 then
Send("{TAB}")
Endif

da er dieß dann ständig macht(while schleife vom GUI)
09/24/2010 21:19 Goxide#2
Quote:
Originally Posted by DarkGER! View Post
joa hätte ein problem mit der Inputbox :D


gibt es eine möglichkeit wenn die Inputbox 4 ziffern da stehen hat (gibt es ein befehl das man nur ziffern reinschreiben darf? :o) das er zur nächsten input wechselt um da weiterzuschreiben?^^
mit StringLen komm ich nicht weiter^^

If Guictrlread............
Send("{TAB}")
Endif

da er dieß dann ständig macht(while schleife vom GUI)
Einmal googlen schon gefunden: [Only registered and activated users can see links. Click Here To Register...]
Musst halt gucken wies geht mit dann "runterkommen" zur nächsten Inputbox.
09/24/2010 21:25 einkeks95#3
Quote:
If Guictrlread............
Send("{TAB}")
Endif
PHP Code:
AdlibRegister "check_input"1500)
Func check_input()
If 
Guictrlread............
Send("{TAB}")
Endfunc
...
AdlibdeRegister ("check_input) 
Probier's mal damit ;) :bandit:
09/24/2010 21:29 omer36#4
in etwa so vllt.. aber ist bischen buggy weil es in der schleife ist...
kann grade nicht klar denken...bekomms grad nicht hin..
vllt hilft es dir ja:

PHP Code:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
$Form1 GUICreate("Form1"373100120124)
GUISetBkColor(0x3366FF)
$Input1 GUICtrlCreateInput(""56404921BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_NUMBER ))
GUICtrlSetLimit(-1,4)
$Input2 GUICtrlCreateInput(""152404921BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_NUMBER ))
GUICtrlSetLimit(-1,4)
$Input3 GUICtrlCreateInput(""248404921BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_NUMBER ))
GUICtrlSetLimit(-1,4)
GUISetState(@SW_SHOW)


While 
1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit
    EndSwitch
start()
Wend

Func start
()
If 
StringLen(GUICtrlRead($Input1)) = "4" Then
    GUICtrlSetState
($Input2$GUI_FOCUS)
EndIf
If 
StringLen(GUICtrlRead($Input2)) = "4" Then
    GUICtrlSetState
($Input3$GUI_FOCUS)
EndIf
EndFunc 
09/24/2010 21:35 Asuramaru#5
@einkeks95

Ich denke mal
AdlibdeRegister ("check_input)
soll AdlibUnRegister sein :D

klappt leider nicht :o
bleibt unverändert

@omer36
1. Input klappt es ganz gut
sobald er aber auf die 2. Input wechselt kann man nur 1 zahl schreiben (da diese makiert ist)
und man hat keine chance auf eine andere Inputbox zu klicken
09/24/2010 22:24 Mozo_#6
Also das hier funzt bei mir super...

PHP Code:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
$Form1 GUICreate("Form1"373100120124)
GUISetBkColor(0x3366FF)
$Input1 GUICtrlCreateInput(""56404921BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_NUMBER))

GUICTRLSETLimit(-1,4)
$Input2 GUICtrlCreateInput(""152404921BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_NUMBER))
GUICTRLSETLimit(-1,4)
$Input3 GUICtrlCreateInput(""248404921BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_NUMBER))
GUICTRLSETLimit(-1,4)
GUISetState(@SW_SHOW)


While 
1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit
    EndSwitch
Wend 
09/24/2010 22:36 Asuramaru#7
Quote:
Originally Posted by Mozo_ View Post
Also das hier funzt bei mir super...


ja schon aber er springt ja nicht von einem input zum anderen :D
09/24/2010 22:38 Mozo_#8
Okay ;)
Was hälst du davon? :

Neuer code:
PHP Code:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
$Form1 GUICreate("Form1"373100120124)
GUISetBkColor(0x3366FF)
$Input1 GUICtrlCreateInput(""56404921BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_NUMBER ))
GUICtrlSetLimit(-1,4)
$Input2 GUICtrlCreateInput(""152404921BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_NUMBER ))
GUICtrlSetState($Input2,$GUI_DISABLE)
GUICtrlSetLimit(-1,4)
$Input3 GUICtrlCreateInput(""248404921BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_NUMBER ))
GUICtrlSetState($Input3,$GUI_DISABLE)
GUICtrlSetLimit(-1,4)
GUISetState(@SW_SHOW)

$i 1
$x 
1
$y 
1

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit
    EndSwitch
start()
Wend

Func start
()
If 
StringLen(GUICtrlRead($Input1)) = "4" And $i 1 Then
    $i 
0
    GUICtrlSetState
($Input1$GUI_DISABLE)
    
GUICtrlSetState($Input2$GUI_ENABLE)
    
GUICtrlSetState($Input2$GUI_FOCUS)
    
GUICtrlSetState($Input2$GUI_NOFOCUS)
EndIf
If 
StringLen(GUICtrlRead($Input2)) = "4" And $x 1 Then
    $x 
0
    GUICtrlSetState
($Input2$GUI_DISABLE)
    
GUICtrlSetState($Input3$GUI_ENABLE)
    
GUICtrlSetState($Input3$GUI_FOCUS)
    
GUICtrlSetState($Input3$GUI_NOFOCUS)
EndIf
If 
StringLen(GUICtrlRead($Input3)) = "4" And $y 1 Then
    $y 
0
    GUICtrlSetState
($Input3$GUI_DISABLE)
EndIf
EndFunc 

//sry warn fehler drinne^^
09/24/2010 22:43 Asuramaru#9
danke dir ;)
funktioniert super :D