Author Topic: Кавычки  (Read 6735 times)

0 Members and 1 Guest are viewing this topic.

Золотой

  • Оплот сообщества
  • ****
  • Posts: 312
    • View Profile
Кавычки
« on: September 27, 2016, 10:44:03 AM »
Придумал, кто-нибудь "костыли" помогающие бороться пожиранием Clickermann КАВЫЧЕК в текстовых файлах?
Я в стороннем редакторе ищу и выделяю все кавычки, затем заменяю их на ККК и в таком виде скармливаю Clickermann.
Делаю необходимые действия для данного скрипта с данным текстовым документом и сохраняю результат.
При выводе  Подпрограммой проверяю в строках наличие ККК, сначала в начале и конце строки, затем разбиваю строку на подстроки используя ККК, как разделитель.
Вывод строки только нажатием клавиш. Вместо ККК нажимаются кавычки, между ними подстроки из массива.
Но, имеющееся решение, меня категорически неустраивает по целому ряду недостатков.
« Last Edit: September 27, 2016, 03:27:29 PM by Золотой »

i0

  • Оплот сообщества
  • ****
  • Posts: 353
  • CMann 4.13.014 final, ie, presto, win7 x86, x64
    • View Profile
Re: Кавычки
« Reply #1 on: September 27, 2016, 02:26:05 PM »
для облегчения ходьбы можно использовать вместо редактора консольную утилиту для замены текста в файле
дальше по тому же алгоритму

Atas

  • Активный участник
  • ***
  • Posts: 147
    • View Profile
Re: Кавычки
« Reply #2 on: September 27, 2016, 03:18:34 PM »
Всем привет! :)
Вот нехилая утилита - Swiss File Knife (SFK), постоянно выручает как с кавычками, так и с сортировкой.

Для замены текста в файле: например - меняем двойные кавычки на одинарные
Code: [Select]
sfk replace input.txt /\"/'/ -yes
Для сортировки строк файла:
Code: [Select]
sfk filter input.txt +sort +tofile output.txt
Затем, можно отслеживать завершение работы cmd через буфер обмена (если применялось что-то типа Bat To Exe Converter), либо по появлению и закрытию окна командной строки по HWND (второе надежней, т.к. КМ и cmd.exe могут подраться за монопольный доступ к буферу обмена).
« Last Edit: September 27, 2016, 03:38:28 PM by Atas »

YoClickamann

  • Освоившийся
  • **
  • Posts: 28
    • View Profile
Re: Кавычки
« Reply #3 on: September 30, 2016, 01:39:04 PM »
Только что заглянул в файл справки Нирсофта About/Using NirCMD, и сразу там встретилось в таблице "Special String Sequences", что вместо двойных кавычек в команде можно писать ~q, может поможет и тут, если передавать переменные через нир. Нир наверняка умеет копировать/читать в буфер, а раз уж функция keystring() в кликере не работает правильно, то можно попытаться воспользоваться и нировскими костылями. Кстати, было б круто использовать такие подстановки для строк в Кликермене вроде нировских ~q, ~n (для обозначения новой строки).

Или в кликере в строках как-то можно писать абзац и табуляцию? Иначе придётся городить огород с массивами, разбиением на строки, заменой, сборкой результата обратно в одно целое.
Да разве могут дети юга где розы блещут в декабре
Где не разыщешь слова вьюга ни в памяти ни в словаре
Да разве им хоть так хоть вкратце хоть на минуту хоть во сне
Хоть ненароком догадаться что значит думать о весне?
Что значит в мартовские стужи когда отчаянье берёт
Всё ждать и ждать как неуклюже..

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Кавычки
« Reply #4 on: September 30, 2016, 02:09:11 PM »
Не касательно к теме обсуждения.

а раз уж функция keystring() в кликере не работает правильно...

Функция KEYSTRING работает правильно! Она всегда работала правильно.
Все упорно предполагают что она должна вводить(печатать) символы из текстовой переменной. Но она для этого не предназначена.
KEYSTRING - нажимает виртуальные клавиши соответственно символам строки. Если на клавише несколько символом ( внезапно ;D), то сработает в зависимости от режима клавиатуры и языка ввода.
Все SHIFT, CTRL, ALT, CAPSLOCK и ноутбуковские спецкнопки с включенным языком на это влияют.

KEYSTRING это агрегатор KEYPRESS , что бы избавится от последовательностей вида
Code: (clickermann) [Select]
KEYPRESS(#q)
WAITMS(30)
KEYPRESS(#w)
WAITMS(30)
KEYPRESS(#e)
WAITMS(30)
KEYPRESS(#r)
WAITMS(30)
KEYPRESS(#t)
WAITMS(30)
KEYPRESS(#y)
WAITMS(30)

Давно просили ввести другую функцию, которая будет вводить (или что там... выводить?) последовательность символов.
Она очень нужна, но это другая функция
« Last Edit: September 30, 2016, 02:13:55 PM by Vint »


YoClickamann

  • Освоившийся
  • **
  • Posts: 28
    • View Profile
Re: Кавычки
« Reply #5 on: September 30, 2016, 02:30:43 PM »
сработает в зависимости от режима клавиатуры и языка ввода.
Все SHIFT, CTRL, ALT, CAPSLOCK и ноутбуковские спецкнопки с включенным языком на это влияют.
Она очень нужна, но это другая функция

В том то и соль, что ни одну клавишу-модификатор нельзя использовать с кейстрингом, хотя это очевидно нужно; это и порождает множество лишних строк кода в виде пар ctrlUp +ctrlDown. А насколько было бы проще, если б в самой функции keystring() можно было б применять подстановки вроде #CTRL?!! Которые кстати уже есть в виде констант кодов клавиш. Это ещё не говоря про привязку, с ней та же проблема, её тоже нужно отключать, чтоб ввести в окно клавиши ctrl или shift.

Это другая фунция и другая история  :)
Да разве могут дети юга где розы блещут в декабре
Где не разыщешь слова вьюга ни в памяти ни в словаре
Да разве им хоть так хоть вкратце хоть на минуту хоть во сне
Хоть ненароком догадаться что значит думать о весне?
Что значит в мартовские стужи когда отчаянье берёт
Всё ждать и ждать как неуклюже..

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Кавычки
« Reply #6 on: September 30, 2016, 02:33:34 PM »
А насколько было бы проще, если б в самой функции keystring() можно было б применять подстановки вроде #CTRL?!!
Это да, было бы хорошо. Но все уже об этом помечтали и пошли делать по другому.
Я на заре пользования даже пробовал их туда вставить  :D


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Кавычки
« Reply #7 on: September 30, 2016, 02:42:39 PM »
Это ещё не говоря про привязку, с ней та же проблема, её тоже нужно отключать, чтоб ввести в окно клавиши ctrl или shift.
Я пол интернета облазил, когда искал решение нажимать с ctrl или с shift через POSTMESSAGE.
Решения не нашёл. Вычитал, что оказывается в системе помимо буфера клавиатуры есть ещё какие-то флаги влияющие на то с шифтом выводится символ или нет. И вот их нужно менять, а эти флаги только в одном экземпляре и они относятся только к активному окну. В неактивное окно посылаем сообщение, а система читает флаги из активного. И скорее всего отдельно их не задать. Если исхитриться, то можно поменять только в активном на время, но это будет влиять при работе. Смысл тогда в привязке если шифт с контролом будут включаться когда захотят.


YoClickamann

  • Освоившийся
  • **
  • Posts: 28
    • View Profile
Re: Кавычки
« Reply #8 on: September 30, 2016, 03:06:20 PM »
Я пол интернета облазил, когда искал решение нажимать с ctrl или с shift через POSTMESSAGE. Решения не нашёл.
Полынтернета в смысле русского? Или MSDN тоже, который советуется в справке? Может, нашим программерам не нужны эти постмессаджи или они спрашивают об этом на буржуйских сайтах.

Вычитал, что оказывается в системе помимо буфера клавиатуры есть ещё какие-то флаги влияющие на то с шифтом выводится символ или нет. И вот их нужно менять, а эти флаги только в одном экземпляре и они относятся только к активному окну.
Это что-то вроде 16-ого кода-псевдонима для клавиш, который вычисляется методом сложения кодов отдельных кодов клавиш, входящих в клавиатурную комбинацию? Или это другое и задаётся по-другому?
Да разве могут дети юга где розы блещут в декабре
Где не разыщешь слова вьюга ни в памяти ни в словаре
Да разве им хоть так хоть вкратце хоть на минуту хоть во сне
Хоть ненароком догадаться что значит думать о весне?
Что значит в мартовские стужи когда отчаянье берёт
Всё ждать и ждать как неуклюже..

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Кавычки
« Reply #9 on: September 30, 2016, 03:11:17 PM »
MSDN тоже немного. Через переводчик.
Остальное не в курсе.

Пол интернета, конечно образно. Но пару раз очень долго посидел пока не надоело.

Мне привязка собственно не нужна. Больше того, я её не люблю :D. В начале тоже был восторг, эйфория от потенциальных возможностей. На практике это почти никогда не нужно.
В крайнем случае есть виртуалка и VDS. Хоть обзапускайся кликеров.
« Last Edit: September 30, 2016, 03:18:27 PM by Vint »


YoClickamann

  • Освоившийся
  • **
  • Posts: 28
    • View Profile
Re: Кавычки
« Reply #10 on: September 30, 2016, 10:28:02 PM »
Мне привязка собственно не нужна. Больше того, я её не люблю :D. В начале тоже был восторг, эйфория от потенциальных возможностей. На практике это почти никогда не нужно.
В крайнем случае есть виртуалка и VDS. Хоть обзапускайся кликеров.

За годовую цену ВДСа я лучше куплю себе парочку новых компов :) Были б у всех вдсы, так не нужны были негры.
А как же с привязкой? Ведь вы же где-то сами писали, что вроде и сам автор программы пропагандирует привязку. Да и как же сделать нужное действие в фоне? А что, неужели ни в одном другом кликере нету такого режима привязки?
Да разве могут дети юга где розы блещут в декабре
Где не разыщешь слова вьюга ни в памяти ни в словаре
Да разве им хоть так хоть вкратце хоть на минуту хоть во сне
Хоть ненароком догадаться что значит думать о весне?
Что значит в мартовские стужи когда отчаянье берёт
Всё ждать и ждать как неуклюже..

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Кавычки
« Reply #11 on: October 03, 2016, 08:24:07 AM »
Какие же дешёвые у вас компы стали  ;D
Автор пропагандирует, я нет.

Пару действий можно и сделать. Послать POSTMESSAGE если возможно.

Есть конечно. Но большинство "проблем" с работой с неактивными окнами  относится не к кликерам, а к самим программам.


Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
Re: Кавычки
« Reply #12 on: June 01, 2017, 07:08:33 PM »
Темо кавычег нираскрыдо11
Может, я чё-то там и пропустил, как всегда))
Но как к примеру вставить текст с кавычками в буфер для скрипта отсюда, конкретно интересен этот кусок листинга:

Code: (clickermann) [Select]
$clpbd=strconcat("if_picture_in (",$xm+11,",",$ym+11,", ",$xmm-10,",",$ymm-10,", ",$fl3,") if_picture_in ($_xmax-",$_xmax-($xm+11),",$_ymax-",$_ymax-($ym+11),", $_xmax-",$_xmax-($xmm+10),",$_ymax-",$_ymax-($ymm+10),", ",$fl3,")")
toclip($clpbd)

А то текст конкатенируется без кавычек, а как их тут экранировать, я не в курсах(
Может, попробовать /":D