1 (изменено: sleep, 2011-10-19 20:57:03)

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

Привет всем!
Помогите сделать окно к примеру 150X300, c двумя полями ввода A и B, и чтобы к примеру A*B=AB и выдавал ответ. А то у меня чтото не получается.  Спасибо!

2 (изменено: ypppu, 2011-10-19 23:33:19)

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

sleep, исправьте синтаксические и грамматические ошибки. Название темы следует сделать более информативным.

3

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

sleep пишет:

чтобы к примеру A*B=AB

Этой части вопроса я не понял.

Вот вариант калькулятора:

   oSC := ComObjCreate("ScriptControl")
   oSC.Language := "VBScript"
   
   Gui, Add, Edit, vEdit1 x10 y10 w150 h20
   Gui, Add, Edit, vEdit2 xp yp+30 wp hp
   Gui, Show, w170 h70, Сalculator
   Return

#If WinActive("Сalculator ahk_class AutoHotkeyGUI")
Enter::
   GuiControlGet, Edit1,, Edit1
   Result := oSC.Eval(Edit1)
   GuiControl,, Edit2, % RegExReplace(Result, "(.*)\.0+$|(.*\..*?)0+$", "$1$2")   ; убираем незначащие нули
   Return

GuiClose:
   ExitApp

В первом поле пишем выражение, например 2 + 2, нажимаем Enter, результат появляется во втором.
Знак возведения в степень ^

Принцип работы: создаётся COM-объект ScriptControl, позволяющий воспользоваться методом Eval для вычисления динамических выражений, валидных в VBS.
Ещё есть такой вариант с созданием временного файла.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder