Ich bin neu in diesem Forum.
Ich habe einige grundsätzliche Fragen zu GUICtrlCreateInput.
Der nachfolgende Teil eines Skriptes ist nur zum Demonstrieren meiner Schwierigkeiten mit GUICtrlCreateInput.
Die Variable $TEMP wird mit der Ziffer 3 vorbelegt. Nach GUICtrlCreateInput befindet sich die Ziffer 6 in der Variablen $TEMP. Warum die Ziffer 6 und nicht die Ziffer 3 ?
Das Gleiche geschieht auch, wenn ich auf die Taste Test klicke. Ich habe dieses Skript auf zwei unterschiedlichen PCs ausprobiert - das Ergebnis war das Gleiche. Probeweise habe ich AutoIt Version 3.3.6.1 deinstalliert und eine frühere Version installiert. Das Ergebnis war ebenfalls das Gleiche.
Ich möchte in meinem Skript ein Auswahlfeld, welches nur Ziffern/Zahlen akzeptiert, einbauen. Dieses Feld soll dem Benutzer (und auch mir) erlauben, variabel zu reagieren.
Darf man keine Variable für/in/mit GUICtrlCreateInput verwenden?
Oder ist meine Denkweise falsch!
Wie kann ich dies sonst noch gestalten - vielleicht ohne GUICtrlCreateInput aber mit Auf- und Ab - Pfeiltasten?
#cs
AutoIt Version 3.3.6.1
WindowsXP mit SP1
#ce
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3> ; für GUICtrlCreateInput
#include <UpdownConstants.au3> ; für GUICtrlCreateUpdown
Global $msg, $TEMP=3
Menu()
Func Menu()
GUICreate(" Testfenster", 400, 300, Default, 100, $WS_SYSMENU, $WS_EX_CLIENTEDGE)
GUISetFont(14, 600, 4)
GUICtrlCreateLabel("ACHTUNG!", 20, 20, 110, 28)
GUISetFont(14, 400, 1)
GUICtrlSetColor(-1, 0xFF0000) ; die Schriftfarbe rot
GUICtrlCreateLabel("Hierhin kommt weiterer Text...", 140, 20, 240, 28)
GUISetFont(9, 400, 1, "")
GUICtrlCreateLabel("Test:", 30, 110, 80, 20)
GUISetFont(20, 400, 1, "")
;------------------------------------------------------------------------------------------
MsgBox(32, "VOR GUICtrlCreateInput", "in der Variablen $TEMP ist: " & $TEMP) ; ZUM TESTEN
$TEMP = GUICtrlCreateInput($TEMP, 20, 130, 68, 40, $ES_NUMBER + $ES_RIGHT)
MsgBox(32, "NACH GUICtrlCreateInput", "in der Variablen $TEMP ist: " & $TEMP) ; ZUM TESTEN
;------------------------------------------------------------------------------------------
GUICtrlCreateUpdown($TEMP, $UDS_ARROWKEYS)
GUICtrlSetCursor(-1, 0) ; den Mauszeiger setzen
GUICtrlSetLimit(-1, 59) ; das Eingeben/Auswählen begrenzen
GUISetFont(10, 400, 1, "Arial")
$Taste_Test = GUICtrlCreateButton("&Test", 20, 200, 160, 40)
$Taste_Beenden = GUICtrlCreateButton("&Beenden", 220, 200, 160, 40)
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $Taste_Test
Test_Funktion()
Case $msg = $Taste_Beenden
Exit
EndSelect
WEnd
EndFunc
Func Test_Funktion()
$TEMP = GUICtrlRead($TEMP, 1)
MsgBox(32, "in der Funktion: Test_Funktion()", "in der Variablen $TEMP ist: " & $TEMP) ; ZUM TESTEN
GUIDelete()
Menu ()
EndFunc
Vielen Dank für die Hilfe und Anregungen.