<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: if делает неверное сравнение...]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=12643</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=12643&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: if делает неверное сравнение...».]]></description>
		<lastBuildDate>Mon, 01 May 2017 17:47:16 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: if делает неверное сравнение...]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=115588#p115588</link>
			<description><![CDATA[<p><strong>stealzy</strong><br />Понял, спасибо, тогда буду дожидаться железа.<br />За совет спасибо, уже раскидал SendMode до/после ^{vk43}.</p>]]></description>
			<author><![CDATA[null@example.com (iSerge)]]></author>
			<pubDate>Mon, 01 May 2017 17:47:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=115588#p115588</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: if делает неверное сравнение...]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=115577#p115577</link>
			<description><![CDATA[<p><strong>stealzy</strong><br />Проблема то уже решена, остался вопрос только по скорости &quot;автомата&quot;.<br />Т.е. это уже от экселя зависит, а не от железа/ahk? Я спрашиваю потому, что ожидается обновление железа в ближайшее время и интересует, стоит ли дождаться его, что бы все это быстрее сделалось или же ждать смысла нет ибо на скорость выполнения это не повлияет?<br /><strong>Indomito</strong><br />За совет спасибо, почитаю что и для чего можно использовать.<br />Однако, в данном случае, уже готово решение, которое меня устраивает.</p>]]></description>
			<author><![CDATA[null@example.com (iSerge)]]></author>
			<pubDate>Mon, 01 May 2017 11:34:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=115577#p115577</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: if делает неверное сравнение...]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=115566#p115566</link>
			<description><![CDATA[<p><strong>iSerge</strong><br />Я извиняюсь, что вклиниваюсь в вашу милую беседу. <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /><br />Может стоит использовать проверенные средства? <br />Например <strong>Microsoft Visual Studio Professional</strong> там есть ну скажем куча языков и готовые библиотеки, если денег жалко или не знаешь где скачать, то я могу дать <strong>Microsoft Visual Studio 2010 Express</strong>, она бесплатная и обрезанная, но всё делает + она проще.</p><br /><p><a href="https://www.microsoft.com/ru-ru/SoftMicrosoft/default.aspx">Бесплатное ПО от Microsoft</a></p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Sun, 30 Apr 2017 22:31:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=115566#p115566</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: if делает неверное сравнение...]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=115554#p115554</link>
			<description><![CDATA[<p><strong>stealzy</strong><br />Ну, например, делает не то, что нужно (Goto тоже иногда то встанет, то сделает не то, что нужно. На параметре SetKeyDelay 33, но реже, чем это делает вариант с Loop. А на более высоких значениях (~60) оба нормально работают).<br />Просто интересно, это уже от того, что проц у меня не очень, а при наличии более быстрого проца и параметр у SetKeyDelay можно меньше ставить? (Или других комплектующих ПК) Или это &quot;предельные скорости&quot; самого ahk?</p>]]></description>
			<author><![CDATA[null@example.com (iSerge)]]></author>
			<pubDate>Sun, 30 Apr 2017 13:24:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=115554#p115554</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: if делает неверное сравнение...]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=115543#p115543</link>
			<description><![CDATA[<p><strong>stealzy</strong><br />Доделал вариант с Loop, что бы автоматом переходил к следующим артикулам, однако, при одинаковых значениях SetKeyDelay 33, вариант с Goto показал себя более надежно (меньше сбоев, не тех действий).<br />Может, моя вина опять, в Loop не доразобрался? Хотя, при SetKeyDelay 60 Loop не сбоит, но 60 слишком медленно.</p><p>Loop<br /></p><div class="codebox"><pre><code>
CoordMode, Mouse , Screen
SetKeyDelay 33

Numpad9::
	{
		Reload
		return
	}

\::

	Loop {
		var100:=&quot;&quot;
		var101:=&quot;&quot;
		nstroki:=0
		clipboard := &quot;&quot;
		Send ^{vk43}
		ClipWait 10
		StringReplace, clipboard, clipboard, `r`n,,All
		var100 := clipboard	;;, clipboard := &quot;&quot;
		Send {down}^{vk43}
		ClipWait 10
		StringReplace, clipboard, clipboard, `r`n,,All
		var101 := clipboard
	
		Loop {
			
			If InStr(var100, &quot;_&quot;) {
				Loop {
					Send, ^{vk43}
					ClipWait 10
					StringReplace, clipboard, clipboard, `r`n,,All
					var101=%clipboard%
					If InStr(var101, &quot;_&quot;) {
						send, {down}
						Continue
					}
					Else Break
				}
				Break
			}
			Else If InStr(var101, &quot;_&quot;) {
				if (nstroki=0) {
					send {up}{LShift down}{right}{LShift up}
					MouseClick left, 280, 100
					Send, {down %nstroki%}{down}
					var100+=1				
				}
				else if (nstroki&gt;0) {
					send {up}{up %nstroki%}{LShift down}{right}{LShift up}^{vk43}{LShift down}{down %nstroki%}{LShift up}^{vk56}{down %nstroki%}{down}
					var100+=1	
				}
				else {
					msgbox if __ error
				}
			}
			Else If (var100&gt;var101) {
				nstroki+=1
				clipboard := &quot;&quot;
				send {down}^{vk43}
				ClipWait 10
				StringReplace, clipboard, clipboard, `r`n,,All
				var101 := clipboard
				Continue
			}
			else if (var100&lt;var101) {
				if (nstroki=0) {
					send {up}{LShift down}{right}{LShift up}
					MouseClick left, 280, 100
					Send, {down %nstroki%}{down}
					var100+=1	
				}
				else if (nstroki&gt;0)	{
					send {up}{up %nstroki%}{LShift down}{right}{LShift up}^{vk43}{LShift down}{down %nstroki%}{LShift up}^{vk56}
					Send, {down %nstroki%}{down}
					var100+=1	
				}
				else {
					msgbox if var100&lt;var101 error
				}
			}
	
			Break
		}
		Continue
	}
</code></pre></div><p>Goto<br /></p><div class="codebox"><pre><code>
CoordMode, Mouse , Screen
SetKeyDelay 33

Numpad9::
	{
		send, {LShift up}{Ctrl up}
		Reload
		return
	}

\::
nachalo:
var100=
var101=
nstroki=0
var55=0
Send, ^{vk43}
sleep 1
StringReplace, clipboard, clipboard, `r`n,,All
sleep 1
var100=%clipboard%
send, {down}
Send, ^{vk43}
sleep 1
StringReplace, clipboard, clipboard, `r`n,,All
sleep 1
var101=%clipboard%
start:
;;stringreplace, var100,var100,`n,,all
;;stringreplace, var101,var101,`n,,all
;;msgbox %var100% %var101%
IfInString, var101, _												;; if __
	{
		if (nstroki=0)													;; if __ =0
			{
			send, {up}{LShift down}{right}{LShift up}
			MouseClick, left, 280, 100
			MouseMove, 195, 637
			send, {down %nstroki%}{down}
			var100+=1
			goto next													;; goto next
			}
		else if (nstroki&gt;0)												;; if __ &gt;0
			{
			send, {up}{up %nstroki%}{LShift down}{right}{LShift up}
			Send, ^{vk43}
			send, {LShift down}{down %nstroki%}{LShift up}
			Send, ^{vk56}
			send, {down %nstroki%}{down}
			var100+=1
			goto next													;; goto next
			}
		else
			{
			msgbox if __ error
			return
			}
	}
else if (var100&gt;var101)													;; if var100&gt;var101
	{
	nstroki+=1
	send, {down}
	Send, ^{vk43}
	sleep 1
	StringReplace, clipboard, clipboard, `r`n,,All
	sleep 1
	var101=%clipboard%
	goto start
	}
else if (var100&lt;var101)													;; if var100&lt;var101
	{
		if (nstroki=0)													;; if var100&lt;var101 =0
			{
			send, {up}{LShift down}{right}{LShift up}
			MouseClick, left, 280, 100
			MouseMove, 195, 637
			send, {down %nstroki%}{down}
			var100+=1
			goto next													;; goto next
			}
		else if (nstroki&gt;0)												;; if var100&lt;var101 &gt;0
			{
			send, {up}{up %nstroki%}{LShift down}{right}{LShift up}
			Send, ^{vk43}
			send, {LShift down}{down %nstroki%}{LShift up} 
			Send, ^{vk56}
			send, {down %nstroki%}{down}
			var100+=1
			goto next													;; goto next
			}
		else
			{
			msgbox if var100&lt;var101 error
			return
			}
	}

next:
Send, ^{vk43}
sleep 1
StringReplace, clipboard, clipboard, `r`n,,All
sleep 1
var101=%clipboard%
sleep 1
if (var100=var101)
	{
	goto nachalo
	}
else IfInString, var101, _
	{
	send, {down}
	goto next
	}
return
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (iSerge)]]></author>
			<pubDate>Sun, 30 Apr 2017 09:34:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=115543#p115543</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: if делает неверное сравнение...]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=115473#p115473</link>
			<description><![CDATA[<p><strong>stealzy</strong><br />Благодарю!<br />Моя версия иногда сбоит, сейчас потестю вашу.</p>]]></description>
			<author><![CDATA[null@example.com (iSerge)]]></author>
			<pubDate>Sat, 29 Apr 2017 13:49:01 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=115473#p115473</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: if делает неверное сравнение...]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=115471#p115471</link>
			<description><![CDATA[<p>Без goto:<br /></p><div class="codebox"><pre><code>SetKeyDelay 30
var100:=&quot;&quot;, var101:=&quot;&quot;, nstroki:=0, var55:=0

\::
	clipboard := &quot;&quot;
	Send ^{vk43}
	ClipWait 1
	var100 := clipboard, clipboard := &quot;&quot;
	Send {down}^{vk43}
	ClipWait 1
	var101 := clipboard

	Loop {
		Msgbox % var100 &quot; &quot; var101

		If InStr(var101, &quot;____&quot;) {
			if (nstroki=0) {
				send {up}{LShift down}{right}{LShift up}
				MouseClick left, 280, 100
				MsgBox next
			}
			else if (nstroki&gt;0) {
				send {up}{up %nstroki%}{LShift down}{right}{LShift up}^{vk43}{LShift down}{down %nstroki%}{LShift up}^{vk56}
				MsgBox next
			}
			else {
				msgbox if __ error
			}
		}
		else if (var100&gt;var101) {
			nstroki+=1
			clipboard := &quot;&quot;
			send {down}^{vk43}
			ClipWait 1
			var101 := clipboard
			Continue
		}
		else if (var100&lt;var101) {
			if (nstroki=0) {
				send {up}{LShift down}{right}{LShift up}
				MouseClick left, 280, 100
				MsgBox next
			}
			else if (nstroki&gt;0)	{
				send {up}{up %nstroki%}{LShift down}{right}{LShift up}^{vk43}{LShift down}{down %nstroki%}{LShift up}^{vk56}
				MsgBox next
			}
			else {
				msgbox if var100&lt;var101 error
			}
		}

		Break
	}
	Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Sat, 29 Apr 2017 13:38:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=115471#p115471</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: if делает неверное сравнение...]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=115464#p115464</link>
			<description><![CDATA[<p><strong>Malcev</strong><br />Понятно, спасибо.<br />Добавил в закладки, как-нибудь посижу, почитаю.</p>]]></description>
			<author><![CDATA[null@example.com (iSerge)]]></author>
			<pubDate>Sat, 29 Apr 2017 12:10:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=115464#p115464</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: if делает неверное сравнение...]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=115463#p115463</link>
			<description><![CDATA[<p>Ваш вариант менее надежный (зависит от нажатий клавиш) и более медленный (слипы).<br />А через апи библиотеку вы даёте команды напрямую приложению.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Sat, 29 Apr 2017 11:59:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=115463#p115463</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: if делает неверное сравнение...]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=115462#p115462</link>
			<description><![CDATA[<p><strong>Malcev</strong><br />Я, конечно, не знаю каким методом там происходит работа, но, помимо описанных мной требований к вносимым изменениям, имеются еще несколько условий, встречающихся крайне редко (внесение этих условий в скрипт - затормозит скорость выполнения. Проще ручками при визуальном обнаружении во время слежения за правильнотью хода и полнотой выполнения).<br />Поэтому я решил все таки остановиться на моем варианте, ввиду отсутствия необходимости в чем либо дополнительно разбираться, а так же его достаточности для моих нужд в конкретном варианте.</p><p>Если не сложно, можете вкратце описать, чем тот вариант будет лучше и принцип его работы? Он работает в фоне или так же, в активном окне? Спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (iSerge)]]></author>
			<pubDate>Sat, 29 Apr 2017 11:44:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=115462#p115462</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: if делает неверное сравнение...]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=115457#p115457</link>
			<description><![CDATA[<p><strong>iSerge</strong>, а чем вам не понравилось предложение <strong>stealzy</strong> автоматизировать через COM?</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Sat, 29 Apr 2017 11:01:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=115457#p115457</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: if делает неверное сравнение...]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=115451#p115451</link>
			<description><![CDATA[<p><strong>stealzy</strong><br />Спасибо за знакомство с &quot;SetKeyDelay&quot;!<br />По поводу Goto next - там будет прокрутка до следующего артикула, в случае кучи строк с &quot;___&quot;.<br />Хотя, после вашего сообщения, думаю затисать это в условие с &quot;___&quot;.<br /><strong>Alectric</strong><br />Спасибо! Проблема решилась по вашей наводке.<br />Только `n не помогало, заменил на `r`n.<br />Думал конечно, что может быть из-за ентеров, только до этого момента же все норм было.<br />Главное, проблема решена, еще раз спасибо за помощь!</p>]]></description>
			<author><![CDATA[null@example.com (iSerge)]]></author>
			<pubDate>Sat, 29 Apr 2017 09:43:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=115451#p115451</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: if делает неверное сравнение...]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=115449#p115449</link>
			<description><![CDATA[<p><span style="color: green"><strong>iSerge</strong><br />Ознакомьтесь с <a href="http://forum.script-coding.com/misc.php?action=rules">правилами</a> полностью. В частности:</span><br /></p><div class="quotebox"><blockquote><p>Избегайте избыточного цитирования! <span class="bbu">Не цитируйте пост, на который отвечаете, целиком.</span> Используйте цитирование только в том случае, если иначе не будет понятно, на что Вы отвечаете, и старайтесь выбирать только ключевые фразы.</p></blockquote></div><p><span style="color: green">Вместо полных цитат последних постов участников достаточно обращений по нику (см. в правый угол поста). Прошу принять во внимание и исправить в своих постах. Тем более не нужно цитировать модераторские обращения, достаточно выполнить просьбу.</span></p>]]></description>
			<author><![CDATA[null@example.com (Flasher)]]></author>
			<pubDate>Sat, 29 Apr 2017 05:20:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=115449#p115449</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: if делает неверное сравнение...]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=115447#p115447</link>
			<description><![CDATA[<p>В переменную ентер затисался.<br /></p><div class="codebox"><pre><code>var100:=7161259 &quot;`n&quot;, var101:=8
msgbox % var100 &quot; &quot; var101 ; - тут &quot;7161259&quot; и &quot;8&quot;
IfInString, var101, ___ ; 1ое условие, проверка на &quot;____&quot;, не подходит
	MsgBox ok
else if (var100&gt;var101) ; 2ое условие (если (7161259&gt;8)), не подходит!!! &lt;&lt;&lt;
	MsgBox Опять врешь
else if (var100&lt;var101) ; 3е условие (если (7161259&lt;8)), подходит!!! &lt;&lt;&lt;
	MsgBox Да?
</code></pre></div><p>Чисть переменные от ентеров перед сравнением.<br /></p><div class="codebox"><pre><code>stringreplace,var100,var100,`n,,all
stringreplace,var101,var101,`n,,all
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Sat, 29 Apr 2017 04:55:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=115447#p115447</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: if делает неверное сравнение...]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=115445#p115445</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Без Sleep 1 не успевает</p></blockquote></div><p><em>SetKeyDelay 30</em> попробуйте.<br /></p><div class="quotebox"><blockquote><p>Без Goto не обойтись</p></blockquote></div><p>Да ну? В редакторе замените все &quot;goto next&quot; на &quot;MsgBox next&quot;.<br /></p><div class="codebox"><pre><code>var100:=7161259, var101:=8
msgbox % var100 &quot; &quot; var101 ; - тут &quot;7161259&quot; и &quot;8&quot;
IfInString, var101, ___ ; 1ое условие, проверка на &quot;____&quot;, не подходит
	MsgBox ok
else if (var100&gt;var101) ; 2ое условие (если (7161259&gt;8)), не подходит!!! &lt;&lt;&lt;
	MsgBox Опять врешь
else if (var100&lt;var101) ; 3е условие (если (7161259&lt;8)), подходит!!! &lt;&lt;&lt;
	MsgBox Да?</code></pre></div><p>Еще какие претензии к If остались?</p><p>Метки nachalo и start не нужны. На месте метки start делаете цикл, на месте goto start ставите continue.<br />Return из процедуры по горячей клавише / не обозначен.<br />Вообще ничего путного из такой работы с экселем через нажатия клавиш не выйдет.<br />Если &quot;ексель не нужен&quot; используйте ahk gui. Если нужен, используйте предназначенные для него средства.</p>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Fri, 28 Apr 2017 19:56:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=115445#p115445</guid>
		</item>
	</channel>
</rss>
