Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Руководство по WM_COPYDATA
Goto page Previous  1, 2, 3
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
LonerD



Joined: 04 Jan 2011
Posts: 1011
Location: Донецк

Post (Separately) Posted: Thu Apr 23, 2015 18:17    Post subject: Reply with quote

Flasher wrote:
Хм. Сравнение без %, а вывод с?

В выражениях имена переменных не обрамляются знаками процента. Исключением являются массивы и другие структуры с двойной отсылкой. В результате, чтобы в выражениях различать переменные и буквальные строки, последние необходимо заключать в двойные кавычки.
А в msgbox переменные только с процентами нужно записывать, иначе это считается за текст.
В любом случае можно обрамить с обоих сторон знаком % (старый способ) или поставить один знак %, затем пробел и переменную (а параметры %1%, %2% и т.д. вроде обязательно двумя % надо обрамлять)
Равноценные записи:
MsgBox, % retVal
MsgBox, %retVal%
В синтаксисе много неочевидных вещей, сокращений (например, после MsgBox в предыдущем примере запятые можно опустить)... Частично это пытаются исправить в AHK 2.0, которая уже несколько лет всё ещё на стадии альфы.


Добавлено спустя 1 час 27 минут:

Just another working AHK script - скромно охарактеризовал автор свой скрипт.
Он хоть и на пять строк длиннее (если это суть важно), зато всё-в-одном - и данные получать (причём сразу можно их в желаемую переменную пихать), и пользовательские команды выполнять, и команду CD выполнять.
_________________
Total Commander DreamLair - мечтать всегда, мыслить тотально, быть командиром жизни
Win10 x64 HE SL Eng | TC DreamLair v2018 eternal pre-α (9.0a x32+x64) | AkelPad Lair v2018α (4.9.9 x86) | Slimjet Lair v2018α
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12227
Location: Москва

Post (Separately) Posted: Fri Apr 24, 2015 02:55    Post subject: Reply with quote

LonerD
В общем, суть ясна. Забытое вернуть можно лишь подсказкой и практикой.
SN на твоём месте я бы не стал трогать. Слишком много кода, когда есть параметр.
Остаётся пока вопрос - как заполучить список (в т.ч. выделенный) без буфера?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1011
Location: Донецк

Post (Separately) Posted: Fri Apr 24, 2015 04:27    Post subject: Reply with quote

Flasher wrote:
Остаётся пока вопрос - как заполучить список (в т.ч. выделенный) без буфера?

Я не знаю даже как это сделать с буфером... Именно выделенные файлы.
Flasher wrote:
я ... использую механизм Хелпера, там он берёт только выделенное.

А вот интересно - как Хелпер берёт только выделенное, как в нём работает GetSrcSelectedFiles, какие механизмы задействует... Возможно, их можно было бы и без усилий переложить на Autohotkey. Только вот исходников Хелпера не выложено...
_________________
Total Commander DreamLair - мечтать всегда, мыслить тотально, быть командиром жизни
Win10 x64 HE SL Eng | TC DreamLair v2018 eternal pre-α (9.0a x32+x64) | AkelPad Lair v2018α (4.9.9 x86) | Slimjet Lair v2018α
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12227
Location: Москва

Post (Separately) Posted: Fri Apr 24, 2015 05:23    Post subject: Reply with quote

LonerD wrote:
Я не знаю даже как это сделать с буфером... Именно выделенные файлы.
Там не выделенные, а выбранные. А как не трогать под курсором - уже не тут.
LonerD wrote:
Только вот исходников Хелпера не выложено.
И что? Ты бы многое почерпнул? Smile
Меня же больше интересует отображаемый список.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12227
Location: Москва

Post (Separately) Posted: Sun Nov 22, 2015 12:32    Post subject: Reply with quote

Нашёлся один баг. В "Сеть/FS-плагины" число элементов возвращает на один больше.
Есть кому сообщить?

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Mon Nov 23, 2015 10:28; edited 1 time in total
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1041

Post (Separately) Posted: Mon Nov 23, 2015 00:34    Post subject: Reply with quote

Flasher
Win7x64, обе разрядности ТС, AutoIt 3.3.8.1, 3.3.12.0 и 3.3.14.2: не подтверждаю.
WinXP SP3, WinPE на базе WinXP SP2 аналогично без проблем.
Отправляю "SC", "TC", "LC", "RC".
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12227
Location: Москва

Post (Separately) Posted: Mon Nov 23, 2015 10:04    Post subject: Reply with quote

Отбой. Я не обратил внимания, что <Обновить>.<lnk> - это файл, а смотрел только на число папок.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12227
Location: Москва

Post (Separately) Posted: Thu Dec 28, 2017 02:18    Post subject: Reply with quote

CD в отличии от стандартной команды не входит в папки архива при нахождении в нём. Например, установим курсор на C:\Test.zip\Folder.
Code:
│ Команда │       Параметры       │ Результат │
│—————————————————————————————————————————————│
│ cd      │ %V%Z                  │     +     │
│ TCFS2   │ /ef "tcd(`%V%Z\`,,S)" │     -     │
Кто сообщит?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4503
Location: Ростов-Дон

Post (Separately) Posted: Fri Jan 12, 2018 14:53    Post subject: Reply with quote

А разве в CD в принципе поддерживаются %-параметры вне панели инструментов и EM-команд? Если надо, можно юзер-команду сделать с %-параметрами и дергать из TCFS2...
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 8711
Location: Россия, Саратов

Post (Separately) Posted: Fri Jan 12, 2018 14:59    Post subject: Reply with quote

MVV
Как минимум, в меню "Запуск" должны поддерживаться. И (при некотором умении, если указывать не через стандартный диалог TC) в меню избранных каталогов.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4503
Location: Ростов-Дон

Post (Separately) Posted: Fri Jan 12, 2018 16:00    Post subject: Reply with quote

Согласен, мест, где %-параметры поддерживаются, больше, чем я указал, однако основная мысль была о том, что нельзя просто так взять и использовать %-параметры в командной строке тотала или в команде CD, выполняемой через WM_COPYDATA.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12227
Location: Москва

Post (Separately) Posted: Fri Jan 12, 2018 20:50    Post subject: Reply with quote

MVV
Столбец "Параметры" подразумевает одноимённое поле в настройке кнопки/юзеркоманды. %-ы никакого отношения к делу не имеют. Это проверочные данные для воспроизведения.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4503
Location: Ростов-Дон

Post (Separately) Posted: Fri Jan 12, 2018 22:16    Post subject: Reply with quote

А, так понятнее.

Надо сказать, что из комстроки тотала команда входит в папку в архиве по полному пути, только если мы находимся где-то внутри архива:
Code:
cd D:\test.zip\Folder\

Аналогично с кнопкой панели инструментов (присутствие %Z в данном случае ничего не решает):
Code:
cd
D:\test.zip\Folder


Т.е. комстроку тоже надо корректировать? А вход в архив через аргументы тотала работает?
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12227
Location: Москва

Post (Separately) Posted: Fri Jan 12, 2018 22:21    Post subject: Reply with quote

MVV wrote:
только если мы находимся где-то внутри архива:
А я так и написал:
Flasher wrote:
при нахождении в нём

MVV wrote:
присутствие %Z в данном случае ничего не решает
%Z, как известно, нужен исключительно при наличии других переменных параметров ТС. В моём случае это %V.
MVV wrote:
Т.е. комстроку тоже надо корректировать?
Суть не в том, на какой строке параметры. Суть в самом поведении.
MVV wrote:
А вход в архив через аргументы тотала работает?
В корень? А почему нет-то? Конечно.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3
Page 3 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group