Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Parz on October 31, 2021, 07:15:56 PM

Title: Математические вычисления в буфере
Post by: Parz on October 31, 2021, 07:15:56 PM
Подскажите пожалуйста, может ли данная программа проводить математические вычисления в буфере к примеру:

Code: [Select]
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 сек.
Title: Re: Математические вычисления в буфере
Post by: Vint on November 02, 2021, 10:42:43 AM
Буфер это буфер! В него можно записать или из него прочитать. Никакие вычисления в буфере невозможны и ни одна программа этого не может сделать.

Данные нужно из буфера достать, посчитать и обратно запихнуть.
Code: (clickermann) [Select]
WAIT(1)
DBLCLICK(391,821) //выделяем число
WAITMS(100)

KEYDOWN(#CTRL)
WAITMS(30)
KEYPRESS(#C)
WAITMS(30)
KEYUP(#CTRL)
WAITMS(100)

$num = STRFILTER(FROMCLIP(), ",", 0)
$result = $num + $num / 100 * 0.3

print("Результат: ", $result)

LCLICK(880, 410) //окно ввода решения
WAITMS(100)

TOCLIP($result)
WAITMS(150)

KEYDOWN(#CTRL)
WAITMS(30)
KEYPRESS(#V)
WAITMS(30)
KEYUP(#CTRL)
WAITMS(100)

HALT


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

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