1

Тема: AHK: Добавить в поле ввода калькулятора знак равно

Доброго времени суток. Подскажите пожалуйста как можно добавить в код калькулятора знак "=" в поле ввода , то есть в поле ввода можно вписать цифры "пример 20 + 20 " , а нужно вписать в таком формате "20 + 20 = " и чтобы ответ сразу копировался в буфер.

oSC := ComObjCreate("ScriptControl")
oSC.Language := "VBScript"
Gui, Add, Edit,vEdit x6 y11 w330 h30 R1,
Gui, Add, Button, x106 y51 w100 h30 , =
Gui, Font, S8 CGreen, Verdana
Gui, Show, x131 y91 h94 w342, КАЛЬКУЛЯТОР
Return
GuiClose:
ExitApp
#If WinActive("КАЛЬКУЛЯТОР ahk_class AutoHotkeyGUI")
Button=:
GuiControlGet, Edit,, Edit
Result := oSC.Eval(Edit)
GuiControl,, Edit, % RegExReplace(Result, "(.*)\.0+$|(.*\..*?)0+$", "$1$2")
Return
OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

2

Re: AHK: Добавить в поле ввода калькулятора знак равно

GuiControl,, Edit, % Clipboard := Edit "=" RegExReplace(Result, "(.*)\.0+$|(.*\..*?)0+$", "$1$2")
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3

Re: AHK: Добавить в поле ввода калькулятора знак равно

Наверно узнать vk-код клавиши [=] и назначить на неё те же действия, что выполняет кнопка в GUI.

4

Re: AHK: Добавить в поле ввода калькулятора знак равно

Зачем вк код? Эта клавиша и по имени, работает в любой раскладке.


=::
Button=:
    GuiControlGet, Edit 
    Result := oSC.Eval(Edit)
    GuiControl,, Edit, % Clipboard := Edit "=" RegExReplace(Result, "(.*)\.0+$|(.*\..*?)0+$", "$1$2")
    Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5 (изменено: Ядрён, 2014-05-30 21:30:20)

Re: AHK: Добавить в поле ввода калькулятора знак равно

Нет вы не поняли , нужно в поле  "Edit" ввести "20 + 20 = " а в ответе получилось "40" , а у вас получается "20 + 20 = 40 " и копируется в буфер это "20 + 20 = 40 " а нужно копировать в буфер "40".

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

6

Re: AHK: Добавить в поле ввода калькулятора знак равно

Так, что ли?


oSC := ComObjCreate("ScriptControl")
oSC.Language := "VBScript"
Gui, Add, Edit,vEdit x6 y11 w330 h30 R1,
Gui, Add, Button, x106 y51 w100 h30 , =
Gui, Font, S8 CGreen, Verdana
Gui, Show, x131 y91 h94 w342, КАЛЬКУЛЯТОР
Return
GuiClose:
ExitApp
#If WinActive("КАЛЬКУЛЯТОР ahk_class AutoHotkeyGUI")
Button=:
GuiControlGet, Edit,, Edit
Result := oSC.Eval(Edit)
GuiControl,, Edit, %Edit% = %Result%
Clipboard := Result
Return

7 (изменено: Ядрён, 2014-05-31 20:14:18)

Re: AHK: Добавить в поле ввода калькулятора знак равно

Нет опять не так. Вот цифры и знаки которые должны быть вписаны в поле "Edit" перечисляю: 20 , +20 , = .

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

8

Re: AHK: Добавить в поле ввода калькулятора знак равно

Кто их туда должен вписывать и каким образом?

9

Re: AHK: Добавить в поле ввода калькулятора знак равно

Я выделяю двойным кликом "20 + 20 =" (не 20 + 20 ) а именно: "20 + 20 =" вписываю в калькулятор ,  получаю ответ ,  копирую из калькулятора и вставляю в поле ответ .

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

10

Re: AHK: Добавить в поле ввода калькулятора знак равно

Так?


oSC := ComObjCreate("ScriptControl")
oSC.Language := "VBScript"
Gui, Add, Edit,vEdit x6 y11 w330 h30 R1,
Gui, Add, Button, x106 y51 w100 h30 , =
Gui, Font, S8 CGreen, Verdana
Gui, Show, x131 y91 h94 w342, КАЛЬКУЛЯТОР
Return
GuiClose:
ExitApp
#If WinActive("КАЛЬКУЛЯТОР ahk_class AutoHotkeyGUI")
Button=:
GuiControlGet, Edit,, Edit
StringReplace, Edit, Edit, =
Result := oSC.Eval(Edit)
GuiControl,, Edit, %Result%
Clipboard := Result
Return

11

Re: AHK: Добавить в поле ввода калькулятора знак равно

YMP пишет:

Так?


oSC := ComObjCreate("ScriptControl")
oSC.Language := "VBScript"
Gui, Add, Edit,vEdit x6 y11 w330 h30 R1,
Gui, Add, Button, x106 y51 w100 h30 , =
Gui, Font, S8 CGreen, Verdana
Gui, Show, x131 y91 h94 w342, КАЛЬКУЛЯТОР
Return
GuiClose:
ExitApp
#If WinActive("КАЛЬКУЛЯТОР ahk_class AutoHotkeyGUI")
Button=:
GuiControlGet, Edit,, Edit
StringReplace, Edit, Edit, =
Result := oSC.Eval(Edit)
GuiControl,, Edit, %Result%
Clipboard := Result
Return

Да именно так спасибо.

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).