Вам когда-нибудь нужно было быстро что-то посчитать, не отрываясь от основной задачи? Запускать стандартный калькулятор Windows, искать его в меню "Пуск", кликать мышкой — всё это сбивает с ритма. Представляем calc_mini — крошечную, но мощную утилиту, которая навсегда изменит ваше представление о быстрых вычислениях.
Это не просто калькулятор, это ваш персональный помощник, встроенный прямо в операционную систему и готовый к работе в любой момент.
calc_mini — это легковесный скрипт для AutoHotkey, который предоставляет вам минималистичный интерфейс для "живых" вычислений, обладающий функциями, которых вы не найдете в стандартных приложениях.
Alt+5, и калькулятор появится поверх всех окон. Нажмите Esc, и он исчезнет. Никаких лишних движений.Enter. Полное выражение (например, (2+2)*2 = 8) скопируется в буфер обмена, а калькулятор автоматически скроется. Идеально для вставки результатов в документы или чаты.Esc, ваш последний расчёт не пропадёт. При следующем вызове вы сможете продолжить с того же места.(. Скрипт автоматически обернёт выделенный текст в скобки, не затирая его..ahk (например, calc_mini.ahk), скопируйте в него приведенный ниже исходный код и сохраните.Alt+5.Вот полный код нашего калькулятора. Вы можете свободно изменять и дорабатывать его под свои нужды!
#NoEnv
#Persistent
#SingleInstance Force
Gui +AlwaysOnTop +ToolWindow -Caption +Border
Gui Font, s14, Consolas
Gui Add, Text, , calc_mini
Gui Add, Edit, vExp gCalc w200 h30
Gui Add, Text, vResultBox w200 h30 Right,
Gui Hide
Gui, +LastFound
vGuiId := WinExist()
Calc:
global jscript
if !IsObject(jscript)
{
htmlfile := ComObjCreate("htmlfile")
htmlfile.write("<meta http-equiv='X-UA-Compatible' content='IE=Edge'>")
jscript := htmlfile.parentWindow
}
GuiControlGet, currentContent, , Exp
if (currentContent = "")
{
GuiControl,, ResultBox,
return
}
try {
result := jscript.eval(currentContent)
GuiControl,, ResultBox, %result%
}
catch {
; If eval fails (e.g., "5*"), clear the result box
GuiControl,, ResultBox,
}
return
!5::
Gui Show
GuiControl, Focus, Exp
return
#If GuiIsActive(vGuiId)
Esc::
Gui, Hide
return
Enter::
GuiControlGet, expression, , Exp
GuiControlGet, result, , ResultBox
if (result != "" && expression != "") {
Clipboard := expression . " = " . result
Gui Hide
}
return
$(::
ControlGet, selectedText, Selected, , Edit1, ahk_id %vGuiId%
if (selectedText != "") {
SendInput, {Text}(%selectedText%`)
} else {
SendInput, (
}
return
#If
GuiIsActive(id) {
return WinActive("ahk_id " . id)
}
calc_mini — это прекрасный пример того, как с помощью простых инструментов можно значительно улучшить свою продуктивность. Попробуйте, и вы больше не захотите возвращаться к стандартному калькулятору!
