Poll

Вы хотели бы добавить себе в скрипт(ы) хоткеи для вызова нужных функций по желанию?

Нет, мне это не нужно. Либо я не знаю, как это сделать!
0 (0%)
Мне это нужно, но не часто. Было б хорошо добавлять хоткеи с лёгкостью.
3 (37.5%)
Я использую комбинации клавиш/хоткеи в некоторых скриптах, можно б и чаще.
0 (0%)
Я король автоматизации. Все мои скрипты с хоткеями!
2 (25%)
Свой вариант, который я напишу в комментариях ниже.
3 (37.5%)

Total Members Voted: 8

Author Topic: [РЕШЕНО] Проверка условия повторного нажатия вместе с хоткеем iskeydown + ОПРОС  (Read 6706 times)

0 Members and 1 Guest are viewing this topic.

Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
Ремонтируй свою систему. У меня на очень не новом компе 3-7%, в среднем 5%.
Нет, ну я ж не говорю, что на всех скриптах так, в среднем по палате у меня тоже пару процентов, в "обычных" скриптах. А вот этом, со множеством проверок, делеями по 10-20 мс и с delay_between_lines = 1 выходит примерно наполовину загрузка проца или чуть больше, и это, повторюсь, считаю вполне приемлемым результатом для такого нагруженного скрипта, да и не окончательным вариант это ещё. Хотя может пока просто не знаю  неких хитростей оптимизации по определению нажатых в текущий момент клавиш и их комбинаций, и пока что я их здесь не нашёл. Просто с месяц назад я в розовых очках верил, что серьёзный скрипт может работать не нагружая комп, сейчас я к счастью с этой иллюзией расстался.

казалось, что DEFINE($a, 0) и $a=0 эквивалентны
Они НЕ одинаковы.
И в чём там цимус дефайна (если в двух словах)?

Кто знает что ты там собирался делать. Вот вне циклов и нужно сбрасывать переменную.
Ха-ха, ха-ха-ха-ха-ха!  :-[ *нервный смех*
Переменную? Вне циклов? Без тредов?
А это ваще реально?
Не, ну я по сути так и сделал (объявил а перед ифом), но я имею ввиду другое. Скрипт работает без хальта и безостановочно, что само по себе уже и есть цикл без его объявления? Разве можно указать переменную вне этого цикла, но чтоб она обнулялась только раз (пока текущий хоткей нажат)? Ну мож можно присобачить инклуд, но ведь он же будет исполняться с каждой итерацией скрипта или он всё-таки include-once?

Обычно хоткеи не используются как управление и им не нужна одновременная реакция на разные. Но соглашусь, если юзание активное, то ожидать отпускание только при делении по потокам.
Уф! Неет, только не это! Винт дал добро на потоки!
Но и это ещё не всё. Как уже писал, хочу вклинить проверку на длительность нажатия и в соответствии с величиной длительности уже варьировать реакцию. То есть это удобно чем: на одну и ту же клавишу можно повесить сразу нескольку действий, такое поведение может быть особо ценным ввиду того, что, как говорил тов. Золотой, "клавиш лишь ограниченное количество" и что их часто не хватает, особенно при пользовании сразу несколькими программами и соответственно скриптами, приспособленными под них. Но это также и усложняет разработку скрипта, и сейчас если честно у меня есть большие сомнения, что это вообще получится реализовать так, как это задумано, ввиду такой загрузки Клмном.

Потому что погрешность waitms как раз 5 мс. И на некоторых компах и в некоторых случаях, это всё равно что задержки нет совсем.
У меня на предыдущем рабочем компе всё меньше 5 было равно 0.
Сейчас конечно и 2 мс рабочие.
Вот это, про погрешность вейта надо бы учесть да не забыть как-то. А ещё лучше тестануть каким скриптом. Винт, а может есть у нас топики с уже готовым скриптом с такой проверкой "работоспособности компьютера"? Кстати, если что, у меня две машины (обе примерно начала этого десятилетия): 2-ядерник AMD C-60 1.0-1.3 GHz и 2-ядерный Пень G620 2.6  GHz. Ну и мобилка примерно того же времени и той же мощности, что и амд. Правда, пока что у нас нету Клмна под Андроид  ::) До войны было несколько i5 неплохих, потом один сгорел, а второй.. тоже недавно сгорел, спасибо кенту))

имхо 100-200 не такие уж и долгие задержки, как возможно здесь принято считать
никто так не считает. Это у тебя в скриптах то 5, то 10.
Я только в самых нужных, нагруженных местах ставлю 5-20. При обработках массивов данных, например в файле.
Да, но здесь на форуме я часто встречаю, что советуют задержки в пределах 20-50 мс, и меня аж коробит от этого. И как я уже писал, многие ваще "умеют" обходиться без вейтов. А я вот считаю более "человечными" (в смысле эмулирующими работу человека) задержки в диапазоне 200-500 мс (бывает задержка нужна до пары секунд, что здесь наверняка сочтут изуверством)), но об этом часто спрашивают, когда хотят чтоб скрипт был "человечным"), это может быть актуальным при работе с веб-браузером и его не столь отзывчивым (по сравнению с десктопом) веб-интерфейсом, с которым нам зачастую приходится иметь дело. Да и Джонни помнится писал не так давно, что хотелось бы, чтоб кто-то протестировал более-менее адекватные меры задержек, вот я и подытожил свои эксперименты в этом плане, что самый критичный при очень быстрой работе скрипта это щелчок по окну (это обнаруженное в течение экспериментов бутылочное горлышко быстроты), или у себя в скриптах ты обходишься без кликов по заголовку и даёшь фокус по окну как-то по-другому?

менi прикро - тебя не все поймут  :)
Ну не наю, как это по-ёмчей сказать, в общем испанский стыд))
Кстати, Винт, как я понимаю у тя родина Первомайск, а ты щас в Харькове обитаешь? А как там у вас щас обстановка и как город, сильно пострадал? У нас в Луче уже с год +/- тихо, ну иногда гремит вдалеке, но пока что рядом не бомбят. А вот слышал недавно, что около Донецка грады работы так, что громыхало капец. Ну как всегда, хоть в подвал беги.

Клик по окну = сделать активным окно и перевести на него фокус - время реакции это не проблема кликера, а проблема реакции системы, которая зависит от железа, загруженности компа и загаженности системы. У меня эта реакция на глаз совсем не отличается от многих других. Но я и не ставлю 5-10 мс.
По задержкам много индивидуальностей и много зависит от приложений и задач. Что там в мануале писать? Солить по вкусу? Или расписывать все возможные варианты?...
Ну, трудные места не мешало бы упомянуть. Всех проблем всех пользователей это не решит пока они не будут писать и писать. Потом придёт просветление и в голове у каждого будет "свой" мануал, не совпадающий с другими.
Что в мане писать? Ну вот это и есть дилемма, как подытожить разные сценарии. Но проблема разумеется не в кликере, а частично в том, что здесь часто советуют очень маленькие задержки, и в том, что пользователи думают, что раз они тратят на по паре секунд на каждое действие, то и кликер будет поступать так же, и как следствие они не учитывают по наивности задержек в своих алгоритмах. Я не говорю, что это плохо и что скрипты должны выполняться долго/ медленно/ стабильно, но просто понятно, что иногда такие недочёты могут выходить боком, как примерно и дилемма с хальтом и прочими препроцессорными штуками. Надо приучить людей к культуре и объяснить, что делеи в рамках 0,3-0,5 с это норм. А так ясно, что всё весьма индивидуально, но можно и опрос на эту темку замутить. И сильно сомневаюсь, что даже в новой системе на мощном железе скрипт сможет работать адекватно без задержек. У кента есть i7 и 32 гб оперативки, но они тоже лагают в той браузерке с флешем, под которую он прётся, когда запускает все-навсего 50 окон обновившегося Огнелиса (говорит, в версии 25 всё было путём).
« Last Edit: December 13, 2016, 10:39:33 AM by Cleoss »

Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
Голосование подтасовано  ;D
Мой любимый 2 пункт
Quote
"Мне это нужно, но не часто. Было б хорошо добавлять хоткеи с лёгкостью."
испорчен. Мне подходит "Мне это нужно, но не часто". Но зачем здесь сопутствующий товар в виде
"Было б хорошо добавлять..." ?

Что это за тяга к "чехол не нужен?"  :D
Выходит от моего имени там чего то просят.

Да-да)) Молодой челувек, вам подсказать что-нибудь?
Снимаю завесу. На самом деле сначала написал нормальные варианты, но ввиду того, что в опроснике есть только 5 вариантов, не больше, пришлось шить дело)
Такой вот он, наш скрытый маркетинг с внедрёнными интентами. Очки ннада?
А кстати что, разве не "Было б хорошо добавлять..."?  ;)

Королей не знаю и знать не хочу, но судя по опросу, Я БОГ АВТОМАТИЗАЦИИ!     :P

Трудно поспорить  :) Бог это вне вариантов аки код:
[spoiler]
Code: (clickermann) [Select]
switch($opros)
case(noob)
  print("Совпадений не найдено")
case(user)
  print("Он меня троллит?")
case(korol)
  print("Не желаю знать таких")
default
  print("Я Бог!")
end_switch
[/spoiler]
"Царь, оч приятно. Оч приятно, царь"

Мне подходит "Мне это нужно, но не часто". Но зачем здесь сопутствующий товар в виде
"Было б хорошо добавлять..." ?
поэтому 5+
Но должны же быть и у политтехнологов свои правила?! Пусть грязные, но правила.
« Last Edit: November 23, 2016, 04:46:51 PM by Cleoss »

Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
Кстати, диагноз прогноз подтверждается: у нас даже короли нашлись, а вот взяться утверждать, что "Не знаю как сделать хоткей" никто не берётся!  :P
Кто-нибудь, поправьте ситуацию, плиз!

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
А вот этом, со множеством проверок, делеями по 10-20 мс
Я пробовал именно указанный скрипт из твоего поста.

И в чём там цимус дефайна (если в двух словах)?
Справка
Quote
Примечания
Инструкция сработает только если переменная не была объявлена раньше. В противном случае инструкция игнорируется.

Скрипт работает без хальта и безостановочно, что само по себе уже и есть цикл без его объявления? Разве можно указать переменную вне этого цикла

Так всё просто - объяви его. Постарайся забыть про дефолтный цикл всего скрипта и сделать цикл самому. Мало ли что будет в следующей версии, вдруг выполнение по кругу отключат, а ты уже готов.

Уф! Неет, только не это! Винт дал добро на потоки!
Да не вопрос, пользуйся  ;D.
Неужели ты до сих пор не понял, что я против потоков там где они не нужны абсолютно.
А то сейчас выходит: "телевизор не включается... так, так, так... а если через потоки..."


Я вот не пойму, ты действительно неординарная личность и способен запомнить эти "несколько сотен"/1000/2000 хоткеев и с ними реально работать? При чём несколько могут быть нажаты одновременно.
Я вот нет. Я десяток еле использую и то общеуниверсальных. Изредко в спецпрограммах + 5-7 штук, на больше меня не хватает. Получается очередь: последние зашедшие выталкивают нафиг первых  ;D

Думаю даже 3-й концерт Рахманинова и то проще залабать, он всего на 88 клавишах +2 педали. Но мне до него как до луны.

Вот это, про погрешность вейта надо бы учесть да не забыть как-то. А ещё лучше тестануть каким скриптом.
Не благодари
Code: (clickermann) [Select]
$timer1 = $_ms
WAITMS(5)
LOGWRITE ("время выполнения : ", $_ms - $timer1, " мс")
LOGWRITE (" ")
WAIT(1)
Сейчас с этим всё нормально. Я просто тестировал на прошлом компе, вот там и 5 мс часто становилось 0, а меньше так 100%

А я вот считаю более "человечными" (в смысле эмулирующими работу человека) задержки в диапазоне 200-500 мс (бывает задержка нужна до пары секунд, что здесь наверняка сочтут изуверством))
Вот первый попавшийся пример из моих рабочих скриптов:
[spoiler]
Code: (clickermann) [Select]
#include "..\Libs\Copy_Paste.cms"
#include "..\Libs\brawser.cms"
#name "Занесение атрибутов по одному"

//==============================================================================

// количество позиций
$all = 10

$part = 1
// 1 - тип
// 2 - материал
// 3 - напор
// 4 - производительность

$type = "циркуляционный" // скважинный
$mat = "нержавеющая сталь"  // чугун, нержавеющая сталь, хромоникелевая сталь

STRSEPARATE("4:6:8:10:12:4:6:8:10:12", ":", $nap)
STRSEPARATE("6,2:7,7:8,6:9,3:9,9:7,8:9,3:10,2:10,5:9,9", ":", $pr)

//==============================================================================


WAITMS(500)

FOR($iter=0, $iter < $all)
    next_tab()
    WAITMS(1000)
    HINTPOPUP(STRCONCAT("из ", $all), $iter + 1)
   
    // формат строки напора
    $s = $nap[$iter]
    IF(STRLEN($s) < 2)
        $napor =  STRCONCAT("  ", $s, " м")
    ELSE
        $napor =  STRCONCAT(" ", $s, " м")
    END_IF
   
    // формат производительности
    $s = $pr[$iter]
    IF(STRLEN($s) < 4)
        $proizv = STRCONCAT(" ", $pr[$iter], " м3/час")
    ELSE
        $proizv = STRCONCAT($pr[$iter], " м3/час")
    END_IF
   
   
    LCLICK(400,324)  // добавить атрибут
    WAITMS(600)
    LCLICK(406,394)  // список атрибутов
    WAITMS(800)
   
    // мотаем вниз на $n страниц
    IF(($part = 1) | ($part = 4))
        $n = 3
    ELSE
        $n = 2
    END_IF
    FOR($i=0, $i < $n)
        KEYPRESS(#PAGEDOWN)
        WAITMS(300)
    END_CYC
   
    // выбор атрибута
    SWITCH($part)
    CASE(1)
        LCLICK(456,497)  // тип  3
    CASE(2)
        LCLICK(515,784)  // материал  2
    CASE(3)
        LCLICK(515,784)  // напор  2
    CASE(4)
        LCLICK(504,481)  // производительность   3
    END_SWITCH
   
    // поле значение
    WAITMS(500)
    LCLICK(322,463)
    WAITMS(500)
   
    // вставляем значение
    SWITCH($part)
    CASE(1)
        TOCLIP($type)
    CASE(2)
        TOCLIP($mat)
    CASE(3)
        TOCLIP($napor)
    CASE(4)
        TOCLIP($proizv)
    END_SWITCH
   
    WAITMS(80)
    paste()
    WAITMS(300)
   
    // кнопка добавить
    LCLICK(266,507)
    WAITMS(1000)
END_CYC

HALT
[/spoiler]

Кстати, Винт, как я понимаю у тя родина Первомайск, а ты щас в Харькове обитаешь? А как там у вас щас обстановка и как город, сильно пострадал?
Я не в Харькове. А Первомайск - сильно. Все дома побиты и все школы, завод, шахта.
У друга квартира родителей сгорела, точнее весь подъезд.


Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
Я пробовал именно указанный скрипт из твоего поста.
Тогда и не наю, что делать. У меня всё таки ж Пенёк, тут и частота послабее, и ядер меньше, кеш маленький/ шина тож не ого-го. Наверно поэтому и такая разница.

Я вот не пойму, ты действительно неординарная личность и способен запомнить эти "несколько сотен"/1000/2000 хоткеев и с ними реально работать? При чём несколько могут быть нажаты одновременно.
Я вот нет. Я десяток еле использую и то общеуниверсальных. Изредко в спецпрограммах + 5-7 штук, на больше меня не хватает. Получается очередь: последние зашедшие выталкивают нафиг первых  ;D
Думаю даже 3-й концерт Рахманинова и то проще залабать, он всего на 88 клавишах +2 педали. Но мне до него как до луны.
В том-то и фишка, я надеюсь, что как-нибудь найду некий инструмент, с помощью которого можно было б сделать интерфейс для набора подсказок-хоткеев в зависимости от запущенного/ активного окна (и не просто список, а кликабельный MRU). Хотя пару сотен хоткеев запомнить можно, если поморочиться неделю-другую, главное практика и повторы. Есть там много задумок для этой реализации, правда, опять же сильно сомневаюсь, что всё получится выразить в коде так, как изначально задумано. Но ещё охота зарезервировать некоторую долю хоткеев под часто употребимые символы юникода (там уж точно не нужно запоминать, а лучше их сделать по тегу-описанию).

Не благодари
Сейчас с этим всё нормально. Я просто тестировал на прошлом компе, вот там и 5 мс часто становилось 0, а меньше так 100%
Не, ну как же ж, благодарю  :) Как у автобусников: за спасибо спасибо, а за проезд плати.

Я не в Харькове.
Ну я имею ввиду, что не в ЛНР/ДНРе?
Просто, думаю.. что ж тут делать-то тебе?! Ни работы, ни банков, ни почты. Одни цены только как полагается -- на уровне Мск и выше. В общем, совок такой совок. Украинские каналы почти все пропали.

А Первомайск - сильно. Все дома побиты и все школы, завод, шахта.
У друга квартира родителей сгорела, точнее весь подъезд.
Мде, ппц, не повезло вам, нас меньше зацепило. И что, многие после этого съехали? стёкла многие восстановили? У нас в первые полгода с начала обстрелов город как затих, на улице почти никого, а примерно с весны уже повозвращались многие. Пригородам не хило досталось, многие дома частные разбиты, там две армии на танках схлестнулись. У соседа брата там завалили. Больше полугода обстрелы были, ну ты сам знаешь, а терь вот тишина +-, по крайней мере круглосуточной долбёжки нету как раньше. А в первую весну после войны ездил в Антрацит, так там наоборот кишило всё людьми, хотя у нас город как вымер тогда, меня это оч удивило.
« Last Edit: November 25, 2016, 05:46:08 PM by Cleoss »

Золотой

  • Оплот сообщества
  • ****
  • Posts: 312
    • View Profile
В общем, совок такой совок. Украинские каналы почти все пропали.
Тут не принято банить за политическую пропаганду? Пусть у человека появится больше времени на просмотр любимых каналов, а то видимо сайт для перемогозрад попутал.