Что нового

Как умножить переменную на целое число.

A

at

Гость
Подскажите, как получить значение таймера. Не получается умножить переменную на целое число.

Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ###
$vControl = GUICreate('Control', 291, 423, 192, 113)
GUICtrlCreateGroup('', 0, 0, 289, 369)
$iPlusLimit = GUICtrlCreateInput('10', 216, 192, 65, 21)
GUICtrlSetBkColor(-1, 0xC0DCC0)
$iMinusLimit = GUICtrlCreateInput('-10', 152, 192, 65, 21)
GUICtrlSetBkColor(-1, 0xFFFBF0)
$vDelphi = GUICtrlCreateLabel('Число из Delphi', 8, 192, 91, 17) 
$iTextDelphi = GUICtrlCreateInput('0', 94, 192, 53, 21)
GUICtrlCreateGroup('', -99, -99, 1, 1)
$vStatusBar1 = _GUICtrlStatusBar_Create($vControl)
$vClose = GUICtrlCreateButton('Close', 208, 376, 75, 25)
$vZnachenieTimera = GUICtrlCreateInput("1", 8, 376, 41, 21) ;Здесь будет выставлятся время таймера (по умолчанию стоит 1 секунда)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

$vTimer = TimerInit()
$vLogTaime = Number(GUICtrlRead($vZnachenieTimera)*1000) ;в этой строке собственно и загвоздка

While 1 ;основной цикл
    
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE, $vClose
            Exit
    EndSwitch

    ; Мониторим приложение

    If TimerDiff($vTimer) > $vLogTaime Then ; Таймер

        $iPlus = Number(GUICtrlRead($iPlusLimit))
        $iMinus = Number(GUICtrlRead($iMinusLimit))
        $iDelphi = GUICtrlRead($iTextDelphi)
        
        If $iDelphi > $iPlus Then
            ConsoleWrite($iPlus & @CRLF)
        ElseIf $iDelphi < $iMinus Then
            ConsoleWrite($iMinus & @CRLF)
        EndIf
         $vTimer = TimerInit()
     EndIf     
 
WEnd
 

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Код:
$vLogTaime = GUICtrlRead($vZnachenieTimera)*1000


А на
Код:
$vZnachenieTimera = GUICtrlCreateInput("1", 8, 376, 41, 21)

Поставить (ввод только цифр)
Код:
$vZnachenieTimera = GUICtrlCreateInput("1", 8, 376, 41, 21, $ES_NUMBER)
 
Автор
A

at

Гость
К сожалению так, не работает.
 

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
А так?

Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ###
$vControl = GUICreate('Control', 291, 423, 192, 113)
GUICtrlCreateGroup('', 0, 0, 289, 369)
$iPlusLimit = GUICtrlCreateInput('10', 216, 192, 65, 21)
GUICtrlSetBkColor(-1, 0xC0DCC0)
$iMinusLimit = GUICtrlCreateInput('-10', 152, 192, 65, 21)
GUICtrlSetBkColor(-1, 0xFFFBF0)
$vDelphi = GUICtrlCreateLabel('Число из Delphi', 8, 192, 91, 17) 
$iTextDelphi = GUICtrlCreateInput('0', 94, 192, 53, 21)
GUICtrlCreateGroup('', -99, -99, 1, 1)
$vStatusBar1 = _GUICtrlStatusBar_Create($vControl)
$vClose = GUICtrlCreateButton('Close', 208, 376, 75, 25)
$vZnachenieTimera = GUICtrlCreateInput("1", 8, 376, 41, 21) ;Здесь будет выставлятся время таймера (по умолчанию стоит 1 секунда)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

$vTimer = TimerInit()


While 1 ;основной цикл
    
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE, $vClose
            Exit
    EndSwitch

    ; Мониторим приложение
$vLogTaime = Number(GUICtrlRead($vZnachenieTimera)) ;в этой строке собственно и загвоздка
    If TimerDiff($vTimer) > $vLogTaime*1000 Then ; Таймер

        $iPlus = Number(GUICtrlRead($iPlusLimit))
        $iMinus = Number(GUICtrlRead($iMinusLimit))
        $iDelphi = GUICtrlRead($iTextDelphi)
        
        If $iDelphi > $iPlus Then
            ConsoleWrite($iPlus & @CRLF)
        ElseIf $iDelphi < $iMinus Then
            ConsoleWrite($iMinus & @CRLF)
        EndIf
         $vTimer = TimerInit()
     EndIf     
 
WEnd
 
Автор
A

at

Гость
Спасибо, порядок. Вот так работает тоже.

Код:
$vLogTaime = Number(GUICtrlRead($vZnachenieTimera))*1000
 
Верх