<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Сравнение переменной со списком, и назначение новой.]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7445</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7445&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Сравнение переменной со списком, и назначение новой.».]]></description>
		<lastBuildDate>Tue, 19 Feb 2013 02:26:47 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Сравнение переменной со списком, и назначение новой.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69633#p69633</link>
			<description><![CDATA[<p>Dictionary Object (<a href="http://msdn.microsoft.com/en-us/library/x4k5wbx4(v=vs.84).aspx">EN</a>/<a href="http://www.script-coding.com/WSH/Dictionary.html">RU</a>).</p>]]></description>
			<author><![CDATA[null@example.com (Grey)]]></author>
			<pubDate>Tue, 19 Feb 2013 02:26:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69633#p69633</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Сравнение переменной со списком, и назначение новой.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69631#p69631</link>
			<description><![CDATA[<p>Ого, это интересно. Не могли бы вы вкратце рассказать про строки:<br /></p><div class="codebox"><pre><code>oDict.Keys()[cnt]</code></pre></div><p>и<br /></p><div class="codebox"><pre><code>ComObjCreate(&quot;Scripting.Dictionary&quot;)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Tue, 19 Feb 2013 02:14:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69631#p69631</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Сравнение переменной со списком, и назначение новой.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69630#p69630</link>
			<description><![CDATA[<div class="codebox"><pre><code>strList:=&quot;:Общий,XBMC.exe:XBMC,notepad++.exe:Блокнот,notepad.exe:notepad&quot;
oDict:=ComObjCreate(&quot;Scripting.Dictionary&quot;), cnt:=0

Loop, Parse, strList, % &quot;:,&quot;
   Mod(A_Index, 2) ? key:=A_LoopField : oDict.Add(key, A_LoopField)

1::
   TrayTip, % &quot;key: &#039;&quot;oDict.Keys()[cnt]&quot;&#039;&quot;, % &quot;item: &#039;&quot;oDict.Items()[cnt]&quot;&#039;&quot;
   KeyWait, % A_ThisHotkey
   cnt++
   cnt:=cnt=oDict.Count ? 0 : cnt
   Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Grey)]]></author>
			<pubDate>Tue, 19 Feb 2013 02:06:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69630#p69630</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Сравнение переменной со списком, и назначение новой.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69551#p69551</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p> Сильное подозрение, что всё это можно написать как-то более рационально</p></blockquote></div><p>Прошу прощения, вы наверное имели ввиду, что было много кода не относящегося к сути вопроса. </p><p>Упразднил (и наверно зря) создание второго массива ( ConfigList_Arr - код выше), который требовался мне для цикличного извлечения значений из ас. массива.<br />Хотелось бы услышать замечания.<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>
ConfigList = :Общий|XBMC.exe:XBMC|notepad++.exe:Блокнот|notepad.exe:notepad
Config_Arr := {} , ConfigArrIndex := &quot;0&quot;
    loop, Parse, ConfigList, |:
        Mod(A_Index, 2) ? key := A_LoopField : Config_Arr.Insert(key, A_LoopField) ConfigArrIndex += 2  ,  FirstConfig := A_Index = 2 ? A_LoopField : FirstConfig
Config := FirstConfig
1::
    d_1 =
    loop, Parse, ConfigList, |:
        {   d_1 := !Mod(A_Index, 2) &amp;&amp; A_LoopField == Config ? A_Index+2 : d_1
        If (d_1 = A_Index || d_1 &gt; ConfigArrIndex)
            Config := d_1 &gt; ConfigArrIndex ? FirstConfig : A_LoopField , d_1 := 0
        }  Until d_1 = 0
    tooltip  %Config%
    return
</code></pre></div></div></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Fri, 15 Feb 2013 23:45:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69551#p69551</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Сравнение переменной со списком, и назначение новой.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69516#p69516</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p> Сильное подозрение, что всё это можно написать как-то более рационально</p></blockquote></div><p>Постарался уменьшить код:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>
ConfigList = :Общий|XBMC.exe:XBMC|notepad++.exe:Блокнот|notepad.exe:notepad
Config_Arr := {} , ConfigList_Arr := {} , ConfigArrIndex = 0

loop, Parse, ConfigList, |:
Mod(A_Index, 2) ? key := A_LoopField : Config_Arr.Insert(key, A_LoopField)  ConfigList_Arr.Insert(A_LoopField) ConfigArrIndex += 1
1::
Config := ConfigList_Arr[Index := (!Index) || (Index&gt;=ConfigArrIndex) ? 1 : Index+1]
For Index, Value in ConfigList_Arr
Continue 
Until Value = Config
tooltip  %Config%
return
</code></pre></div></div></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 14 Feb 2013 22:15:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69516#p69516</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Сравнение переменной со списком, и назначение новой.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69495#p69495</link>
			<description><![CDATA[<p>Интересная строка:<br /></p><div class="codebox"><pre><code>MsgBox %  o.k0 &quot; &quot; o.k1</code></pre></div><p>а можно-ли чем-то заменить:<br /></p><div class="codebox"><pre><code>For a1, value in b1
Continue 
Until value = Config</code></pre></div><p> в #64, чтобы при каждом изменении Config не требовалось получать индекс значения?<br />--------------<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>
b1 := []  , ConfigList := &quot;Общий|Блокнот|XBMC|notepad&quot;
loop, Parse, ConfigList, |
b1.Insert(A_LoopField) MaxIndex := A_Index , FirstConfig := A_Index = 1 ? A_LoopField : FirstConfig , Config := FirstConfig
1::
d_1 = 
loop, Parse, ConfigList, |
{ d_1 := A_LoopField == Config ? A_Index+1 : d_1
If (d_1 = A_Index || d_1 &gt; MaxIndex)
      Config := d_1 &gt; MaxIndex ? FirstConfig : A_LoopField , d_1 := 0
}  Until d_1 = 0
tooltip  %Config%
Return
</code></pre></div><p>В принципе массив и ненужен <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br /></p><div class="codebox"><pre><code>
ConfigList := &quot;Общий|Блокнот|XBMC|notepad|&quot;
loop, Parse, ConfigList, |
FirstConfig := A_Index = 1 ? A_LoopField : FirstConfig , Config := FirstConfig
1::
loop, Parse, ConfigList, |
{ d_1 := A_LoopField == Config ? A_Index+1 : d_1 , d_2 := 1
If (d_1 = A_Index || !A_LoopField)
      Config := !A_LoopField ? FirstConfig : A_LoopField , d_2 := 0
}  Until d_2 = 0
tooltip  %Config%
Return
</code></pre></div></div></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 14 Feb 2013 17:47:31 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69495#p69495</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Сравнение переменной со списком, и назначение новой.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69489#p69489</link>
			<description><![CDATA[<p><strong>creature.ws</strong><br />Красиво. <br />Узнал что Pars-ить можно через несколько символов!</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 14 Feb 2013 16:52:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69489#p69489</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Сравнение переменной со списком, и назначение новой.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69479#p69479</link>
			<description><![CDATA[<p>Можно и без StringSplit с RegexMatch <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br /></p><div class="codebox"><pre><code>processConfigList := &quot;XBMC.exe: XBMC|notepad++.exe: Блокнот|notepad.exe: notepad&quot;
WindowList := {}

loop, Parse, processConfigList, |:, %A_Space%
    Mod(A_Index, 2)? key := A_LoopField : WindowList.Insert(key, A_LoopField)

MsgBox % WindowList[&quot;notepad++.exe&quot;]</code></pre></div><p>В виде функции: (во имя добра)<br /></p><div class="codebox"><pre><code>ObjFromString(ByRef string, d0 := &quot;,&quot;, d1 := &quot;:&quot;, ommitChars := &quot; `t&quot;) {
    Obj := {}

    loop, Parse, string, % d0 d1, % ommitChars
        Mod(A_Index, 2)? key := A_LoopField : Obj.Insert(key, A_LoopField)

    return Obj
}

o := ObjFromString(&quot;k0 : v0 |k1: v1&quot;, &quot;|&quot;)
MsgBox %  o.k0 &quot; &quot; o.k1</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Thu, 14 Feb 2013 14:04:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69479#p69479</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Сравнение переменной со списком, и назначение новой.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69477#p69477</link>
			<description><![CDATA[<p>Наконец-то!&nbsp; <strong>дошло</strong> про Insert(match):<br /></p><div class="codebox"><pre><code>
b1 := [] 
ConfigList = Общий|Блокнот|XBMC|notepad
StringSplit, ConfigList, ConfigList, |
Loop, %ConfigList0%
b1.Insert(ConfigList%A_Index%)
1::
Config := b1[a1 :=  (!a1) ||  (a1&gt;=b1.MaxIndex()) ? 1 : a1+1]
For a1, value in b1
Continue 
Until value = Config
tooltip  %Config% x %a1%  
Return
</code></pre></div><p>&amp;&amp;&amp;<br /></p><div class="codebox"><pre><code>
ProcessConfigList = XBMC.exe: XBMC|notepad++.exe: Блокнот|notepad.exe: notepad
StringSplit, ProcessConfigList, ProcessConfigList, |

WindowList := {} 
Loop, %ProcessConfigList0%
RegExMatch( ProcessConfigList%A_Index%, &quot;^(.*?)\: (.*?)$&quot;, match) , WindowList.Insert(match1, match2)
Process = notepad++.exe
MsgBox % WindowList[Process]      ;%
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 14 Feb 2013 13:17:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69477#p69477</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Сравнение переменной со списком, и назначение новой.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69468#p69468</link>
			<description><![CDATA[<p>Получилось всё очень просто:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>
ProcessConfigList := &quot; XBMC.exe : XBMC |  notepad++.exe : Блокнот | notepad.exe : notepad &quot;
StringSplit, ProcessConfigList, ProcessConfigList, |, %A_Space%
Process = notepad++.exe
MsgBox % IsConfig(Process)  ;%
Return

IsConfig(Process)
{
Global
Loop, %ProcessConfigList0%
{
If RegExMatch( ProcessConfigList%a_index%, &quot;S)^\Q&quot; Process &quot;\E \: (.*+)&quot;, a)
Return a1
}
Return &quot;&quot;
}
</code></pre></div><p>&amp;&amp;<br /></p><div class="codebox"><pre><code>
ConfigList = Общий|Блокнот|XBMC|notepad
StringSplit, ConfigList, ConfigList, |
Config = НеConfig
Return

1::
Loop, %ConfigList0%
{
If (ConfigList%a_index% == Config)
{
a := A_Index+1
Config := A_Index = ConfigList0 ? ConfigList1 : ConfigList%a%
break
}
If A_Index = %ConfigList0%
Config = %ConfigList1%
}
tooltip  %Config% 
Return
</code></pre></div></div></div><p>наверно что-то не учёл, но так как символ &quot;|&quot; и &quot;:&quot; в моём случае неможет быть ни в key ни в value, то пойдёт. Хотя синтаксис можно усложнять без ущерба производительности при каждом вызове. Для производительности (второго кода) можно создать переменную с номером текущего значения в массиве.<br />И интересно по поводу скорости выполнения, это намного хуже чем варианты с массивами?<br />И по какому принципу строится извлечение значений из ас.массива в АНК?</p><p>Забыл сказать, что при выполнении скрипта &quot;самопальные массивы&quot; не будут изменятся.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 14 Feb 2013 02:37:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69468#p69468</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Сравнение переменной со списком, и назначение новой.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69467#p69467</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Или вопрос именно в коде.</p></blockquote></div><p>Ниже в коде присутствуют строки вида:</p><div class="codebox"><pre><code>#IF Config = &quot;Блокнот&quot;</code></pre></div><p>и под ними хоткеи которые выполняются в зависимости от значения Config. Приведённый код собственно обеспечивает контекстную зависимостью хоткеев в зависимости от активных окон. По некоторым веским причинам пришлось идти исходя от имени процесса окна, а не от WinTitle, WinText. Переменная &quot;ВклОбщий&quot; <strong>если</strong> = 1 <strong>то</strong> переключает на общий режим, если окно\процесс связанный с режимом перестало быть активным, <strong>или</strong> оставляет режим прежним после деактивации окна.</p><p>В обоих случаях не принимается во внимание, если новое активное окно (его процесс) связано с каким-то <strong>другим</strong> режимом.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 14 Feb 2013 00:07:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69467#p69467</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Сравнение переменной со списком, и назначение новой.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69466#p69466</link>
			<description><![CDATA[<p>Это кусок кода из программы для <a href="http://forum.script-coding.com/viewtopic.php?id=7893">переназначения кнопок</a> через ГУИ интерфейс. Соответственно все данные вводит пользователь. Сейчас программа на основе введённых данных редактирует файл скрипта АНК, который собственно выполняет всё введённое. Сейчас хочу переделать, чтобы <strong>все</strong> настройки и действия были в ини файле.<br /></p><div class="quotebox"><blockquote><p>Всё равно не понял, что этот код делает.</p></blockquote></div><p>Или вопрос именно в коде.<br /></p><div class="quotebox"><blockquote><p>Сильное подозрение, что всё это можно написать как-то более рационально.</p></blockquote></div><p>Буду премного благодарен за очередной ваш урок.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 13 Feb 2013 23:44:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69466#p69466</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Сравнение переменной со списком, и назначение новой.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69465#p69465</link>
			<description><![CDATA[<p>Всё равно не понял, что этот код делает. Сильное подозрение, что всё это можно написать как-то более рационально.</p><div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Соответственно содержание массива должно быть тоже в переменной.</p></blockquote></div><p>Видимо, ты как-то неправильно используешь массивы. Не припомню такого случая, чтобы содержание массива нужно было считывать в переменную.<br />Если объяснишь подробнее глобальную задачу, постараюсь помочь.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 13 Feb 2013 23:31:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69465#p69465</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Сравнение переменной со списком, и назначение новой.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69464#p69464</link>
			<description><![CDATA[<p>Вот всё вместе, просто поменяйте названия процессов в WindowList, и смотрите на tooltip при активации окон.<br />Кнопка &quot;1&quot; переключает режимы.<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>
WindowList := {&quot;XBMC.exe&quot;: &quot;XBMC&quot;,&quot;notepad++.exe&quot;: &quot;Блокнот&quot;,&quot;notepad.exe&quot;: &quot;notepad&quot;}
b1 := [&quot;Общий&quot;,&quot;Блокнот&quot;,&quot;XBMC&quot;,&quot;notepad&quot;] 
Config := b1[a1]
Config := &quot;Блокнот&quot;
For a1, value in b1
Continue 
Until value = Config

ВклОбщий = 1
Loop
{
WinGet, Process, ProcessName, A
WinGet, PID, PID, A
If (PID = &quot;&quot; || Process = &quot;&quot;)
Continue
Result := % WindowList[Process]       ;%

If (ВклОбщий = 1 &amp;&amp; Result = &quot;&quot;)
{
    If Config = Общий
    {
    WinWaitNotActive, ahk_pid %PID%
    Continue
    }
 Config = Общий
 For a1, value in b1
 Continue 
 Until value = Config
tooltip  %Config%
 WinWaitNotActive, ahk_pid %PID%
 Continue
}

If (Result = Config || Result = &quot;&quot;)
{
WinWaitNotActive, ahk_pid %PID%
Continue
}

Config = %Result%
For a1, value in b1
Continue 
Until value = Config
tooltip  %Config%
WinWaitNotActive, ahk_pid %PID%
}
Return

1::
Config := b1[a1 :=  (!a1) ||  (a1&gt;=b1.MaxIndex()) ? 1 : a1+1]
For a1, value in b1
Continue 
Until value = Config
tooltip  %Config% x %a1%  
Return
</code></pre></div></div></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 13 Feb 2013 23:22:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69464#p69464</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Сравнение переменной со списком, и назначение новой.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69463#p69463</link>
			<description><![CDATA[<p>Ну вот сейчас например есть ас.массив WindowList. Мне надо в зависимости от активного окна изменять значение Config. Т.е. если процесс окна notepad++.exe то Config = Блокнот<br />и.т.д. Но теперь понадобилось чтобы содержимое ас.массива было в ини файле.<br /></p><div class="codebox"><pre><code>
WindowList := {&quot;XBMC.exe&quot;: &quot;XBMC&quot;,&quot;notepad++.exe&quot;: &quot;Блокнот&quot;,&quot;notepad.exe&quot;: &quot;notepad&quot;}
ВклОбщий = 1
Loop
{
WinGet, Process, ProcessName, A
WinGet, PID, PID, A
If (PID = &quot;&quot; || Process = &quot;&quot;)
Continue
Result := % WindowList[Process]       ;%

If (ВклОбщий = 1 &amp;&amp; Result = &quot;&quot;)
{
    If Config = Общий
    {
    WinWaitNotActive, ahk_pid %PID%
    Continue
    }
 Config = Общий
 For a1, value in b1
 Continue 
 Until value = Config
tooltip  %Config%
 WinWaitNotActive, ahk_pid %PID%
 Continue
}

If (Result = Config || Result = &quot;&quot;)
{
WinWaitNotActive, ahk_pid %PID%
Continue
}

Config = %Result%
For a1, value in b1
Continue 
Until value = Config
tooltip  %Config%
WinWaitNotActive, ahk_pid %PID%
}
Return
</code></pre></div><p>Или в массиве b1 находятся названия Config-ов, и по нажатию хоткея нужно включать всегда следующий по списку. Соответственно содержание массива должно быть тоже в переменной.</p><div class="codebox"><pre><code>b1 := [&quot;Общий&quot;,&quot;Блокнот&quot;,&quot;XBMC&quot;,&quot;notepad&quot;] 
Config := b1[a1]
Config := &quot;Блокнот&quot;
For a1, value in b1
Continue 
Until value = Config
Return
1::
Config := b1[a1 :=  (!a1) ||  (a1&gt;=b1.MaxIndex()) ? 1 : a1+1]
For a1, value in b1
Continue 
Until value = Config
tooltip  %Config% x %a1%  
Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 13 Feb 2013 23:09:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69463#p69463</guid>
		</item>
	</channel>
</rss>
