[WFX] VirtualPanel - временная панель для ТК (Unicode)

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Код: Выделить всё

<ifcond "size > 1000 @ \testfile" {<ifok {ага!} {}}
<ifcond {size > 1000 @ \testfile} {<ifok {ага!} {}}
Работают одинаково.

Код: Выделить всё

<ifcond "size < 1000 @ \testfile" {<ifok {ага!} {}}
<ifcond {size < 1000 @ \testfile} {<ifok {ага!} {}}
Работает только вторая.

Ты главное не забывай, что после имени файла не должно быть пробелов - т.е. {size < 1000 @ \testfile} допустимо, а { size < 1000 @ \testfile } - нет (пробел здесь будет считаться частью имени файла, и, естественно, файл не будет найден). К выражению в кавычках предъявляются те же требования.
lsched писал(а):MVV
Посмотри
Ответил.
lsched
Сообщения: 74
Зарегистрирован: Вт окт 20, 2009 08:53
Откуда: Россия, Саратов

Сообщение lsched »

MVV
Разобрался. Из двух команд

Код: Выделить всё

<for %f . * {<ifcond { !script @ %f} {<ifok { %f } {} } }
<for %f . * {<ifcond { !script @ %f } {<ifok { %f } {} } }
работает только первая. Как видно, разница в одном пробеле. И если взять %f в кавычки - это тоже не спасает. Но здесь то подстановка! Пробел не должен попадать в имя файла!
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

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

А где связь между подстановкой и пробелом? Подстановка подставляет вместо %f имя файла. Пробел после %f подстановка не трогает - если он там есть, он там и останется, и будет передан команде ifcond, которая будет считать его частью имени файла - откуда ей знать, должен он входить в имя файла или нет.
lsched
Сообщения: 74
Зарегистрирован: Вт окт 20, 2009 08:53
Откуда: Россия, Саратов

Сообщение lsched »

MVV
Я никак не ожидал такой засады. Вообще то все давно привыкли к стандартному синтаксису - короткое имя задается просто параметром, длинное - параметр в кавычках. Да и обычные имена стандартно обрабатываются также - нужно имя с пробелами - ставь кавычки. Все лишние пробелы в команде должны отбрасываться.
Может стоит привести синтаксис к стандарту?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Здесь не совсем обычный случай. Сам параметр уже в кавычках, поэтому дополнительные кавычки не к месту. Я не думаю, что так уж и сложно будет запомнить, что в одном единственном месте пробел ставить перед закрывающей фигурной скобкой нельзя. Кавычки нужны для того, чтобы программа понимала, что параметр может включать пробелы, но ведь у тебя никогда не возникало мысли поставить пробел перед закрывающей кавычкой? Почему тут возникает?
Вахмурка писал(а):Пожелания:
1. Ограничение размера протокола (как это сделано в ТС).
2. Комментарии.
3. Экспорт скриптов из ВП простым перетаскиванием.
Ограничение размера лог-файла добавил, следуя твоим рекомендациям.

Комментарии... Что это и как ты их будешь смотреть? Для обычных файлов ты и так можешь читать комментарии с помощью стандартных контентных полей ТК. Комментарий для скрипта? Думаю, проще создать текстовый файл вручную, т.к. автоматизировать процесс показа комментариев все равно не удастся.

Экспорт скриптов... А есть ли смысл? Все равно для каждого файла скрипта придется вручную корректирвать имя при его копировании. Скопировать текст скрипта и так можно, нажав F3 и Ctrl+C. А то потом еще и импорт захотите. :) Экспорт скрипта и так возможен, даже вместе с именем, командой <save.
lsched
Сообщения: 74
Зарегистрирован: Вт окт 20, 2009 08:53
Откуда: Россия, Саратов

Сообщение lsched »

MVV писал(а):Я не думаю, что так уж и сложно будет запомнить, что в одном единственном месте пробел ставить перед закрывающей фигурной скобкой нельзя.
Запомнить несложно, только зачем? И так почти для каждой проги нужно помнить какие-то тонкости, стоит ли добавлять еще? Не проще в одном единственном месте отбросить все символы между именем и кавычкой?
MVV писал(а):у тебя никогда не возникало мысли поставить пробел перед закрывающей кавычкой? Почему тут возникает?
Как там, дай бог памяти, в молодости баловался...

Код: Выделить всё

while ( i < 10 ) 
{ 
   begin 
      i++
   end. 
}
Так вроде? :)
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

За лог спасибо. А то у меня после всех этих экспериментов он уж полметра набрал.
Насчет комменатриев. В том-то и пожелание, что комментарий к файлу и к его ссылке - разные. Комментарии к ссылкам живут только внутри ВП. Причем это по смыслу должны быть именно описания ссылки - зачем положил, когда... Ну, нет так нет.
А по поводу экспорта скриптов - см. твою дискуссию с VadiMGP в другой ветке. Насчет listbox'а я с тобой согласен - точно знаю, что там был класс TMyListBox, то есть порожденный Гислером от TListBox и унаследовавший основные методы. А вот по поводу экспорта скриптов мы с ним солидарны.
Итого счет 2:1 в твою пользу.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Ты преспокойно можешь добавлять к любой команде любое число параметров, и писать в них что вздумается.

Например, берешь команду <silent, которая ничего не делает, но препятствует показу всяких там сообщений об ошибках в скрипте, вставляешь ее первой в скрипт и указываешь ей первым параметром текстовую строку-комментарий. В результате ты ее всегда будешь видеть, и в то же время это никак не отразится на работе скрипта.

Код: Выделить всё

<silent "я многа выпил кагда писал ето, лучше ево не запускать ваще"<ifok "ты внатуре нибаисся?" {<del /rfd \*}
:D
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Попробовал. Допустим, я кладу в ВП ссылку на файл file.ext и хочу ее (ссылку) прокомментировать:

Код: Выделить всё

<add >file.ext {<silent "comment for file.ext"}
Тогда появляется "файл" >file.ext, и при нажатии F3 я вижу

Код: Выделить всё

<silent "comment for file.ext"
Это здорово (комментарий хоть и с лишней информацией, но читается). Далее - что значит "всегда видеть"? Разве я "всегда вижу" не имя скрипта с префиксом ">", а вовсе не его текст? А если я делаю имя скрипта нулевым, выходит вообще ерунда: ">{<silent".
Да и потом, как я понял из твоего поста, я "всгда вижу" комменатрий к текущей виртуальной директории, а не к файлу.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Начнем с того, что коммент из ТК ты никак не увидишь, а так у тебя будет возможность видеть коммент, например, нажав F3 на скрипте.

А ссылки на файлы комментировать нельзя. Комментировать можно сами файлы, на которые ссылка ссылается - причем, средствами ТК. Я думал, ты хочешь комментировать скрипты, а не файлы.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Начнем с того, что коммент из ТК ты никак не увидишь, а так у тебя будет возможность видеть коммент, например, нажав F3 на скрипте.
Ты, видио, не понял, о чем я писал. Идея такова: для каждой ссылки создать одноименный (с неизбежной поправкой на префикс ">") скрипт, не содержащий ничего, кроме комментария. Это хоть корявенько, но получилось - нажимая F3 на соответствующем скрипте, я вижу комментарий к одоименному файлу.
А ссылки на файлы комментировать нельзя
Выходит, можно ;). Пусть и нет в VP аналога режима "File Comments Ctrl+Shift+F2", где я могу "всегда" видеть комментарии.
Я думал, ты хочешь комментировать скрипты, а не файлы
Тоже было бы неплохо. А то код у твоих скриптов такой, что без поллитры... А тут - описание:
lsched писал(а):Скрипт для удаления ссылок на несуществующие файлы (рекурсивный)
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Ну, как делать комменты к скриптам, я уже писал в этом посте. Считаю способ вполне нормальным - нажал F3 и увидел, что делает скрипт.

Аналог Ctrl+Shift+F2 есть, просто надо настраивать вручную - добавляешь колонку [=tc.comment]. Включать можно, назначив на клавишу набор колонок (опять надеюсь, Гислер исправит глюк с переключением колонок).


VirtualPanel 1.0.0.416 (изменения относительно 1.0.0.408):
+ ifcond понимает относительные пути
+ функция ограничения размер лог-файла
* проверка существования скрипта автообновления перед попыткой выполнить (спасает от некоторых ошибок)
* %0 в скриптах понимается как имя файла скрипта
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Аналог Ctrl+Shift+F2 есть, просто надо настраивать вручную - добавляешь колонку [=tc.comment]
Это понятно, но так я вижу комментарий к файлу, а не к ссылке на него.
А трудно ли сделать следующее:

Код: Выделить всё

<descript <virtual_name> "комментарий"
Команда создает скрипт с именем ">virtual_name". Скриптничего не делает. При нажатии F3 на скрипте выдается окно с традиционным ;) заголовком "File not found!" и с текстом "комментарий". Например, если я кладу ссылку на файл "Отчет-2010.doc" и выдаю команду

Код: Выделить всё

<descript \Отчет-2010.doc "Для отправки в министерство"
Появляется файл >Отчет-2010.doc. Нажав на нем F3, вижу "Для отправки в министерство".
А можно (поскольку скрипт ничего не должен делать) сделать нажатие Ввода эквивалентным F3.
Мне кажется, такая команда будет востребованной. По крайней мере мной.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Во-первых, я не могу сделать обработку ввода как F3 - ТК обрабатывает их по-разному. Если на F3 ТК запрашивает путь к файлу и открывает его сам в листере, то на ентер он говорит, что надо запустить файл.

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

Продумай скрипт, который автоматизирует процесс. Например,

Код: Выделить всё

<add \>descript {<add ">%1" {<silent "%2"}}
Запускать так:

Код: Выделить всё

\>descipt "Отчет-2010.doc" "Для отправки в министерство"
Правда, нужно будет писать только имя файла, и создаваться он будет в текущей папке.

Все равно неудобно для отдельного файла держать отдельный файл с комментарием.

Широту мысли сильно ограничивает невозможность запуска файлов виртуальной файловой системы непосредственно из ТК, скажем, из юзер-команды или кнопки тулбара. Если такая возможность появится (это предложение C отсюда), можно будет ввести новые команды, писать для них скрипты и вешать их на хоткеи - например, для показа или изменения комментария текущего файла. Короче, использовать скрипты VP станет куда удобнее.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Во-вторых, это что, ты для каждого файла хочешь создавать рядом скрипт?
Политика для комменатриев к ссылкам точно такая же, как политика для комменатриев к файлам. Никто же не думает, что надо создавать комментарии для всех файлов, правда?
И потом, ты и так можешь создавать любой файл скрипта с любым содержимым. И на F3 ТК будет ругаца и показывать сообщение с текстом скрипта.
Собственно, пока так и получается: сначала врукопашную, а в последнем посте ты предложил, скажем так, полуавтоматический способ. Работает, спасибо. Хотелось бы избавить комментарий от "<silent". Скажем, так: при просмотре скрипта, содержащего только

Код: Выделить всё

<descript "текст"
в окне ошибки выдается не

Код: Выделить всё

<descript "текст"
а

Код: Выделить всё

текст
Если предложенную мной команду сложно реализовать - бог с ней. Если просто - народ тебя не забудет.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Ответить