<?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=13737</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=13737&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Работа с массивами».]]></description>
		<lastBuildDate>Sat, 26 May 2018 08:22:42 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Работа с массивами]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=125625#p125625</link>
			<description><![CDATA[<p>Вот так короче.<br /></p><div class="codebox"><pre><code>
Mass := {A:{color: 1, var: 1, name: 1, leadtime: 1, seed: 1, enabled: 1}, B:{color: 1, var: 1, name: 2, leadtime: 1 , seed: 1, enabled: 1}, C:{color: 1, var: 1, name: 3, leadtime: 1, seed: 1, enabled: 1}, D:{color: 1, var: 1, name: 4, leadtime: 1, seed: 1, enabled: 1}}
key0 = *~$F
Hotkey, %key0%, start, UseErrorLevel
stringreplace, key0, key0, *~$

Gui, +resize
Gui, Add, DDL, vChoice g, A|B|C|D
Gui, Show, h85
return

start:
Gui, Submit, NoHide
While !GetKeyState(key0, &quot;T&quot;) 
{
    Go(mass[Choice].color, mass[Choice].var, mass[Choice].name, mass[Choice].leadtime, mass[Choice].seed)
}
return

Go(color,var,name,leadtime,seed)
{
    global
    msgbox % name
}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Sat, 26 May 2018 08:22:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=125625#p125625</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Работа с массивами]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=125623#p125623</link>
			<description><![CDATA[<p>Здравствуйте. Есть скрипт:<br /></p><div class="codebox"><pre><code>Mass := {One:{color: 1, var: 1, name: 1, leadtime: 1, seed: 1, enabled: 1}, two:{color: 1, var: 1, name: 2, leadtime: 1 , seed: 1, enabled: 1}, three:{color: 1, var: 1, name: 3, leadtime: 1, seed: 1, enabled: 1}, four:{color: 1, var: 1, name: 4, leadtime: 1, seed: 1, enabled: 1}}
key0 = *~$F
Hotkey, %key0%, start, UseErrorLevel
stringreplace, key0, key0, *~$

Gui, +resize
Gui, Add, DDL, vChoice g, A|B|C|D
Gui, Show, h85
return

start:
Gui, Submit, NoHide
While !GetKeyState(key0, &quot;T&quot;) 
{
	if (Choice=&quot;A&quot;)
	{
		Go(mass.one.color, mass.one.var, mass.one.name, mass.one.leadtime, mass.one.seed)
	}
	if (Choice=&quot;B&quot;)
	{
		Go(mass.two.color, mass.two.var, mass.two.name, mass.two.leadtime, mass.two.seed)
	}
	if (Choice=&quot;C&quot;) 
	{
		Go(mass.three.color, mass.three.var, mass.three.name, mass.three.leadtime, mass.three.seed)
	}
	if (Choice=&quot;D&quot;)
	{
		Go(mass.four.color, mass.four.var, mass.four.name, mass.four.leadtime, mass.four.seed)
	}
}
return

Go(color,var,name,leadtime,seed)
{
	global
	msgbox % name
}</code></pre></div><p>Это небольшой пример. В label start на самом деле очень много проверок if, из-за этого код выглядит громоздко, да и не совсем правильное написание выходит. Количество вариантов в DLL совпадает с количеством ключей 1 уровня в массиве Mass.<br />Предполагаю, что все это дело в &quot;start&quot; можно как-то укомплектовать и поместить в несколько строк. Помогите с решением. Спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (powercat)]]></author>
			<pubDate>Sat, 26 May 2018 05:43:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=125623#p125623</guid>
		</item>
	</channel>
</rss>
