[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: Andrey_A, ХарВик, chip642  
Форум » • Total Commander • » Кнопки для Total Commander » ЗАКАЗ КНОПОК
ЗАКАЗ КНОПОК
ХарВикДата: Вторник, 17.04.2012, 21:49 | Сообщение № 1
Генералиссимус

На сайте с: 29.01.2012
Город: Черкассы
Сообщений: 1629
Награды: 18
Репутация: 18
ЗАКАЗ КНОПОК




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


Группа TCIMG в Telegram

.
 
chip642Дата: Вторник, 29.03.2016, 20:13 | Сообщение № 691
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
Цитата simup ()
Задача: скопировать\переместить один на другой с заменой ВСЕГО.

Ну, если надо заменить( скопировать\переместить) содержимое одной папки точной копией содержимого другой, то попробуйте такую кнопку (позаимствовал принцип работы из моей кнопки для быстрой замены папок из бэкапа).

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
imgpr=1 delss=PS<%T%M>||1 copys=FOLDC<%L!!0!!0>||%T%M
Wcmicons.dll,97
в папке другой панели создать точную копию содержимого папки под курсором

-1

Данной кнопке всё равно, какие файлы в папке другой панели, содержимое просто заменится начисто на содержимое папки под курсором.
 
simupДата: Вторник, 29.03.2016, 20:18 | Сообщение № 692
Генерал-лейтенант

На сайте с: 26.01.2012
Город: Уфа
Сообщений: 535
Награды: 6
Репутация: 7
Цитата chip642 ()
содержимое просто заменится начисто на содержимое папки под курсором.
[ 46.44.55.32 (RU) ]

Именно это и нужно!
Буду посмотреть...


Пишите, звоните.
 
simupДата: Среда, 30.03.2016, 16:52 | Сообщение № 693
Генерал-лейтенант

На сайте с: 26.01.2012
Город: Уфа
Сообщений: 535
Награды: 6
Репутация: 7
Andrey_A, предлагаю внести в TCIMG представленное chip642
Цитата chip642 ()
Прописать шаблоны диалогов в TCIMG.lng (или в TCIMGU.lng)


Код
InputBox86=Назначение атрибутов|Введите со знаком "+" в начале строки нужные атрибуты(+RASH), где:@CRLF@CRLFR - только для чтения@CRLFA - архивный@CRLFS - системный@CRLFH - скрытый||300|220

InputBox87=Снятие атрибутов|Введите со знаком "-" в начале строки  нужные атрибуты(-RASH), где:@CRLF@CRLFR - только для чтения@CRLFA - архивный@CRLFS - системный@CRLFH - скрытый||300|220
Shape19=Назначение атрибутов


Отлично реализовано!!


Пишите, звоните.
 
simupДата: Среда, 30.03.2016, 19:40 | Сообщение № 694
Генерал-лейтенант

На сайте с: 26.01.2012
Город: Уфа
Сообщений: 535
Награды: 6
Репутация: 7
chip642, попробовал твою кнопочку - годится, спасибо!

Чисто в порядке обсуждения:

1. Если в каталоге назначения нет папки с именем исходного каталога, то копируется содержимое исходного каталога, что понятно.
Но вот результат непонятен мне пока - буду посмотреть ещё.
скрин 1

2. Если невозможно удалить каталог в панели назначения (например, я забыл, что некоторые файлы используются системой), то происходит полное игнорирование этих файлов.
Но затем всплывают ошибки в запущенных программах (например так: невозможно определить путь E:\TEMP\Name\TC IMAGE\AkelFiles\Tools\CLCL\CLImage\history.dat)
Это тоже понятно. Как обойти - надо думать.

3. Всплывающий процессбар подвисает, если находится не поверх всех окон. Операция всё-же проводится, но заметно дольше.
Заставить бы его быть всегда сверху "по-умолчанию". Это, наверное, вопрос к Андрею.
скрин

В связи с этим еще вопрос: chip642, в параметрах твоей кнопки я не увидел запуска процессбара, где спрятано?

P.S. Возможно, я слишком назойлив в обсуждении проблемы, которая только меня интересует. Извините, если что не так, плииз.


Пишите, звоните.
 
chip642Дата: Четверг, 31.03.2016, 01:55 | Сообщение № 695
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
Цитата simup ()
1. Если в каталоге назначения нет папки с именем исходного каталога, то копируется содержимое исходного каталога, что понятно.

simup, я эту кнопку дал прочитав это:
Цитата simup ()
Имеем два одноимённых "толстых" и "глубоких" каталога.
Задача: скопировать\переместить один на другой с заменой ВСЕГО.

Если, неизвестно имеется ли в панели назначения идентичный каталог, то тут постановка вопроса должна была быть другой))). Можно, например такую кнопочку использовать
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
global xlist=%L||##<info=f13\%P%N> slist=FOLDC<"%tGLOBALXLIST<1>"!!1!!-1!!exe>||##path<6> sends=GLOBALSLIST<t>||&&[\r\n]+!!\!\! close=##GLOBALSENDS<1> delss=PS<"%tGLOBALXLIST<1>">||1 copys=FOLDC<%L!!0!!0>||"%tGLOBALXLIST<1>"\!!5 patht=%T%N||fold<>
Wcmicons.dll,19
Копировать содержимое папки под курсором в панель назначения в одноименную папку , если такая имеется, если нет, то игнорировать копирование, с установкой курсора на папке в панели назначения

-1
-1

Цитата simup ()
Если невозможно удалить каталог в панели назначения (например, я забыл, что некоторые файлы используются системой)

Единственное, что пришло на ум, навскидку, перед очисткой папки, убить все процессы файлов.exe находящихся в этой папке, только потом очистить её и скопировать новое содержимое. Получилась такая кнопка:
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
global xlist=%L||##<info=f12\%P%N> slist=FOLDC<"%tGLOBALXLIST<1>"!!1!!-1!!exe>||##path<6> sends=GLOBALSLIST<t>||&&[\r\n]+!!\!\! close=##GLOBALSENDS<1> delss=PS<"%tGLOBALXLIST<1>">||1 copys=FOLDC<%L!!0!!0>||"%tGLOBALXLIST<1>"\!!5 patht=%T%N||fold<>
Wcmicons.dll,97
Копирование содержимого папки под курсором в одноименную папку панели назначения, если таковая имеется, с предварительным завершением всех процессов исполняемых файлов находящихся в папке панели назначения , с предварительной очисткой всего содержимого, установка курсора на папку в панели назначения

-1
 
simupДата: Четверг, 31.03.2016, 08:20 | Сообщение № 696
Генерал-лейтенант

На сайте с: 26.01.2012
Город: Уфа
Сообщений: 535
Награды: 6
Репутация: 7
Дас ист фантастиш!!! up
chip642, если перед тобой поставить задачу создать кнопку "сварить суп, испечь хлеб, заварить кофе и накрыть стол", то ты наверняка справишься! :) :) :)


Пишите, звоните.
 
simupДата: Четверг, 31.03.2016, 13:05 | Сообщение № 697
Генерал-лейтенант

На сайте с: 26.01.2012
Город: Уфа
Сообщений: 535
Награды: 6
Репутация: 7
Это опять я - здравствуйте всем!

Сразу оговорюсь: всё, что сделано По моей просьбе меня УЖЕ ВПОЛНЕ УСТРАИВАЕТ, за что еще раз БОЛЬШОЕ СПАСИБО! Остальное - в порядке обсуждения и возможного улучшения функционала.

chip642, Действие твоей последней кнопки чё-то не такое :(
Находит первый попавшийся процесс (в моём эксперименте было запущено 2 - clcl.exe и KillOK.exe) убивает его и заодно explorer! И ВСО!!! останавливается :)

Чуть повторюсь: отображение процесса (я обозвал прогрессбаром) существенно замедляет выполнение операции - где подредактировать, чтобы не всплывал?

Вот, пожалуй, всё пока...


Пишите, звоните.
 
chip642Дата: Четверг, 31.03.2016, 15:31 | Сообщение № 698
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
simup
У меня отрабатывает грамотно, запускаю три процесса из папки и все три он завершает, кстати, посмотри нет ли файла TCIMG.exe в этой папке, если есть, то тогда это всё объясняет. Исключим файл TCIMG.exe из списка процессов необходимых завершить, добавим, на всякий, паузу для спокойного завершения процессов, уберем прогресс бар, получим:
Код
imgpr=1 global xlist=%L||##<info=f13\%P%N> slist=FOLDC<"%tGLOBALXLIST<1>"!!1!!-1!!exe>||##path<6> sends=GLOBALSLIST<t>||&&[\r\n]+!!\!\! close=##GLOBALSENDS<1> delss=PS<"%tGLOBALXLIST<1>">||1 copys=FOLDC<%L!!0!!0>||"%tGLOBALXLIST<1>"\!!5||noprogres<> patht=%T%N||fold<>

или так (разные способы получения и передачи имени папки под курсором):
Код
imgpr=1 global xends=%N slist=FOLDC<"%tGLOBALXENDS<1>"!!1!!-1!!exe>||##path<6> sends=GLOBALSLIST<t>||&&[\r\n]+!!\!\! close=##GLOBALSENDS<1> delss=PS<"%tGLOBALXLIST<1>">||1 copys=FOLDC<%L!!0!!0>||"%tGLOBALXLIST<1>"\!!5||noprogres<> patht=%T%N||fold<>
 
simupДата: Четверг, 31.03.2016, 21:45 | Сообщение № 699
Генерал-лейтенант

На сайте с: 26.01.2012
Город: Уфа
Сообщений: 535
Награды: 6
Репутация: 7
chip642, пока я писал в акеле сообщение, ты всё уже сделал :)





Пишите, звоните.
 
Andrey_AДата: Четверг, 31.03.2016, 22:19 | Сообщение № 700
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7163
Награды: 139
Репутация: 124
Аверин Андрей
[j]
Цитата simup ()
Например попытка добавить к параметрам твоей кнопки звук

А причём тут звук...
Вы хотите создать папку в другой панели именем и расширением файла? :)
Если да, то сама система это не даст - вот Вам эксперимент: нажмите F7 (создание папки) и введите там имя.расширения файла, который уже есть в этой папке. Цель создать папку? а теперь посмотрите что скажет на это система...
Так что утилита такое сделать не сможет, т.к. система не даёт...


 
simupДата: Четверг, 31.03.2016, 23:07 | Сообщение № 701
Генерал-лейтенант

На сайте с: 26.01.2012
Город: Уфа
Сообщений: 535
Награды: 6
Репутация: 7
Andrey_A, а не знаю почему?
В таком виде:
Код
imgpr=1 delss=PS<%T%M>||1 copys=FOLDC<%L!!0!!0>||%T%M

- нормально отрабатывает - команда сначала удаляет всё, потом создает каталог и в него копирует содержимое.
хмм...
это я наконфигурил наверное.. заменил все файлы TCIMG из релиза - заработало :) :)

P.S. Андрей, мы вроде тышшу лет на ТЫ или я "достал" всех?


Пишите, звоните.
 
chip642Дата: Четверг, 31.03.2016, 23:27 | Сообщение № 702
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
simup
Эту команду
Код
imgpr=1 delss=PS<%T%M>||1 copys=FOLDC<%L!!0!!0>||%T%M

лучше использовать, если в панели назначения имеется аналогичная папка, она не создаст папку идентичную папке под курсором, в случае отсутствия папки, если курсор не на объекте, то она скопирует всё содержимое в панель назначения, если курсор на файле то вообще ничего и никуда не скопирует, если курсор не на одноименной папке, то скопирует, без очистки, в нее содержимое, эта кнопка создавалась для возврата бэкапов, где точно известно о наличии папки с таким-то именем, поэтому лучше использовать более точные команды
Код
или я "достал" всех?

Напротив, мы за любое общение. Лично я, чем смогу помогу, но я еще только учусь....
 
Andrey_AДата: Четверг, 31.03.2016, 23:32 | Сообщение № 703
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7163
Награды: 139
Репутация: 124
Аверин Андрей
Цитата chip642 ()
Лично я, чем смогу помогу, но я еще только учусь...

Я тоже ))
Цитата simup ()
мы вроде тышшу лет на ТЫ или я "достал" всех?

По правилам русского языка надо говорить не "достал", а "извлек" ))
---------
chip642,
Процессбар http://tc-image.3dn.ru/forum/5-498-15209-16-1459456140


 
simupДата: Пятница, 01.04.2016, 00:39 | Сообщение № 704
Генерал-лейтенант

На сайте с: 26.01.2012
Город: Уфа
Сообщений: 535
Награды: 6
Репутация: 7


Пишите, звоните.
 
chip642Дата: Пятница, 01.04.2016, 00:46 | Сообщение № 705
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
Цитата simup ()
Погоди, давай для ровного счета я представлю, что у меня 1024 рубля?

 
Форум » • Total Commander • » Кнопки для Total Commander » ЗАКАЗ КНОПОК
Поиск:

Интеллектуальные права и отказ от ответственности