Обмен кнопками
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 13, 14, 15 ... 43, 44, 45  Next  :| |:
Total Commander -> Секреты и советы

#196:  Author: CaptainFlintLocation: Москва PostPosted: Wed Jul 04, 2007 16:29
    —
vet wrote:
Для этого есть более простой способ.

Этот пост был написал более года назад, когда ещё даже первая альфа семёрки Тотала не была выпущена.

И желательно включать BB-коды, если они используются в сообщении. В предыдущем посте я исправил, но на будущее стоит иметь в виду.

#197:  Author: aLexxLocation: Новокузнецк PostPosted: Wed Jul 04, 2007 22:24
    —
Atlair wrote:
Хочу кнопку извлечь/вставить CD Rolling Eyes


Глянь сюда ([UTIL] Утилита для работы с ТС):
http://forum.wincmd.ru/viewtopic.php?t=9566

#198:  Author: LocKtaR-o-DarKLocation: Москва PostPosted: Thu Jul 05, 2007 02:35
    —
vet
да, это замечательно, но все-таки пусть лучше тотал сравнивает своими внутренними средствами, все таки чем-то и кому-то это удобней, а для внешних средств всегда можно написать кнопку, а ля
параметр можно прописать %S2 (для winmerge это не принципиально)

#199:  Author: kertlerf PostPosted: Mon Aug 06, 2007 05:48
    —
Можно ли две комманды прим.
Code:
OPENBAR %COMMANDER_PATH%\Prof\01.bar
OPENTABS %COMMANDER_PATH%\Prof\01.tab

повесить на одну кнопку?

#200:  Author: kertlerf PostPosted: Sat Aug 11, 2007 14:56
    —
Вопрос снят, сам разобрался.

#201:  Author: jehaz PostPosted: Fri Aug 17, 2007 21:16
    —
Вот скрипт который можно повесить на кнопку с параметром %L
Копирует выделенные файлы в ту же папку добавляя нумерацию копии в скобках идентично ТС.
Облазил форум, вроде такого не было.


Code:
'================================================================
' Параметры %L
' Создает копию выделенных файлов добавляя к имени порядковый
' номер в скобках (идентично TC). Если в имени уже присутствует
' порядковый номер в скобках, то увеличивает нумерацию до появления
' незанятого номера.
'================================================================
Option Explicit
Dim FSO, WSHArg, Argument, FileList, FileStr, FileFullName, Counter
Dim FileName, LenFileName, FileExt, FilePath, CounterLen, FileVName
Dim BetweenSkoba, OpenSkoba, BeforeSkoba, BetweenSkobaInt, TextStream
Set FSO = CreateObject("Scripting.FilesystemObject")
Set WSHArg = WScript.Arguments
If WSHArg.Count > 0 Then
  Argument = WSHArg.Item(0)
  Set FileList = FSO.GetFile(Argument)
  Set TextStream = FileList.OpenAsTextStream(1)
  FileStr = vbNullString
  While Not TextStream.AtEndOfStream
    FileStr = TextStream.ReadLine()
    Counter = 1
    FileName = FSO.GetBaseName(FileStr)
    CounterLen = Len(FileName)
    Do ' Работаем пока не найдется имя не занятое файлами
      If Mid(FileName,Len(FileName),1) = ")" Then ' Если в конце имени файла скобка, то возможно это уже ранее созданные копии файлов. Проверяем.
        Do While CounterLen <> 0
          If Mid(FileName,CounterLen,1) = "(" Then ' Если находится в имени закрытая скобка, то предположим что до скобок это имя, а в скобках нумерация копий
             OpenSkoba = CounterLen
             BetweenSkoba = Mid(FileName,OpenSkoba+1,Len(FileName)-CounterLen-1) ' Получаем значение находящиеся между скобками
             BeforeSkoba = Mid(FileName,1,OpenSkoba-1) ' Получаем предположительное имя до скобок
             CounterLen = 0
          Else
             CounterLen = CounterLen - 1
          End If
        Loop
        On Error Resume Next ' Отключаем ошибочку
        BetweenSkobaInt = FormatNumber(BetweenSkoba,0) ' Преобразуем междускобие в числовой формат
          If Err.Number = 0 Then ' Если ошибок нет, то в скобках было число
            If BetweenSkoba - BetweenSkobaInt = 0 Then ' Проверяем на всякий случай вдруг в скобках десятичная дробь
              FileName = BeforeSkoba ' Задаем имя как отобранное до скобок
              Counter = Counter + BetweenSkobaInt - 1
            End If
          End If
      End If
      CounterLen = 0
      Counter = Counter + 1
      FileExt = FSO.GetExtensionName(FileStr) ' получаем расширение
      FilePath = FSO.GetParentFolderName(FileStr) ' полный путь
      FileVName = FileName & "(" & Counter & ")" ' делаем новое имя
      If FileExt <> "" Then ' проверям на наличе расширения
          FileFullName = FilePath & "\" & FileVName & "." & FileExt ' Собираем имя в кучу
      Else
          FileFullName = FilePath & "\" & FileVName ' Без расширения куча
      End If
    Loop until not (FSO.FileExists(FileFullName) or FSO.FolderExists(FileFullName))
    If FSO.FileExists(FileStr) Then ' Еще раз проверяем наличие источника
    FSO.CopyFile FileStr, FileFullName ' Копируем
    End If
  Wend
End If
WScript.Quit


Немного подправил.


Last edited by jehaz on Mon Aug 20, 2007 16:55; edited 3 times in total

#202:  Author: jehaz PostPosted: Fri Aug 17, 2007 21:20
    —
Скрипт вызывающий стандартное окно диалога завершения работы

Code:
'=========================================================
' Вывод диалога завершения работы.
'=========================================================
Option Explicit
Dim Shell
Set Shell = WScript.CreateObject("Shell.Application")
Shell.ShutDownWindows

#203:  Author: LocKtaR-o-DarKLocation: Москва PostPosted: Sat Aug 18, 2007 18:21
    —
jehaz wrote:
Скрипт вызывающий стандартное окно диалога завершения работы

а вот кнопка

#204:  Author: BatyaLocation: Москва, Россия PostPosted: Mon Aug 20, 2007 10:54
    —
jehaz wrote:
Вот скрипт который можно повесить на кнопку с параметром %L
Копирует выделенные файлы в ту же папку добавляя нумерацию копии в скобках идентично ТС.
Облазил форум, вроде такого не было.

1. А зачем нужно копировать в ту же папку файл-дубликат? Тогда уж лучше задать второй параметр %P или %T по желанию пользователя.
2. Часто для нумерации файлов используются квадратные скобки. Поэтому в теле скрипта лучше не использовать жестко "(" и ")", а задать в шапке скрипта массив, например, Skoba = Array("(", ")") и в коде ссылаться на Skoba(0) и Skoba(1). При желании пользователь сможет поменять Skoba = Array("[", "]") или Skoba = Array("<", ">").
3. Не учтено, что %L может содержать кроме файлов еще и папки. А также, что новое рассчитанное имя файла может быть именем существующей папки.
4. Конструкция
Code:
        CounterLen = Len(FileName)
        Do While CounterLen <> 0

для посимвольного перебора не очень удачна. Тем более, начиная с Len(FileName), а не с Len(FileName) - 1. Лучше использовать InStrRev.
5. Если по Loop until not FSO.FileExists(FileFullName) скрипт возвращается в начало (Do ' Работаем пока не найдется имя не занятое файлами), то снова начинаем вычислять значение в скобках. Это не есть хорошо. Раз уж скрипт уже нашел значение номера исходного файла\папки, то надо повышать номер, пока не найдется отсутствующий, а не начить все с начала.

Кстати, нечто подобное, но по-проще (без вычисления номера исходного файла), я уже делал.

#205:  Author: kolotunbabajLocation: Русь, ибо славянин... PostPosted: Sun Sep 30, 2007 21:01
    —
А если кнопок уже в два ряда? В сборке от IMPOMEZIA видел решение, но не знаю как это сделать. Там в начале тулбара две зелёные стрелки вызывающие "Панель инструментов: Плагины и Программы" и "Панель инструментов: Системные программы". Подскажите кто знает как?

#206:  Author: D1PLocation: Тбилиси PostPosted: Sun Sep 30, 2007 21:05
    —
Кнопка ссылается на *.bar-файл с другой панелью. Например:

Code:

TOTALCMD#BAR#DATA
D:\dshell\startmenu.bar

D:\dshell\TOTALCMD.EXE

D:\dshell\

-1


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

#207:  Author: Georgе PostPosted: Wed Oct 03, 2007 02:24
    —
kolotunbabaj
http://darqus.org/p/forum/forum_viewtopic.php?134

#208:  Author: ZorrozLocation: Россия, Иркутская обл., г. Ангарск PostPosted: Mon Oct 08, 2007 17:01
    —
есть кнопка:
Code:
TOTALCMD#BAR#DATA
ping
?
C:\totalcmd\TOTALCMD.EXE,2



-1

ввожу айпишник, все ок, только окно закрывается. Можно как то этого избежать, что бы оно не закрывалось?

#209:  Author: D1PLocation: Тбилиси PostPosted: Mon Oct 08, 2007 19:04
    —
Ну, например, так:

Code:
TOTALCMD#BAR#DATA
cmd /k ping
?
D:\dshell\TOTALCMD.EXE



-1

#210: Обмен кнопками Author: Tovarishh PostPosted: Sat Dec 29, 2007 03:07
    —
В версии ТС 7 появилась возможность использовать алиасы + появились новые INI.

Вот пример переключения Ru_En или En_ru языка + wincmd.ini в меню.

Допустим тотал имеет два wincmd.ini
а %COMMANDER_PATH%\eng.Wincmd.ini -Анг
б %COMMANDER_PATH%\rus.Wincmd.ini - Рус

В каждом настройки на свой язык, то есть
в eng.Wincmd.ini установлено WCMD_ENG.LNG + startmenu Barы на анг., а в rus.Wincmd.ini установлено WCMD_RUS.LNG + startmenu + Barы на рус.

1.
В каталоге %COMMANDER_PATH%\LANGUAGE создаём два файла WCMD_ENG.ini и WCMD_RUS.ini

2.
скачиваем Hidec.exe (он скрывает консоль) и кидаем например в %COMMANDER_PATH%\Plugins\Utilities\
В WCMD_ENG.ini добавляем
Quote:
[em_set_Russian]
Cmd=%COMMANDER_PATH%\Plugins\Utilities\hidec.exe "%COMMANDER_PATH%\rus.bat"
Param=


В WCMD_RUS.ini добавляем
Quote:
[em_set_English]
Cmd=%COMMANDER_PATH%\Plugins\Utilities\hidec.exe "%COMMANDER_PATH%\eng.bat"
Param=


3.
Открываем WCMD_ENG.MNU и прописываем, где хотим, что бы отображался "переключатель"

Quote:
POPUP "Язык"
MENUITEM "Русский", em_set_Russian
END_POPUP


Затем в WCMD_RUS.MNU

Quote:
POPUP "Change Language"
MENUITEM "Switch to English", em_set_English
END_POPUP


4.
Создаём два файла в %COMMANDER_PATH%\ eng.bat и rus.bat

в eng.bat

Quote:
taskkill /IM TotalCMD.exe
ping -n 2 127.0.0.1 > nul
start /d "%COMMANDER_PATH%" TOTALCMD.exe "/I=%COMMANDER_PATH%\eng.wincmd.ini"


в rus.bat
Quote:
taskkill /IM TotalCMD.exe
ping -n 2 127.0.0.1 > nul
start /d "%COMMANDER_PATH%" TOTALCMD.exe "/I=%COMMANDER_PATH%\rus.wincmd.ini"



Теперь после rr в TC можно переключать языки





Фактически ето переключение между двумя wincmd.ini

Можно поставить и кнопки на панель

Ru_En
Quote:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\Utilities\hidec.exe "%COMMANDER_PATH%\eng.bat"

TOTALCMD.EXE,23
English


-1


En_Ru
Quote:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\Utilities\hidec.exe "%COMMANDER_PATH%\rus.bat"

TOTALCMD.EXE ,23
Русский


-1




PS: Панель не резиновая... для всех места нет!



Total Commander -> Секреты и советы


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 13, 14, 15 ... 43, 44, 45  Next  :| |:
Page 14 of 45

Powered by phpBB © 2001, 2005 phpBB Group