<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Перебор возможных комбинаций]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11205&amp;type=atom" />
	<updated>2016-01-08T22:45:28Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=11205</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перебор возможных комбинаций]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100220#p100220" />
			<content type="html"><![CDATA[<p>Отлично! Все понятно, хотя доходило больше часа. Спасибо большое.</p>]]></content>
			<author>
				<name><![CDATA[Странникх]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30605</uri>
			</author>
			<updated>2016-01-08T22:45:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100220#p100220</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перебор возможных комбинаций]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100218#p100218" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Странникх пишет:</cite><blockquote><p>Не могу понять свою синтаксическую ошибку</p></blockquote></div><div class="codebox"><pre><code>m_1 := &quot;false&quot;
m_2 := &quot;false&quot;
m_3 := &quot;false&quot;
m_4 := &quot;true&quot;
m_5 := &quot;false&quot;

If (%m_1% %m_2% %m_3% %m_4% %m_5% ~= &quot;^(&quot; false true false false false 
								    . &quot;|&quot; true false false false false &quot;)$&quot;)
									  
									 MsgBox 1</code></pre></div><p>Оператор должен быть из одной вертикальной линии и в кавычках. </p><br /><p>Насчет InStr() не знаю. Не использовал эту функцию не разу.</p>]]></content>
			<author>
				<name><![CDATA[yalanne]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32850</uri>
			</author>
			<updated>2016-01-08T22:40:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100218#p100218</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перебор возможных комбинаций]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100217#p100217" />
			<content type="html"><![CDATA[<p>Не могу понять свою синтаксическую ошибку в этих условиях:<br /></p><div class="codebox"><pre><code>
m_1 := &quot;false&quot;
m_2 := &quot;false&quot;
m_3 := &quot;false&quot;
m_4 := &quot;true&quot;
m_5 := &quot;false&quot;

If (%m_1% %m_2% %m_3% %m_4% %m_5% ~= &quot;^(&quot; false true false false false 
									   || true false false false false &quot;)$&quot;)</code></pre></div><p>Если убрать последнюю строчку, то условия работают, как полагаются. А в этом примере они работают, даже когда не соблюдены (то есть m_4 = &quot;true&quot;)</p><p>ADD:<br />Прочитал в справке про Производительность RegExMatch. Возник вопрос.<br /></p><div class="quotebox"><blockquote><p>Для поиска простых подстрок используйте функцию InStr(), поскольку она быстрее, чем RegExMatch().</p></blockquote></div><p>Насколько сильно может вызывать задержку в мс функция RegExMatch?</p>]]></content>
			<author>
				<name><![CDATA[Странникх]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30605</uri>
			</author>
			<updated>2016-01-08T22:20:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100217#p100217</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перебор возможных комбинаций]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100175#p100175" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Странникх пишет:</cite><blockquote><p>любой m_ЧИСЛО</p></blockquote></div><p>Этих переменных может быть любое количество или строго 5?</p><p>Если всегда 5 то вот:<br /></p><div class="codebox"><pre><code>m_value := 0
m_1 := &quot;true&quot;
m_2 := &quot;false&quot;
m_3 := &quot;false&quot;
m_4 := &quot;false&quot;
m_5 := &quot;false&quot;


m_MaxIndexsTrue := %m_1% + %m_2% + %m_3% + %m_4% + %m_5%

if (m_value != 1)
? (m_MaxIndexsTrue = 1) ; Если m.value НЕравно 1 и Количество true равно 1, то истина по этому условию.
: (m_MaxIndexsTrue = 2) ; Если m.value равно 1 и Количество true равно 2, то истина по этому условию.
  MsgBox 1</code></pre></div><p>Если любое количество то, уже через массив. Скорей всего если любое кол-во, то это определяется в цикле под определенным условием( в этом случает true если индекс в цикле равно 3)<br /></p><div class="codebox"><pre><code>m := {}

m.value := 0


m.Index := [] ; очистка массива.

loop 6
{
if (A_Index = 3)
 v := &quot;true&quot;
Else
 v := &quot;false&quot;

m.Index.Insert(v)
}

m.MaxIndexsTrue := 0
for i,k in m.Index
    m.MaxIndexsTrue += %k%

  
if (m.value != 1)
? (m.MaxIndexsTrue = 1) ; Если m.value НЕравно 1 и Количество true равно 1, то истина по этому условию.
: (m.MaxIndexsTrue = 2) ; Если m.value равно 1 и Количество true равно 2, то истина по этому условию.
  MsgBox 1</code></pre></div>]]></content>
			<author>
				<name><![CDATA[yalanne]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32850</uri>
			</author>
			<updated>2016-01-05T12:07:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100175#p100175</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перебор возможных комбинаций]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100174#p100174" />
			<content type="html"><![CDATA[<p>&#039;~=&#039; - Это сокращенный вариант функции RegExMatch(). Но в отличии от этой функции Этот оператор принимает только Haystack(слева) и NeedleRegEx (справа).</p><p>В RegEx символ &#039;^&#039; означает что поиск будет с начала строки.<br />Дальше идут круглые скобки &#039;()&#039; с помощью их можно указать группу символов. Знак вертикального разделения &#039;|&#039; служит в RegEx оператором &#039;ИЛИ&#039;. с помощью переменной внедряется часть шаблона regex в скобки.<br />&#039;$&#039; Значит что это конец строки и после него не чего не может быть.</p><p>И да в переменной можно в место &quot;01000&quot; можно указать шаблон поиска &quot;falsetruefalsefalsefalse&quot;(можно переписать на более читаемый для юзера шаблон по желанию). Во втором примере просто строковая true\false преобразовывались в число 1\0.</p><p>В общем То что слева объединяется в одну строку и если оно равно одному из вариантов из переменной variants перечисленные через &#039;|&#039;&nbsp; то условие истина.</p><p>Сейчас постараюсь написать как вы описали.</p>]]></content>
			<author>
				<name><![CDATA[yalanne]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32850</uri>
			</author>
			<updated>2016-01-05T11:46:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100174#p100174</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перебор возможных комбинаций]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100172#p100172" />
			<content type="html"><![CDATA[<p>Не совсем понял как применить для решения своей задачи. Как сверить, чтобы при m_value != 1 находился скажем любой m_ЧИСЛО со значением true, так, чтобы остальные (оставшиеся) m_ЧИСЛО были в значении false?</p><p>По аналогии, при m_value != 1 найти только 2 переменных m_ЧИСЛО в значении true, остальные false.</p><p>Не могли бы пояснить запись:<br /></p><div class="codebox"><pre><code>~= &quot;^(&quot; variants &quot;)$&quot;)
; и саму переменную
variants := &quot;01000|10000&quot;</code></pre></div><p>От 01000 до 10000 так понимаю разброс в цифровом значении, а как в буквенным виде сверять тогда?</p>]]></content>
			<author>
				<name><![CDATA[Странникх]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30605</uri>
			</author>
			<updated>2016-01-05T11:20:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100172#p100172</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перебор возможных комбинаций]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100170#p100170" />
			<content type="html"><![CDATA[<p>Вот так подходит? <br /></p><div class="codebox"><pre><code>m_value := 2
m_1 := true
m_2 := false
m_3 := false
m_4 := false
m_5 := false



variants := &quot;01000|10000&quot;

if (m_value != 1)
and (m_1 m_2 m_3 m_4 m_5 ~= &quot;^(&quot; variants &quot;)$&quot;)
	MsgBox 1</code></pre></div><p>Если же надо что бы true\false указывалась как текст, то есть в кавычках то вот:<br /></p><div class="codebox"><pre><code>m_value := 2
m_1 := &quot;false&quot;
m_2 := &quot;true&quot;
m_3 := &quot;false&quot;
m_4 := &quot;false&quot;
m_5 := &quot;false&quot;



variants := &quot;01000|10000&quot;

if (m_value != 1)
and (%m_1% %m_2% %m_3% %m_4% %m_5% ~= &quot;^(&quot; variants &quot;)$&quot;)
	MsgBox 1</code></pre></div>]]></content>
			<author>
				<name><![CDATA[yalanne]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32850</uri>
			</author>
			<updated>2016-01-05T10:45:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100170#p100170</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Перебор возможных комбинаций]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100166#p100166" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>If (m_value != 1
&amp;&amp; ((m_1 = &quot;true&quot;	
&amp;&amp; m_2 = &quot;false&quot;	
&amp;&amp; m_3 = &quot;false&quot;	
&amp;&amp; m_4 = &quot;false&quot;	
&amp;&amp; m_5 = &quot;false&quot;)
|| (m_1 = &quot;false&quot;	
&amp;&amp; m_2 = &quot;true&quot;	
&amp;&amp; m_3 = &quot;false&quot;	
&amp;&amp; m_4 = &quot;false&quot;	
&amp;&amp; m_5 = &quot;false&quot;)))</code></pre></div><p>Я подозреваю эту жизнь упрощает какой-нибудь массив, к сожалению, не умею с ними обращаться. Помогите упростить, пожалуйста, думаю решение у многих есть.<br />В интернете ничего не нашел подобного.</p>]]></content>
			<author>
				<name><![CDATA[Странникх]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30605</uri>
			</author>
			<updated>2016-01-05T00:39:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100166#p100166</id>
		</entry>
</feed>
