Detka.i.alex
Новичок
- Сообщения
- 12
- Репутация
- 0
Добрый день.
Сегодня решил взяться за AutoIT написать простенький калькулятор.
И столкнулся с такой проблемой:
Навожу на поле ввода что бы скопировать число а в место него появляется другое поле ввода, как и из-за чего оно появляется я понимаю не могу понять как этого избежать.
Сегодня решил взяться за AutoIT написать простенький калькулятор.
И столкнулся с такой проблемой:
Навожу на поле ввода что бы скопировать число а в место него появляется другое поле ввода, как и из-за чего оно появляется я понимаю не могу понять как этого избежать.
Код:
#include <GUIConstants.au3>
#include <Array.au3>
GUICreate("Калькулятор by alex", 200,200)
GUISetState (@SW_SHOW)
$buttonc=GUICtrlCreateButton ("C", 20, 40, 40)
$buttonpi=GUICtrlCreateButton ("Pi", 60, 40, 40)
$buttonproc=GUICtrlCreateButton ("%", 100, 40, 40)
$buttonrav=GUICtrlCreateButton ("=", 140, 40, 40)
$button1=GUICtrlCreateButton ("1", 20, 65, 40)
$button2=GUICtrlCreateButton ("2", 60, 65, 40)
$button3=GUICtrlCreateButton ("3", 100, 65, 40)
$buttonplus=GUICtrlCreateButton ("+", 140, 65, 40)
$button4=GUICtrlCreateButton ("4", 20, 90, 40)
$button5=GUICtrlCreateButton ("5", 60, 90, 40)
$button6=GUICtrlCreateButton ("6", 100, 90, 40)
$buttonminus=GUICtrlCreateButton ("-", 140, 90, 40)
$button7=GUICtrlCreateButton ("7", 20, 115, 40)
$button8=GUICtrlCreateButton ("8", 60, 115, 40)
$button9=GUICtrlCreateButton ("9", 100, 115, 40)
$buttonumnoj=GUICtrlCreateButton ("*", 140, 115, 40)
$button00=GUICtrlCreateButton ("00", 20, 140, 40)
$button0=GUICtrlCreateButton ("0", 60, 140, 40)
$button000=GUICtrlCreateButton ("000", 100, 140, 40)
$buttondel=GUICtrlCreateButton ("/", 140, 140, 40)
Dim $array[100]
Dim $i=0
Dim $a,$b
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
;button1
If $msg = $button1 Then
$array[$i] = GUICtrlRead($button1)
$a=_ArrayToString($array,"")
$i=$i+1
EndIf
;button2
If $msg = $button2 Then
$array[$i] = GUICtrlRead($button2)
$a=_ArrayToString($array,"")
$i=$i+1
EndIf
;button3
If $msg = $button3 Then
$array[$i] = GUICtrlRead($button3)
$a=_ArrayToString($array,"")
$i=$i+1
EndIf
;button4
If $msg = $button4 Then
$array[$i] = GUICtrlRead($button4)
$a=_ArrayToString($array,"")
$i=$i+1
EndIf
;button5
If $msg = $button5 Then
$array[$i] = GUICtrlRead($button5)
$a=_ArrayToString($array,"")
$i=$i+1
EndIf
;button6
If $msg = $button6 Then
$array[$i] = GUICtrlRead($button6)
$a=_ArrayToString($array,"")
$i=$i+1
EndIf
;button7
If $msg = $button7 Then
$array[$i] = GUICtrlRead($button7)
$a=_ArrayToString($array,"")
$i=$i+1
EndIf
;button8
If $msg = $button8 Then
$array[$i] = GUICtrlRead($button8)
$a=_ArrayToString($array,"")
$i=$i+1
EndIf
;button9
If $msg = $button9 Then
$array[$i] = GUICtrlRead($button9)
$a=_ArrayToString($array,"")
$i=$i+1
EndIf
;button00
If $msg = $button00 Then
$array[$i] = GUICtrlRead($button00)
$a=_ArrayToString($array,"")
$i=$i+1
EndIf
;button0
If $msg = $button0 Then
$array[$i] = GUICtrlRead($button0)
$a=_ArrayToString($array,"")
$i=$i+1
EndIf
;button000
If $msg = $button000 Then
$array[$i] = GUICtrlRead($button000)
$a=_ArrayToString($array,"")
$i=$i+1
EndIf
;Мат операции сложение
if $msg=$buttonplus Then
$b=$a
$j=$i
While $j >= 0
_ArrayDelete($array, $j)
$j=$j-1
WEnd
$z="plus"
EndIf
if $msg=$buttonrav And $z="plus" Then
$a=$b+$a
EndIf
;Мат операции вычетание
if $msg=$buttonminus Then
$b=$a
$j=$i
While $j >= 0
_ArrayDelete($array, $j)
$j=$j-1
WEnd
$z="minus"
EndIf
if $msg=$buttonrav And $z="minus" Then
$a=$b-$a
EndIf
;Мат операции умножение
if $msg=$buttonumnoj Then
$b=$a
$j=$i
While $j >= 0
_ArrayDelete($array, $j)
$j=$j-1
WEnd
$z="umnoj"
EndIf
if $msg=$buttonrav And $z="umnoj" Then
$a=$b*$a
EndIf
;Мат операции деление
if $msg=$buttondel Then
$b=$a
$j=$i
While $j >= 0
_ArrayDelete($array, $j)
$j=$j-1
WEnd
$z="del"
EndIf
if $msg=$buttonrav And $z="del" Then
$a=$b/$a
EndIf
;Мат операции проценты
if $msg=$buttonproc Then
$b=$a
$j=$i
While $j >= 0
_ArrayDelete($array, $j)
$j=$j-1
WEnd
$z="proc"
EndIf
if $msg=$buttonrav And $z="proc" Then
$a=$b/100*$a
EndIf
;Очистка поля
if $msg=$buttonc Then
$j=$i
While $j >= 0
_ArrayDelete($array, $j)
$j=$j-1
WEnd
$a=""
EndIf
;Число ПИ
if $msg=$buttonpi Then
$j=$i
While $j >= 0
_ArrayDelete($array, $j)
$j=$j-1
WEnd
$a=3.141592653589
EndIf
;Вывод
if $msg=$button1 Or $msg=$button2 Or $msg=$button3 Or $msg=$button4 then GUICtrlCreateInput ($a, 10,10,180,20)
if $msg=$button5 Or $msg=$button6 Or $msg=$button7 Or $msg=$button8 then GUICtrlCreateInput ($a, 10,10,180,20)
if $msg=$button9 Or $msg=$button00 Or $msg=$button0 Or $msg=$button000 then GUICtrlCreateInput ($a, 10,10,180,20)
if $msg=$buttonrav Or $msg=$buttonc Or $msg=$buttonpi then GUICtrlCreateInput ($a, 10,10,180,20)
Wend