<?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=15769&amp;type=atom" />
	<updated>2020-10-29T10:52:34Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=15769</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Скрипт не работает должным образом.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142972#p142972" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>SuBrex пишет:</cite><blockquote><p>не могли бы Вы дать мне ссылку на прочтение</p></blockquote></div><p><a href="https://www.autohotkey.com/docs/commands/IfExpression.htm">If (Expression)</a></p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2020-10-29T10:52:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142972#p142972</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Скрипт не работает должным образом.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142971#p142971" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong><br />Устранил все названые Вами проблемы, всё заработало. <br /></p><div class="codebox"><pre><code>
InputBox, ПервыйФайл, Путь первого файла, , , 300, 100, , , , ,
InputBox, ВторойФайл, Путь второго файла, , , 300, 100, , , , , 


Loop, Read, %ВторойФайл%
 {
 EnvAdd, ЧислоСтрок, 1
 }
 
 
Loop, Read, %ПервыйФайл%
{
ЧислоНесовподающихСтрок := 0
СтрокаОсновного := A_LoopReadLine

Loop, Read, %ВторойФайл%
 {
 If A_LoopReadLine = %СтрокаОсновного%
  {
  Break
  }
 Else
 EnvAdd, ЧислоНесовподающихСтрок, 1
 If (ЧислоСтрок = ЧислоНесовподающихСтрок)
  {
  Clipboard = %СтрокаОсновного%
  MsgBox, 64, Несовпадающая строка, %СтрокаОсновного%
  Break
  }
 Else
 Continue
 }
 
}
MsgBox, 64, Отчёт , Проверка окончена!
Sleep, 3000
ExitApp
Return
</code></pre></div><p>Большое Вам за это спасибо!<br />P.S. Только я не понял, что делают эти &quot;чудо-скобки&quot;, не могли бы Вы дать мне ссылку на прочтение или объяснить?<br /></p><div class="codebox"><pre><code>If (ЧислоСтрок = ЧислоНесовподающихСтрок)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[SuBrex]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40829</uri>
			</author>
			<updated>2020-10-29T10:46:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142971#p142971</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Скрипт не работает должным образом.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142970#p142970" />
			<content type="html"><![CDATA[<p>А, кажется понял, вы ищете каждую строку по всему файлу. Тогда поменяйте<br /></p><div class="codebox"><pre><code>If %ЧислоСтрок% = %ЧислоНесовподающихСтрок%</code></pre></div><p>на</p><div class="codebox"><pre><code>If (ЧислоСтрок = ЧислоНесовподающихСтрок)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2020-10-29T10:29:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142970#p142970</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Скрипт не работает должным образом.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142969#p142969" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>SuBrex пишет:</cite><blockquote><div class="codebox"><pre><code> If A_LoopReadLine = %СтрокаОсновного%
  {
  EnvAdd, ЧислоНесовподающихСтрок, 1</code></pre></div></blockquote></div><p>Не очень понял, зачем вы тут увеличиваете количество несовпадающих строк, если строки были равны?<br /></p><div class="quotebox"><cite>SuBrex пишет:</cite><blockquote><p>По задумке скрипта, если кол-во несовпадающих строк равно всему кол-ву строк, тогда это означает, что искомой строки в файле нет и она должна высветиться.</p></blockquote></div><p>Тоже не понял идею. Если полное количество строк равно 5, а количество несовпадающих 1, строка никогда не высветится.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2020-10-29T10:14:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142969#p142969</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Скрипт не работает должным образом.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142968#p142968" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong></p><div class="quotebox"><blockquote><p>Если в одной строке присутствует другая, это не значит, что строки совпадают, например «test» и «tes».</p></blockquote></div><p>Теперь сделал так:<br /></p><div class="codebox"><pre><code>
InputBox, ПервыйФайл, Путь первого файла, , , 300, 100, , , , ,
InputBox, ВторойФайл, Путь второго файла, , , 300, 100, , , , , 


Loop, Read, %ВторойФайл%
 {
 EnvAdd, ЧислоСтрок, 1
 }
 
 
Loop, Read, %ПервыйФайл%
{
ЧислоНесовподающихСтрок := 0
СтрокаОсновного := A_LoopReadLine

Loop, Read, %ВторойФайл%
 {
 If A_LoopReadLine = %СтрокаОсновного%
  {
  EnvAdd, ЧислоНесовподающихСтрок, 1
  If %ЧислоСтрок% = %ЧислоНесовподающихСтрок%
   {
   Clipboard = %СтрокаОсновного%
   MsgBox, 64, Несовпадающая строка, %СтрокаОсновного%
   Break
   }
  Else
  Continue
  }
 }
 
}
MsgBox, 64, Отчёт , Проверка окончена!
Sleep, 3000
ExitApp
Return
</code></pre></div><p>В теории, это должно решить проблему, которую Вы описали</p><p>А вот с синтаксисом не понял. По задумке скрипта, если кол-во несовпадающих строк равно всему кол-ву строк, тогда это означает, что искомой строки в файле нет и она должна высветиться. Но Вы говорите, что даже при таком условии MsgBox не высветиться, честно говоря на этом этапе я не понимаю как мне решить проблему.</p>]]></content>
			<author>
				<name><![CDATA[SuBrex]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40829</uri>
			</author>
			<updated>2020-10-29T10:06:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142968#p142968</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Скрипт не работает должным образом.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142967#p142967" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>SuBrex пишет:</cite><blockquote><div class="codebox"><pre><code>IfNotInString, A_LoopReadLine, %СтрокаОсновного%</code></pre></div></blockquote></div><p>Если в одной строке присутствует другая, это не значит, что строки совпадают, например «test» и «tes».<br />Далее, у вас MsgBox появляется, только если</p><div class="quotebox"><cite>SuBrex пишет:</cite><blockquote><div class="codebox"><pre><code>If %ЧислоСтрок% = %ЧислоНесовподающихСтрок%</code></pre></div></blockquote></div><p>Во-первых, если <em>ЧислоСтрок</em> равно пяти, а <em>ЧислоНесовподающихСтрок</em> равно единице, сообщение не должно появиться. Во-вторых, даже если эти две переменные равны, сообщение всё равно не появится, неверный синтаксис:<br /></p><div class="codebox"><pre><code>ЧислоСтрок := 5
ЧислоНесовподающихСтрок := 5
If %ЧислоСтрок% = %ЧислоНесовподающихСтрок%
   MsgBox, переменные равны</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2020-10-29T09:40:26Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142967#p142967</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Скрипт не работает должным образом.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142963#p142963" />
			<content type="html"><![CDATA[<p>Приветствую всех. Написал скрипт, который должен сопоставлять поочерёдно строку первого документа со всеми строками второго и, в случае несовпадения, должен высвечивать несовпадающую строку на экран, при этом копируя её в буфер обмена.<br />Вроде на экране код выглядит идеально, но проблема в том, что когда я создал два тестировочных файла по 5 строк в каждом, скрипт не нашёл несовпадающей строки.<br />Кто-нибудь подскажите, пожалуйста, почему скрипт упорно высвечивает мне &quot;Проверка окончена&quot;. Спасибо за ответ.</p><div class="codebox"><pre><code>
InputBox, ПервыйФайл, Путь первого файла, , , 300, 100, , , , ,
InputBox, ВторойФайл, Путь второго файла, , , 300, 100, , , , , 


Loop, Read, %ВторойФайл%
 {
 EnvAdd, ЧислоСтрок, 1
 }
 
 
Loop, Read, %ПервыйФайл%
{
ЧислоНесовподающихСтрок := 0
СтрокаОсновного := A_LoopReadLine

Loop, Read, %ВторойФайл%
 {
 IfNotInString, A_LoopReadLine, %СтрокаОсновного%
  {
  EnvAdd, ЧислоНесовподающихСтрок, 1
  If %ЧислоСтрок% = %ЧислоНесовподающихСтрок%
   {
   Clipboard = %СтрокаОсновного%
   MsgBox, 64, Несовпадающая строка, %СтрокаОсновного%
   Break
   }
  Else
  Continue
  }
 }
 
}
MsgBox, 64, Отчёт , Проверка окончена!
Sleep, 3000
ExitApp
Return
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[SuBrex]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40829</uri>
			</author>
			<updated>2020-10-29T06:54:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142963#p142963</id>
		</entry>
</feed>
