Четверг, 28.11.2024, 09:38 | Приветствую Вас Гость

...

Код

Главная » Статьи » Autoit

Сложение

Для тех,кто никогда не писал простейшего калькулятора.

Простейший калькулятор на autoit может выглядеть так.Конечно он не складывает очень большие числа,так как архитектура процессора напрямую это не поддерживает.И впрочем данная реализация не является самым оптимальным и самым умным решением.

#include <GUIConstantsEx.au3>
#include <GuiButton.au3>
#include <GuiConstants.au3>
Local $state = 1
Local $hGUI = GUICreate("Example", 500,500)
GUICtrlCreateLabel("Первое число",0,0)
Local $num_1 = GUICtrlCreateInput("", 0, 25, 300, 20)
GUICtrlCreateLabel("Второе число",0,50)
Local $num_2 = GUICtrlCreateInput("", 0, 75, 300, 20)
GUICtrlCreateLabel("Результат",0,100)
Local $res = GUICtrlCreateInput("", 0, 125, 300, 20)

Local $idButton_1 = GUICtrlCreateButton("1", 0, 150, 85,50)
Local $idButton_2 = GUICtrlCreateButton("2", 90, 150, 85,50)
Local $idButton_3 = GUICtrlCreateButton("3", 180, 150, 85,50)

Local $idButton_4 = GUICtrlCreateButton("4", 0, 200, 85,50)
Local $idButton_5 = GUICtrlCreateButton("5", 90, 200, 85,50)
Local $idButton_6 = GUICtrlCreateButton("6", 180, 200, 85,50)

Local $idButton_7 = GUICtrlCreateButton("7", 0, 250, 85,50)
Local $idButton_8 = GUICtrlCreateButton("8", 90, 250, 85,50)
Local $idButton_9 = GUICtrlCreateButton("9", 180, 250, 85,50)

Local $idButton_0 = GUICtrlCreateButton("0", 0, 300, 85,50)

Local $idButton_plus = GUICtrlCreateButton("плюс", 300, 150, 85,50)

GUISetState(@SW_SHOW, $hGUI)
GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND")
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop

Case $idButton_1
set_text(1)
Case $idButton_2
set_text(2)
Case $idButton_3
set_text(3)
Case $idButton_4
set_text(4)
Case $idButton_5
set_text(5)
Case $idButton_6
set_text(6)
Case $idButton_7
set_text(7)
Case $idButton_8
set_text(8)
Case $idButton_9
set_text(9)
Case $idButton_0
set_text(0)
Case $idButton_plus
GUICtrlSetData($res,GUICtrlRead($num_1)+GUICtrlRead($num_2))
EndSwitch

WEnd


Func MY_WM_COMMAND($hWnd, $msg, $wParam, $lParam)
Local $nNotifyCode = BitShift($wParam, 16)
Local $nID = BitAND($wParam, 0xFFFF)


Switch $nID
Case $num_1, $num_2,$res
Switch $nNotifyCode
Case $EN_SETFOCUS
if $nID = 4 then $state = 1
if $nID = 6 then $state = 2
if $nID = 8 then $state = 3
EndSwitch
EndSwitch
EndFunc

func set_text($number)
if $state = 1 then GUICtrlSetData($num_1,GUICtrlRead($num_1)& $number)
if $state = 2 then GUICtrlSetData($num_2,GUICtrlRead($num_2)& $number)
if $state = 3 then GUICtrlSetData($res,GUICtrlRead($res)& $number)
EndFunc


 

Категория: Autoit | Добавил: moskov (21.03.2022)
Просмотров: 152 | Рейтинг: 0.0/0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Меню сайта

Категории раздела

PHP [41]
C++ [71]
Autoit [108]
Processing [105]
Basic4GL [7]
Fasm [2]
PABC [7]
Js [236]
Gentee [1]
Python [204]
Java android [3]
Small Basic [9]

Мини-чат

Статистика


Онлайн всего: 6
Гостей: 6
Пользователей: 0

Форма входа

Друзья сайта

  • ЗОВ КОСМОСА

  • Хулиган Вселенной

  • Тюремная поэзия

  • Религиозная поэзия

  • Сайт клана ЛеГиоН
  • Поиск