1

Тема: AHK: Вычисления в фоне

Добрый день!

Подскажите, пожалуйста, как реализовать следующее:
1. Нажимаем горячую клавишу.
2. Вводим число.
3. Нажимаем enter.
4. Вводим второе число.
5. Нажимаем enter.
6. Результат деления 1-го числа на 2-е в процентах выводим на экран.

Спасибо.

2 (изменено: Grey, 2012-11-01 20:24:53)

Re: AHK: Вычисления в фоне

SetFormat, FloatFast, 0.3 ; формат округления числа
OnMessage(WM_LBUTTONDOWN:=0x201, "WndProc")

;Space:: ; клавишу можете задать сами
Repeat:
   ++Itr
   SetTimer, WSets, -50
   InputBox, Counter
           , % "AHK InputBox"
           , % "digits only,   step: "Itr
           ,, 125, 90
           , A_ScreenWidth/2-65
           , A_ScreenHeight/2-45
   If ErrorLevel
      ExitApp
   If Not Counter~="^[0-9]*\.?[0-9]+$"
   {
      --Itr
      Goto, Repeat
   }
   A_Space . (Itr=1 ? Dividend:=Counter:Divider:=Counter)
   Goto, % Itr=1 ? "Repeat":"Continue"
Continue:
; в общем исходя из того, что я не понял, 6-той пункт, сделал пример отсюда:
; http://ru.wikipedia.org/wiki/Процент
   MsgBox, 262208
         , % Dividend "/"Divider "%"
         , % "Result: "Dividend*(Divider/100) ; собственно тут математика
         ;, % 1.5
   ExitApp

WSets:
   WinSet, AlwaysOnTop, On, A
   WinSet, Style, -0x1440000, A
   ControlSetText, Button2, Exit, A
   Return

WndProc(p*)
{
   PostMessage, WM_NCLBUTTONDOWN:=0xA1, HTCAPTION:=2,,, % "ahk_id"p.4
}

3

Re: AHK: Вычисления в фоне

А можно то же самое, только без ввода чисел в появляющиеся окна. Т.е. на экране ничего не возникает, до появления ответа.
1-е число всегда меньше 2-го. 13/50=0.26 26%

4 (изменено: Александр_, 2012-11-01 20:06:06)

Re: AHK: Вычисления в фоне

http://forum.script-coding.com/viewtopic.php?id=6350

5

Re: AHK: Вычисления в фоне

F1::
    loop 2 {
        Input, string, IV, {Enter}
        arg%A_Index% := RegExReplace(string, "\D+")
    }
    MsgBox % arg1/arg2*100
    return

Input - интерфейс взаимодействия с «родным» хуком.

6

Re: AHK: Вычисления в фоне

creature.ws, спасибо, то, что доктор прописал.