Автор Тема: [Математика] Заполнение полей GUI с помощью функций сложения и вычитания  (Прочитано 3990 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Rakim [?]

  • Новичок
  • *
  • Сообщений: 85
  • Репутация: 4
    • Награды
Скрин:


Обьясню в кратции что мне нужно:
Пишу в inprut1 число 36 и жму button1.
От 36 отнимаеться 2 и ответ выводиться в inprut2.
От 36 отнимаеться 10 и ответ выводиться в inprut3.
К 36 прибавляеться 30 и ответ выводиться в inprut4.

Помогите если не сложно )
« Последнее редактирование: Март 04, 2012, 15:52:38 от Kaster »

Русское сообщество AutoIt


Оффлайн Zaramot [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1160
  • Репутация: 654
  • Пол: Мужской
  • I ♥ AutoIt
    • Награды
  • Версия AutoIt: 3.3.8.1
Re: [Математика] Сложение и вычитание
« Ответ #1, Отправлен: Март 04, 2012, 05:33:32 »
Код: AutoIt [Выделить]
GUICreate("Form1", 410, 159, 192, 124)
$Input1 = GUICtrlCreateInput("", 16, 32, 377, 21)
$Input2 = GUICtrlCreateInput("", 272, 80, 121, 21)
$Input3 = GUICtrlCreateInput("", 144, 80, 121, 21)
$Input4 = GUICtrlCreateInput("", 16, 80, 121, 21)
GUICtrlCreateLabel("Input1", 16, 16, 34, 14)
GUICtrlCreateLabel("Input4", 16, 64, 34, 14)
GUICtrlCreateLabel("Input3", 144, 64, 34, 14)
GUICtrlCreateLabel("Input2", 272, 64, 34, 14)
$Button1 = GUICtrlCreateButton("Button1", 16, 112, 379, 25)
GUISetState()

While 1
    Switch GUIGetMsg()
        Case -3
            Exit
        Case $Button1
            $Input1_Text = GUICtrlRead($Input1)
            GUICtrlSetData($Input2,  $Input1_Text - 2)
            GUICtrlSetData($Input3,  $Input1_Text - 10)
            GUICtrlSetData($Input4,  $Input1_Text + 30)
    EndSwitch
WEnd


Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4020
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [Математика] Сложение и вычитание
« Ответ #2, Отправлен: Март 04, 2012, 06:08:08 »
ПредупреждениеЗа нарушение правил форума (пункт Б.5):
Цитировать
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.

Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"[Математика]  Сложение и вычитание" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Глобальный модератор.

Оффлайн Rakim [?]

  • Новичок
  • *
  • Сообщений: 85

  • Автор темы
  • Репутация: 4
    • Награды
Re: [Математика] Сложение и вычитание
« Ответ #3, Отправлен: Март 04, 2012, 14:41:34 »
Zaramot: А если у меня такое число 86103D и от него нужно отнять 2A.
Просто твой код с этими числами не работает )

Русское сообщество AutoIt

Re: [Математика] Сложение и вычитание
« Ответ #3 Отправлен: Март 04, 2012, 14:41:34 »

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7803
  • Репутация: 2279
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Rakim  [?]
Цитировать
А если у меня такое число 86103D и от него нужно отнять 2A.
Что то я такого числа не видел, может как то так:

Код: AutoIt [Выделить]
While 1
    Switch GUIGetMsg()
        Case -3
            Exit
        Case $Button1
            $Input1_Text = GUICtrlRead($Input1)
           
            If StringIsDigit($Input1_Text) Then
                GUICtrlSetData($Input2, $Input1_Text - 2)
                GUICtrlSetData($Input3, $Input1_Text - 10)
                GUICtrlSetData($Input4, $Input1_Text + 30)
            Else
                $Input1_Text = Dec($Input1_Text)
               
                GUICtrlSetData($Input2, $Input1_Text - Dec('2A'))
                GUICtrlSetData($Input3, $Input1_Text - Dec('10A'))
                GUICtrlSetData($Input4, $Input1_Text + Dec('30A'))
            EndIf
    EndSwitch
WEnd


 :think:


Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Оффлайн Rakim [?]

  • Новичок
  • *
  • Сообщений: 85

  • Автор темы
  • Репутация: 4
    • Награды
Неа.... Не правельно работает. В калькуляторе на этот пример (86103D - 10A) даёт ответ 860F33.

Оффлайн Viktor1703 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1512
  • Репутация: 405
    • Награды
  • Версия AutoIt: 3.3.12.0
Rakim, это потому что на калькуляторе Вы производите вычисление в Hex режиме, а в примере CreatoR'а вычисления в Dec


Добавлено: Март 05, 2012, 19:41:53
Код: AutoIt [Выделить]
GUICreate("Form1", 410, 159, 192, 124)
$Input1 = GUICtrlCreateInput("", 16, 32, 377, 21)
$Input2 = GUICtrlCreateInput("", 272, 80, 121, 21)
$Input3 = GUICtrlCreateInput("", 144, 80, 121, 21)
$Input4 = GUICtrlCreateInput("", 16, 80, 121, 21)
GUICtrlCreateLabel("Input1", 16, 16, 34, 14)
GUICtrlCreateLabel("Input4", 16, 64, 34, 14)
GUICtrlCreateLabel("Input3", 144, 64, 34, 14)
GUICtrlCreateLabel("Input2", 272, 64, 34, 14)
$Button1 = GUICtrlCreateButton("Button1", 16, 112, 379, 25)
GUISetState()

While 1
    Switch GUIGetMsg()
        Case -3
            Exit
        Case $Button1
            $Input1_Text = GUICtrlRead($Input1)
           
            If StringIsDigit($Input1_Text) Then
                GUICtrlSetData($Input2, $Input1_Text - 2)
                GUICtrlSetData($Input3, $Input1_Text - 10)
                GUICtrlSetData($Input4, $Input1_Text + 30)
            Else
                $Input1_Text = Dec($Input1_Text)
               
                GUICtrlSetData($Input2, Hex($Input1_Text - Dec('2A'), 6))
                GUICtrlSetData($Input3, Hex($Input1_Text - Dec('10A'), 6))
                GUICtrlSetData($Input4, Hex($Input1_Text + Dec('30A'), 6))
            EndIf
    EndSwitch
WEnd
 

« Последнее редактирование: Март 05, 2012, 19:41:53 от Viktor1703, Причина: Объединение сообщений »

Оффлайн Rakim [?]

  • Новичок
  • *
  • Сообщений: 85

  • Автор темы
  • Репутация: 4
    • Награды
Всё работает. Огромное спасибо всем )))

Русское сообщество AutoIt


Оффлайн Rakim [?]

  • Новичок
  • *
  • Сообщений: 85

  • Автор темы
  • Репутация: 4
    • Награды
Теперь проблема в другом )
Код который вы мне дали работает, но он считает в Hex режиме только если грубо говоря есть в цифре буква.
А если вычислять с цифр, то он работает в режиме Dec.
Как это исправить ???

Оффлайн Rakim [?]

  • Новичок
  • *
  • Сообщений: 85

  • Автор темы
  • Репутация: 4
    • Награды

Оффлайн Rakim [?]

  • Новичок
  • *
  • Сообщений: 85

  • Автор темы
  • Репутация: 4
    • Награды
Всё. Я сам понел )))
Код кому нужно:

 
Код: AutoIt [Выделить]
$Input1_Text = GUICtrlRead($Input1)
$Input1_Text = Dec($Input1_Text)

                GUICtrlSetData($Input2, Hex($Input1_Text + Dec('686'), 6))
                GUICtrlSetData($Input3, Hex($Input1_Text + Dec('CD2'), 6))
                GUICtrlSetData($Input4, Hex($Input1_Text - Dec('74'), 6))
                GUICtrlSetData($Input5, Hex($Input1_Text - Dec('3C4'), 6))
                GUICtrlSetData($Input6, Hex($Input1_Text - Dec('2C4'), 6))
                GUICtrlSetData($Input7, Hex($Input1_Text + Dec('22B20'), 6))
                GUICtrlSetData($Input8, Hex($Input1_Text + Dec('31DC2'), 6))
                GUICtrlSetData($Input9, Hex($Input1_Text - Dec('457A'), 6))
                GUICtrlSetData($Input10, Hex($Input1_Text - Dec('5A4'), 6))
                GUICtrlSetData($Input11, Hex($Input1_Text - Dec('1DC5'), 6))
 


Русское сообщество AutoIt


 

Похожие темы

  Тема / Автор Ответов Последний ответ
3 Ответов
2594 Просмотров
Последний ответ Апрель 23, 2010, 19:04:13
от warshadow
0 Ответов
1373 Просмотров
Последний ответ Август 31, 2011, 18:54:47
от valdur2000
3 Ответов
1973 Просмотров
Последний ответ Сентябрь 16, 2011, 21:53:06
от Kaster
8 Ответов
3374 Просмотров
Последний ответ Июль 17, 2012, 00:23:10
от Dk
4 Ответов
1973 Просмотров
Последний ответ Июль 16, 2013, 17:09:18
от AZJIO
2 Ответов
2039 Просмотров
Последний ответ Июль 24, 2013, 16:19:59
от sims
0 Ответов
958 Просмотров
Последний ответ Октябрь 13, 2015, 15:20:44
от Maximys
2 Ответов
722 Просмотров
Последний ответ Май 09, 2016, 19:37:11
от avtoIT
1 Ответов
431 Просмотров
Последний ответ Август 24, 2016, 18:55:39
от m_hakk
5 Ответов
1079 Просмотров
Последний ответ Январь 10, 2017, 14:10:19
от InnI