Страница 80 из 130
Добавлено: Сб апр 19, 2014 19:58
MVV
Не думаю, что сообщение с
cd поддерживает фильтрацию, я и так из него выжал всё, что можно. Ты не плоди em_, ты сделай одну em_SetFilter, а из TCFS2 пиши в неё команду
cd и выполняй. Итого одна временная команда.
Код: Выделить всё
TCFS2.exe /ef "set_ini(`%%COMMANDER_PATH%%\usercmd.ini`, em_SetFilter, cmd, `cd *.txt`) tem(em_SetFilter)"
Flasher писал(а):Что там по
старому?
Ты про конкатенацию строк для записи в конфиг? Пока всё по-старому.
Впрочем, появилась мысль, как проще всего это добавить: сделать дописывание к существующему строковому значению (что-то вроде #` added` для дописывания строки и ##expr для дописывания результата выражения в виде строки), тогда можно будет за несколько заходов в
set_ini собрать строку из подстрок и числовых значений.
Добавлено: Сб апр 19, 2014 20:20
Flasher
MVV писал(а):Ты не плоди em_, ты сделай одну em_SetFilter, а из TCFS2 пиши в неё команду cd и выполняй.
Править ini для фильтра? Чего-то как-то ...
MVV писал(а):Ты про конкатенацию строк для записи в конфиг?
Не вижу, где там я писал про конкатенацию строк.
Добавлено: Сб апр 19, 2014 20:27
MVV
Править ini для фильтра? Чего-то как-то ...
Тогда делай через
cm_SrcUserDef и
send. Я бы предпочёл запись в конфиг. Временные команды иногда очень удобны - можно и шаблоны поиска/синхронизации загружать, и много чего ещё делать.
Не вижу, где там я писал про конкатенацию строк.
Тогда тем более по-старому. Я мысли читать ещё не научился, а о чем была речь, уже не помню. В твоих же интересах давать прямые ответы вместо загадок.
Добавлено: Сб апр 19, 2014 21:01
Flasher
MVV писал(а):Тогда делай через cm_SrcUserDef и send.
Только не окнопрыг. Лучше уж в ini.
MVV писал(а):Я мысли читать ещё не научился, а о чем была речь, уже не помню.
Там же конкретика про интеграцию макросов (
п.1). Где ты уловил склейку строк?
ToDo не пишешь? Все наши старые запросы насмарку?
Добавлено: Сб апр 19, 2014 22:25
sa
MVV писал(а):Временные команды иногда очень удобны - можно и шаблоны поиска/синхронизации загружать, и много чего ещё делать.
У себя эту временную команду так и назвал em_temp и тоже пользуюсь ей для сиюминутных пользовательских команд. Мне нравится этот способ.
Добавлено: Вс апр 20, 2014 11:38
MVV
Flasher писал(а):Только не окнопрыг. Лучше уж в ini.
Всё познаётся в сравнении.
Flasher писал(а):Там же конкретика про интеграцию макросов (
п.1). Где ты уловил склейку строк?
И как я должен был понять, что "макросы" - это про комбинированные строки при формировании имени секций? Специально отмотал на несколько листов от того поста, ни разу слово "макрос" в этом контексте не употреблялось. Тут по-хорошему надо функцию, склеивающую все параметры в одну строку, но проблема, как вернуть строку. Возможно, проще будет проверять, являются ли строковые параметры составными, типа `hello `6` world`5-6...
Добавлено: Вс апр 20, 2014 12:06
Flasher
MVV
В общем, ты подумай как лучше, а я жду с нетерпением.

Добавлено: Вс апр 20, 2014 15:49
MVV
Бета 440
Чтобы работал режим комбинации, параметр обязан начинаться со строки в косых кавычках, можно с пустой ``. Всё от строк до строк считается выражениями, для разделения выражений - строки, можно пустые.
Код: Выделить всё
TCFS2 /ef "set_ini(`%commander` `_ini%`, `key_` @sid+77 `` 1+2+3, `button_size`, #+5)"
Погоняй хорошенько, все эти параметры должны поддерживать комбинированные строки:
set_ini: inipath, section, key, value; findwnd: class, text; tcd: left_path, right_path; tem: cmd; send: keystrokes
Добавлено: Вс апр 20, 2014 23:04
Flasher
MVV
Спасибо, что быстро отреагировал! Полагаю, это и год назад можно было сделать.

Пока тесты проходят как надо. Немного не разобрался в приведённой строке, а именно в отрезке: @sid+77
`` 1+2+3. Ты же выше писал, что выражения могут разделятся пустыми строками. А зачем тут ``?
Добавлено: Вс апр 20, 2014 23:18
MVV
Если вдруг (в голову ничего не приходит, но мало ли, какая у кого фантазия) тебе надо слить результаты двух независимых выражений, в данном примере
@sid+77 и
1+2+3, их надо разделять пустой строкой (это и есть ``), т.к. если напишешь просто
@sid+77 1+2+3, это сольётся в одно выражение
@sid+771+2+3 (все пробелы вне строк удаляются).
Flasher писал(а):Спасибо, что быстро отреагировал! Полагаю, это и год назад можно было сделать.

А можно было и ещё через год.

Год назад мне идея такой реализации не приходила)
Добавлено: Вс апр 20, 2014 23:53
Flasher
MVV писал(а):их надо разделять пустой строкой (это и есть ``)
А, ты это и имел в виду под пустой строкой, тогда ясно.
Нововведение касается каких-то ещё команд, функций, макросов кроме перечисленных (set_ini, findwnd, tcd, tem, send)?
И ещё. Может, стоит взять какой-то один символ (& или ^, например) для активации режима вместо сдвоенных косых, если первым параметром идёт переменная?
MVV писал(а):Год назад мне идея такой реализации не приходила)
Растёшь.

Добавлено: Пн апр 21, 2014 00:14
MVV
Нововведение касается каких-то ещё команд, функций, макросов кроме перечисленных (set_ini, findwnd, tcd, tem, send)?
В других функциях и в макросах нет строковых параметров, поэтому их это не может касаться (есть, правда,
regmsg и
save_undo, но в них я не стал это добавлять).
И ещё. Может, стоит взять какой-то один символ (& или ^, например) для активации режима вместо сдвоенных косых, если первым параметром идёт переменная?
У меня была мысль о символе-активаторе, но к строкам эта функция отлично подключается и без него (проблемы только с совместимостью - там, где раньше допускались строки без косых кавычек - и с параметром
value при записи в конфиг, где может быть как числовое выражение, так и строка).
Мне кажется, `` - вполне годный активатор в том редком случае, когда выражение надо вставить в начале строки - они не являются чужеродными и за уши притянутыми и при этом однозначно указывают на строковость параметра. Твои же оба являются математическим операторами, пусть и бинарными.
Добавлено: Пн апр 21, 2014 00:49
Flasher
MVV писал(а):В других функциях и в макросах нет строковых параметров
А tcini, ini, set_tcini?
Кстати, активация режима срабатывает для каждого параметра в отдельности или для всех параметров функции?
MVV писал(а):Твои же оба являются математическим операторами, пусть и бинарными.
Какая разница. Ты же в любом случае по первому символу после открывающей скобки проверяешь.
Добавлено: Пн апр 21, 2014 09:55
MVV
А tcini, ini, set_tcini?
Да. Забыл упомянуть их. Все функции для работы с ini (set_ini, set_tcini, ini, tcini) обрабатываются внутри в одном месте, поэтому можно полноценно работать с комплексными именами файлов, секций, ключей и значениями параметров.
Кстати, активация режима срабатывает для каждого параметра в отдельности или для всех параметров функции?
Парсер извлекает каждый параметр отдельно. Но какая разница? Каждое выражение в разных параметрах в любом случае обрабатывается независимо от остальных.
Какая разница. Ты же в любом случае по первому символу после открывающей скобки проверяешь.
Тут проверять надо первый символ каждого параметра, так что чаще:] но я не вижу смысла в добавлении такого ключа, всё и так абсолютно логично.
Добавлено: Пн апр 21, 2014 11:07
Flasher
MVV
ОК. Всё понял.
[mod="Avada"]Последующая цепочка постов про пересылку с FTP и обратно с промежуточным переименованием является в данной теме оффтопом и выделена в
отдельную тему в "Автоматизации".[/mod]