View previous topic :: View next topic |
Author |
Message |
Andrey_A
Joined: 10 Apr 2009 Posts: 394 Location: Сочи
|
(Separately) Posted: Thu Apr 29, 2010 11:53 Post subject: |
|
|
Loopback при тестирование я обнаружил пару ньюансов
1. Когда скрипт доходит до строк, то дальше не считает
buttonN=
iconicN=0
это есть пустая кнопка (пробел)
2. Можно ли сделать так: считать началом новой панели при нахождении строки button1, [Buttonbar] - не всегда является началом
3. Вести подсчёт для Buttoncount= тоже по номеру строки buttonN
Немножко сам подкорректировал: 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
$sss = StringRegExp($aBarData[$i], "(?m)^button" & $counter & "=(.+)$", 1)
If IsArray($sss) Then
IniWrite($sBarName, "Buttonbar", "Buttoncount", $counter)
IniWrite($sBarName, "Buttonbar", "button" & $counter, StringStripWS($sss[0], 3))
$cmd = StringRegExp($aBarData[$i], "(?m)^cmd" & $counter & "=(.+)$", 1)
If IsArray($cmd) Then 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))
$iconic = StringRegExp($aBarData[$i], "(?m)^iconic" & $counter & "=(.+)$", 1)
If IsArray($iconic) Then IniWrite($sBarName, "Buttonbar", "iconic" & $counter, StringStripWS($iconic[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))
Else
ExitLoop
EndIf
$counter += 1
Wend
If $counter > 1 Then
$nBarCount +=1
EndIf
Next |
И изменил табличный файл, теперь выдаётся более корректный файл с коммандами:
http://rghost.ru/download/1495997/3449b66be0192c13fa6e6f3a9bc3f1ff006de3e8/WinBars.zip |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Thu Apr 29, 2010 20:23 Post subject: |
|
|
Andrey_A wrote: | 1. Когда скрипт доходит до строк, то дальше не считает
это есть пустая кнопка (пробел) |
Т.е. любой элемент button, у которого пустое значение - это пустая кнопка?
Andrey_A wrote: | 2. Можно ли сделать так: считать началом новой панели при нахождении строки button1, [Buttonbar] - не всегда является началом |
Странно это как-то (насчет Buttonbar). Можно, конечно, но придется переделать.
Так какая все-таки должна быть логика?
Допустим, встретили Button1, считаем это началом бара. Идем далее, собирая все элементы (неважно, с каким они значением счетчика) до тех пор, пока опять не встретится button1?
Andrey_A wrote: | 3. Вести подсчёт для Buttoncount= тоже по номеру строки buttonN |
Тут хранится число фактически имеющихся элементов. А значит , сколько их будет в баре - столько должно стоять и тут. |
|
Back to top |
|
|
Andrey_A
Joined: 10 Apr 2009 Posts: 394 Location: Сочи
|
(Separately) Posted: Thu Apr 29, 2010 23:58 Post subject: |
|
|
Loopback я уже скрипт изменил (сначала задал вопросы, а потом оказалось и сам справился, благодаря тебе) и часть текстового файла тоже.
1. В файле перед каждой строкой button1= теперь [Buttonbar], и в скрипте как и раньше начало новой панели начинается с [Buttonbar]
2. Подсчёт к-ва кнопок в панели производится не по cmd, а по button
Quote: | любой элемент button, у которого пустое значение - это пустая кнопка? |
Пустой копкой считается:
buttonN=
iconicN=0
Спасибо ещё раз, всё работает |
|
Back to top |
|
|
Den_Klimov
Joined: 03 Nov 2006 Posts: 207 Location: Ukraine.Kiev
|
(Separately) Posted: Tue May 11, 2010 06:45 Post subject: |
|
|
Andrey_A wrote: | Loopback я уже скрипт изменил (сначала задал вопросы, а потом оказалось и сам справился, благодаря тебе) и часть текстового файла тоже.
1. В файле перед каждой строкой button1= теперь [Buttonbar], и в скрипте как и раньше начало новой панели начинается с [Buttonbar]
2. Подсчёт к-ва кнопок в панели производится не по cmd, а по button
Quote: | любой элемент button, у которого пустое значение - это пустая кнопка? |
Пустой копкой считается:
buttonN=
iconicN=0
Спасибо ещё раз, всё работает |
Ну так выложи обновлённый скрипт! |
|
Back to top |
|
|
Andrey_A
Joined: 10 Apr 2009 Posts: 394 Location: Сочи
|
|
Back to top |
|
|
|
|
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
|