Zahlen werte für Input

  • Hallo Zusammen,

    wie kann ich die Zahlenwerte für ein Inputfeld definieren. Ich habe ne Gui gemacht, in der man Stunden und Minuten einträgt. Jetzt will ich aber, dass man bei Stunden höchsten 0 und 23 und bei Min höchsten 59 und 0 eingeben kann.
    Mit guictrlsetlimit, kann ich ja nur die Anzahl der Zeichen bestimmen.,,,

  • Hallo billemg,

    hier einmal ein Beispiel wie du ein Date-Conrol zur Zeiteingabe benutzen kannst: [spoiler][autoit]
    #include <StaticConstants.au3>
    #include <date.au3>
    #include <DateTimeConstants.au3>
    #include <EditConstants.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include<WindowsConstants.au3>

    Opt('GUIOnEventMode', 1)

    Global $sTitel = 'GUICtrlCreateDate zur Zeiteingabe benutzen'

    Local $hMainGui = GUICreate($sTitel, 400, 280, 140, 150, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
    ;erzeugt eine GUI die zurückgebebene ID wird in der Variablen $hMainGui gespeichert
    ;die GUI hat BOXen für Mininmieren, Maximieren und ist in der Größe frei änderbar
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
    ;Verknüpft dem Event $Gui_Event_Close mit der Funktion _End

    ;Menübar anzeigen
    Global $menu_help = GUICtrlCreateMenu("?", -1, 1)
    Global $item_help_auto = GUICtrlCreateMenuItem("Autor: (Auto)Bert", $menu_help)
    Global $item_help_exit = GUICtrlCreateMenuItem("Beenden", $menu_help)
    GUICtrlSetOnEvent(-1, '_End')

    Local $hedtTime = GUICtrlCreateDate(@HOUR & ":" & @MIN, 20, 10, 130, 25, $DTS_UPDOWN) ;<=====================================
    ;erzeugt ein Time Steuerelement die zurückgegebene ID wird in der Variablen $hedtTime gespeichert
    Local $DTM_SETFORMAT_ = 0x1032
    Local $style ="HH:mm"
    GUICtrlSendMsg($hedtTime, $DTM_SETFORMAT_, 0, $style)
    GUICtrlSetFont(-1, 12)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKHEIGHT)
    ;verankert das Date Steuerelement Links, rechts, oben und fixiert die Höhe
    ;beim Resizen bleibt es dadurch auf seiner Position und ändert nur die Breite

    GUICtrlCreateButton('Be&enden', 220, 115, 150, 25)
    GUICtrlSetOnEvent(-1, '_END')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)


    GUICtrlCreateGraphic(0, 230, 400, 2, $SS_BLACKRECT)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKLEFT + $GUI_DOCKBOTTOM)
    Global $hStatus = GUICtrlCreateLabel("", 5, 235, 400, 25)

    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKLEFT + $GUI_DOCKBOTTOM)
    ;verankert das Label Links, rechts und unten; fixiert die Höhe
    ;beim Resizen bleibt es dadurch auf seiner Position und ändert nur die Breite wird angepasst
    GUISetState()

    While 1
    Sleep(120)
    WEnd

    Func _End()
    GUIDelete($hMainGui)
    Exit
    EndFunc ;==>_End[spoiler][autoit]Viel Spass damit

    Edit: Skript korrigiert, da fälschlicherweise hh (=12-Stundenformat) statt HH (=24-Stundenformat)
    mfg (Auto)Bert

    Einmal editiert, zuletzt von AutoBert (22. Juli 2010 um 20:46) aus folgendem Grund: Skript korrigiert, da fälschlicherweise hh (=12-Stundenformat) statt HH (=24-Stundenformat)