Автор Тема: Математические вычисления в буфере  (Прочитано 556 раз)

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

Parz

  • Зашел в гости
  • *
  • Сообщений: 7
    • Просмотр профиля
Математические вычисления в буфере
« : Октябрь 31, 2021, 07:15:56 pm »
Подскажите пожалуйста, может ли данная программа проводить математические вычисления в буфере к примеру:

WAIT(1)
DBLCLICK(391,821)//выделяем число
WAITMS(100)

KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#C)
WAITMS (50)
KEYUP (#C)
KEYUP (#CTRL)
WAITMS(100)
//число в буфере всегда с точкой а если оно боль 1 тис то ещё и запятая каждые три целых имеет такой вид: 83,745.70
//здесь вычисляем 1.98740+0,3%=1.9933622 или хотя бы 1.98740/300+1.98740=1.994024666666667

LCLICK(880, 410)//окно ввода решения
WAITMS(100)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS(50)
Хотелось бы оптимизировать код, так как там завязка с блокнотом для замены точки на запятую, а потом калькулятор это считает.
Весь код забирает примерно 20 сек дальше оптимизировать некуда потому что будет не точное выполнение, а нужно не больше 5 сек.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3800
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: Математические вычисления в буфере
« Ответ #1 : Ноябрь 02, 2021, 10:42:43 am »
Буфер это буфер! В него можно записать или из него прочитать. Никакие вычисления в буфере невозможны и ни одна программа этого не может сделать.

Данные нужно из буфера достать, посчитать и обратно запихнуть.
Код: Clickermann
  1. WAIT(1)
  2. DBLCLICK(391,821) //выделяем число
  3. WAITMS(100)
  4.  
  5. KEYDOWN(#CTRL)
  6. WAITMS(30)
  7. KEYPRESS(#C)
  8. WAITMS(30)
  9. KEYUP(#CTRL)
  10. WAITMS(100)
  11.  
  12. $num = STRFILTER(FROMCLIP(), ",", 0)
  13. $result = $num + $num / 100 * 0.3
  14.  
  15. print("Результат: ", $result)
  16.  
  17. LCLICK(880, 410) //окно ввода решения
  18. WAITMS(100)
  19.  
  20. TOCLIP($result)
  21. WAITMS(150)
  22.  
  23. KEYDOWN(#CTRL)
  24. WAITMS(30)
  25. KEYPRESS(#V)
  26. WAITMS(30)
  27. KEYUP(#CTRL)
  28. WAITMS(100)
  29.  
  30. HALT


Хотелось бы оптимизировать код, так как там завязка с блокнотом для замены точки на запятую, а потом калькулятор это считает.
Весь код забирает примерно 20 сек дальше оптимизировать некуда потому что будет не точное выполнение, а нужно не больше 5 сек.
У тебя пока много не оптимальных решений, поэтому кажется что твою задачу можно сделать и за 5 сек. и, скорее всего, меньшее время.

//здесь вычисляем 1.98740+0,3%=1.9933622 или хотя бы 1.98740/300+1.98740=1.994024666666667
Вот такие вещи мне совсем непонятны. Что значит "хотя бы"? Хотя бы получить что нибудь? Примеры ведь совсем разные, как один может заменить другой?
В первом, к числу прибавляем 0.3%, а во втором - непонятные вычисления.
« Последнее редактирование: Ноябрь 02, 2021, 10:56:24 am от Vint »