А почему? В запрещённых символах только двойные кавычки `"`.MVV писал(а):Ничего не сделаешь, не поддерживаются пути с '`'.
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
Может, двойной символ сгодится?MVV писал(а):Возможно, стоит сделать этот эскейп-символ настраиваемым...
Под средствами TCFS2, я полагаю, имелась в виду работа с окнами, а не конф. файлами. А по ссылке я уже отписался.sa писал(а):Если часть включает конец панели инструментов, то вроде как можно.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Я бы не стал пользоваться таким трюком: если тотал действительно учитывает этот параметр, и ты забудешь переключить панель в полный режим, можно потерять кнопки.sa писал(а):Если часть включает конец панели инструментов, то вроде как можно.
Потому что в TCFS2 этот символ обрабатывается особенным образом - он задаёт начало и конец текстового аргумента.Skif_off писал(а):А почему? В запрещённых символах только двойные кавычки `"`.
Такой фокус не решит проблемы передачи имени с таким символом в качестве параметра, т.к. удваивать его придётся вызывающей стороне. В то же время задание заменителя для этого символа позволило бы тебе выбрать такой символ, который в твоих именах точно не встретится (уж в Юникоде-то таких навалом).Flasher писал(а):Может, двойной символ сгодится?
Если забыть включить вкладки и закрыть ТК, то все вкладки исчезнут. Тем не менее, команда dt0 (отключить вкладки каталогов) имеется в TCFS2.MVV писал(а):если ... ты забудешь переключить панель в полный режим, можно потерять кнопки.
Так же и с кнопками: если кому-то этот трюк будет нужен, то он не забудет переключить панель в полный режим при её редактировании, а забудет - воспользуется предусмотрительно созданной копией файла панели.
Точно. Не сообразил. А искать в качестве замыкающего не следующий, а последний символ в в параметре ты не можешь?MVV писал(а):т.к. удваивать его придётся вызывающей стороне
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Вкладки - это всё-таки стандартный функционал. И мы её и так убрали из fs, кроме того, в TCFS2.ini у этой команды есть предупреждающий комментарий.sa писал(а):Если забыть включить вкладки и закрыть ТК, то все вкладки исчезнут. Тем не менее, команда dt0 (отключить вкладки каталогов) имеется в TCFS2.
Так же и с кнопками: если кому-то этот трюк будет нужен, то он не забудет переключить панель в полный режим при её редактировании, а забудет - воспользуется предусмотрительно созданной копией файла панели.
А здесь тогда уж лучше сразу делать резервную копию перед переключением. Но всё равно такому извращению не место в стандартной поставке TCFS2.
А тут нет общего алгоритма. Косая кавычка может быть закрывающей, а может быть и не закрывающей, а после неё в имени могут быть скобки, запятые и т.п... Да и после команды, которой передаётся имя файла, могут быть указаны другие команды, в которых тоже есть косые кавычки.Flasher писал(а):Точно. Не сообразил. А искать в качестве замыкающего не следующий, а последний символ в в параметре ты не можешь?
MVV
ОК. Есть такое дело. Вообще странно, что ты не выбрал какой-то из запрещённых символов (? ; < > |). Первые два не являются мат. операторами. Нельзя там в коде закинуть условие типа If N == ` OR ; , например? Или непосредственно для tcd экранировать всё, что внутри <>, там текст, сравнению не подлежит, к тому же символы разные, а значит, конец легко отделить от начала.
ОК. Есть такое дело. Вообще странно, что ты не выбрал какой-то из запрещённых символов (? ; < > |). Первые два не являются мат. операторами. Нельзя там в коде закинуть условие типа If N == ` OR ; , например? Или непосредственно для tcd экранировать всё, что внутри <>, там текст, сравнению не подлежит, к тому же символы разные, а значит, конец легко отделить от начала.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Зачем в tem? Там в основном только константы используют. Или есть другие примеры?
Зачем в tem? Там в основном только константы используют. Или есть другие примеры?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Я выбрал такой, который более-менее похож на кавычку, и в то же время является достаточно редким (хотя, конечно, я не принимал в расчёт языки кроме русского и английского). Но если так пошло, то любой символ может потребоваться внутри строкового выражения... Мало ли, захочу записать в INI ColorFilter1=>Autorun, Options1=-1|0 или ещё что-нибудь покруче.Вообще странно, что ты не выбрал какой-то из запрещённых символов
А заводить функции-любимчики, для которых готовить отдельно - не самый лучший вариант.
Всё-таки, лучше всего будет просто ввести альтернативный символ кавычки и, если строка начинается с него, то и конец строки тоже определять по нему. Тогда косая кавычка будет работать везде кроме таких узкоспециализированных мест. Правда, тогда TCFS2.ini надо будет хранить в юникоде.
Так ты уже завёл. send c @ и ~.MVV писал(а):А заводить функции-любимчики, для которых готовить отдельно - не самый лучший вариант.
Ладно бы TCFS2.ini, а bar-ы, usercmd.ini, wcmd_lng.ini, mnu, да и wincmd.ini туда же. Не, лучше всё таки сразу <>, чем все эти ненужности.MVV писал(а):Правда, тогда TCFS2.ini надо будет хранить в юникоде.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Вот не надо ~ сюда втягивать, она внутри строки парсится. А @ - да, действительно, но там она скорее как дополнительный параметр, строка парсится по общим правилам.Так ты уже завёл. send c @ и ~.
Ну ты бы мог, скажем, выбрать символ ±... Не ахти какая кавычка, зато редкий.Ладно бы TCFS2.ini, а bar-ы, usercmd.ini, wcmd_lng.ini, mnu, да и wincmd.ini туда же. Не, лучше всё таки сразу <>, чем все эти ненужности.
Мне кажется, что если делать - так делать для общего случая. А то завтра ты (или кто-то ещё) захочешь возможность записывать в INI строки с косой кавычкой...
Последний раз редактировалось MVV Ср дек 23, 2015 01:38, всего редактировалось 2 раза.