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 

Создание .bar файлов из .txt файла с командами
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Wed Apr 28, 2010 13:45    Post subject: Создание .bar файлов из .txt файла с командами Reply with quote

Есть текстовый файл, который является результатом Excel, который имеет всё, чтобы создать .bar файлы, помогите пожалуйста автоматически создать в папке %COMMANDER_PATH%\BARS\ .bar файлы bar1.bar, bar2.bar, bar3.bar... пытался создать скрипт, но мозгов не хватает, спасибо за понимание, ссылка для скачивания файла:
http://depositfiles.com/files/kwf6o0u0i
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Apr 28, 2010 14:24    Post subject: Reply with quote

Andrey_A
Советую не использовать deposit как средство аплоудинга. Не у всех стоит динамический IP, что чревато выводом сообщений "В настоящее время с вашего IP адреса уже идет скачивание". Для задач схожего рода предлагаю более разумные решения: zalil либо rghost.
Back to top
View user's profile Send private message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Wed Apr 28, 2010 14:36    Post subject: Reply with quote

Flasher других обменников не знал, теперь буду знать, спасибо, вот ссылки:
http://slil.ru/29047785/6b33398f.4bd8b490/WinBars.zip
http://rghost.ru/download/1487772/54394f6f412de006636734f227f6ae5d674d54e6/WinBars.zip
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Apr 28, 2010 15:11    Post subject: Reply with quote

Andrey_A wrote:
других обменников не знал
Shocked И это говорит человек, у которого в сборке присутсвует USDownloader(да и не только)? Однако..
Back to top
View user's profile Send private message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Wed Apr 28, 2010 15:22    Post subject: Reply with quote

Конечно знал... Very Happy Просто не требовалось другого, тем более в моей сборке на deposit сделана команда... специально для тебя организую ещё кнопки в меню... и буду пользоваться
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Apr 28, 2010 15:54    Post subject: Reply with quote

Andrey_A wrote:
специально для тебя организую ещё кнопки в меню... и буду пользоваться
Smile Как-то несуразно звучит, организуешь для меня, а пользоваться будешь сам.)) Тут хотя бы выложи для проформы. Wink
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Apr 28, 2010 16:02    Post subject: Reply with quote

Andrey_A wrote:
Есть текстовый файл, который является результатом Excel, который имеет всё, чтобы создать .bar файлы
Всё таки стоит расшифровать для скриптологов, что подразумевается под этими словами. У каждого могут быть свои представления, о том, чем является результат Excel, и что такое "всё, чтобы создать bar-файлы". То, что очевидно для одних, для других может показаться тёмным лесом.
Back to top
View user's profile Send private message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Thu Apr 29, 2010 00:09    Post subject: Reply with quote

Quote:
Всё таки стоит расшифровать для скриптологов

Я думаю, для скриптологов будет и так всё понятно, изходя из файла,
и для тех кто его видел. Если необходимо поясню:
1. Я редактирую меню через табличный файл, что отражено подробно в теме и где есть дополнительные ссылки на скачивание:
http://forum.wincmd.ru/viewtopic.php?t=9952&highlight=%EC%E5%ED%FE
2. Я составил второй табличный фал, который считывает из первого всё необходимое для создания дополнительных меню (про excel я писал, чтобы не было вопросов про большие строчные пробелы в файле)
3. Решение вопроса, как я его вижу, я не хочу описывать - зачем наставлять - те кто хочет помочь, тот поможет[/quote]
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Thu Apr 29, 2010 09:31    Post subject: Reply with quote

Сделать то, конечно, можно. Только нужно время.
Может быть помогу, но скоро не обещаю.

Я правильно понял, что секцией [Buttonbar] начинвется новая панель?

И хорошо бы, чтобы в файле было поменьше мусора - всяких там пустых строк и строк с содержимым "#ЗНАЧ!". Строка с "Buttoncount=" тоже ни к чему. Чем меньше в скрипте будет проверок, тем быстрее он будет готов Wink
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Thu Apr 29, 2010 09:56    Post subject: Reply with quote

Batya ты прав, надо подчистить файл
1. Убрать все пустые строки
2. Убрать мусор "#ЗНАЧ!"
3. Убрать Buttoncount=
4. Можно ещё убрать и [Buttonbar] и новую панель начинать при нахождении button1= - так меньше, я думаю будет проверок
ссылка на файл без мусора:
http://rghost.ru/download/1494836/b7d9a86afe5ad07f055b039da35b794e2ece7a4b/WinBarsCleaner.zip
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Thu Apr 29, 2010 10:06    Post subject: Reply with quote

Andrey_A wrote:
4. Можно ещё убрать и [Buttonbar] и новую панель начинать при нахождении button1= - так меньше, я думаю будет проверок

[Buttonbar], думаю, лучше оставить. А ещё лучше использовать конструкцию вида [Buttonbar=Моя новая панель.bar] для имени файла панели (можно без ".bar").
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1290

Post (Separately) Posted: Thu Apr 29, 2010 10:07    Post subject: Reply with quote

Набросал скрипт на Autoit. Не очень красиво получилось, но работает. Берет только полезные строки, мусор игнорируется.

Code:

$text = FileRead(@ScriptDir & "\WinBars.txt")

$aBarData = StringSplit($text, "[Buttonbar]", 1)

$nBarCount = 1
For $i = 1 To $aBarData[0]
    $sBarName = StringFormat("bar%03d.bar", $nBarCount)
    $counter = 1
    While 1
        $cmd = StringRegExp($aBarData[$i], "(?m)^cmd" & $counter & "=(.+)$", 1)
        If IsArray($cmd) Then
            IniWrite($sBarName, "Buttonbar", "Buttoncount", $counter)
            IniWrite($sBarName, "Buttonbar", "cmd" & $counter, StringStripWS($cmd[0], 3))
            $menu = StringRegExp($aBarData[$i], "(?m)^menu" & $counter & "=(.+)$", 1)           
            If IsArray($menu) Then IniWrite($sBarName, "Buttonbar", "menu" & $counter, StringStripWS($menu[0], 3))
            $button = StringRegExp($aBarData[$i], "(?m)^button" & $counter & "=(.+)$", 1)
            If IsArray($button) Then IniWrite($sBarName, "Buttonbar", "button" & $counter, StringStripWS($button[0], 3))
            $iconic = StringRegExp($aBarData[$i], "(?m)^iconic" & $counter & "=(.+)$", 1)
            If IsArray($iconic) Then IniWrite($sBarName, "Buttonbar", "iconic" & $counter, StringStripWS($iconic[0], 3))
        Else
            ExitLoop
        EndIf
        $counter += 1
    Wend
    If $counter > 1 Then
        $nBarCount +=1
    EndIf
Next
Back to top
View user's profile Send private message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Thu Apr 29, 2010 10:37    Post subject: Reply with quote

Loopback! Спасибо за участие и за скорость, bar файлы делаются, единственное не хватает строк param и path, если возможно, добавь их в скрипт
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1290

Post (Separately) Posted: Thu Apr 29, 2010 10:42    Post subject: Reply with quote

Точно, забыл.

Code:

$text = FileRead(@ScriptDir & "\WinBars.txt")

$aBarData = StringSplit($text, "[Buttonbar]", 1)

$nBarCount = 1
For $i = 1 To $aBarData[0]
    $sBarName = StringFormat("bar%03d.bar", $nBarCount)
    $counter = 1
    While 1
        $cmd = StringRegExp($aBarData[$i], "(?m)^cmd" & $counter & "=(.+)$", 1)
        If IsArray($cmd) Then
            IniWrite($sBarName, "Buttonbar", "Buttoncount", $counter)
            IniWrite($sBarName, "Buttonbar", "cmd" & $counter, StringStripWS($cmd[0], 3))
            $menu = StringRegExp($aBarData[$i], "(?m)^menu" & $counter & "=(.+)$", 1)           
            If IsArray($menu) Then IniWrite($sBarName, "Buttonbar", "menu" & $counter, StringStripWS($menu[0], 3))
            $button = StringRegExp($aBarData[$i], "(?m)^button" & $counter & "=(.+)$", 1)
            If IsArray($button) Then IniWrite($sBarName, "Buttonbar", "button" & $counter, StringStripWS($button[0], 3))
            $param = StringRegExp($aBarData[$i], "(?m)^param" & $counter & "=(.+)$", 1)
            If IsArray($param) Then IniWrite($sBarName, "Buttonbar", "param" & $counter, StringStripWS($param[0], 3))
            $path = StringRegExp($aBarData[$i], "(?m)^path" & $counter & "=(.+)$", 1)
            If IsArray($path) Then IniWrite($sBarName, "Buttonbar", "path" & $counter, StringStripWS($path[0], 3))
            $iconic = StringRegExp($aBarData[$i], "(?m)^iconic" & $counter & "=(.+)$", 1)
            If IsArray($iconic) Then IniWrite($sBarName, "Buttonbar", "iconic" & $counter, StringStripWS($iconic[0], 3))
        Else
            ExitLoop
        EndIf
        $counter += 1
    Wend
    If $counter > 1 Then
        $nBarCount +=1
    EndIf
Next
Back to top
View user's profile Send private message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Thu Apr 29, 2010 10:51    Post subject: Reply with quote

Loopback огроооомное спасибо!!!
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 1, 2  Next
Page 1 of 2

 
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