Что нового

[Элементы GUI] GUICtrlCreateUpdown не срабатывает оператор для If

Ksaan

Знающий
Сообщения
207
Репутация
15
Не когда не пользовался GUICtrlCreateUpdown и вот сразу столкнулся с проблемой, при отрицательном значений он записывает '-1' а при положительном просто цифру а мне надо с плюсом, решил выкрутится через If.
Не понимаю что не так почему он берет всегда первое выражение?


Код:
GUICreate("Пример в GUI",330,200,-1,-1) 

GUICtrlSendMsg(-1, $EM_LIMITTEXT, -1, 0) 

$input = GUICtrlCreateInput ( "0", 220,  10, 50, 20)
$updown = GUICtrlCreateUpdown($input)
$myedit = GUICtrlCreateEdit ("" , 10,10,200,100, BitOR($ES_READONLY, $ES_WANTRETURN, $WS_VSCROLL, $ES_AUTOVSCROLL, $ES_NOHIDESEL))
$baton = GUICtrlCreateButton ("OK",  220, 40, 100)
$Exit = GUICtrlCreateButton ("Exit",  220, 130, 100)
$baton2 = GUICtrlCreateButton ("save",  220, 70, 100)
$set = GUICtrlCreateButton ("очистить",  220, 100, 100)

GUISetState ()

While 1
    $msg = GUIGetMsg()

    Switch $msg
        Case $GUI_EVENT_CLOSE
            Exit	
        Case $Exit
            Exit
        Case $baton
            if $input > 0 Then
			       GUICtrlSetData($myedit,'Delay ' & ' +' & GUICtrlRead($input) &  ' ms' & @CRLF , 1)
			   Elseif $input < 0 Then
			       GUICtrlSetData($myedit,'Delay ' & GUICtrlRead($input) & ' ms' & @CRLF , 1)
		       Else 
				  GUICtrlSetData($myedit,'Delay ' & GUICtrlRead($input) & ' ms' & @CRLF , 1)
			EndIf
	    Case $baton2
			FileWrite($sConfig, StringReplace(GUICtrlRead($myedit), @CRLF, @CRLF ))
        Case $set
            GUICtrlSetData($myedit, '')
    EndSwitch
WEnd

нашол пример с использованием
Код:
$iNum = Number(GUICtrlRead($input))

помогло
:laugh: :laugh:
 
Верх