<?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=6029&amp;type=atom" />
	<updated>2011-07-22T09:55:30Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=6029</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск по строке]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=50093#p50093" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Apache пишет:</cite><blockquote><p>...как сделать так, что бы FileReadLine искал определенные выражения...<br />Иногда лог оставляет после последней строки &quot;Ентер&quot; (т.е. пустую строчку)...</p></blockquote></div><p>В моём примере выражения/пустые строки скрипт находит,</p><div class="quotebox"><cite>Apache пишет:</cite><blockquote><p>Как правильно из OutputVar вычесть 1...</p></blockquote></div><p>не понятен вопрос,</p><div class="quotebox"><cite>Apache пишет:</cite><blockquote><p>Есть ли еще какие-нибудь книги/сайты с русским самоучителем...</p></blockquote></div><p>не знаю.</p>]]></content>
			<author>
				<name><![CDATA[Grey]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25792</uri>
			</author>
			<updated>2011-07-22T09:55:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=50093#p50093</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск по строке]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=50089#p50089" />
			<content type="html"><![CDATA[<p>Благодарю, Gray. Осталось еще 2 вопроса.</p>]]></content>
			<author>
				<name><![CDATA[Apache]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27097</uri>
			</author>
			<updated>2011-07-22T09:26:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=50089#p50089</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск по строке]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=50040#p50040" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Apache пишет:</cite><blockquote><p>...как сделать так, что бы FileReadLine искал определенные выражения, а не всю строку.</p></blockquote></div><p>Не обязательно именно этой командой делать поиск. Файл-лог, с содержимым к примеру такого плана:</p><div class="quotebox"><blockquote><p>[12:17:05] * Ivan_Ivanov[222] сказал: Дайте денег пожалуйста</p><p>[12:19:05] * Peter_Petrov[210] сказал: Привет, для тебя у меня их нет! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>[12:20:25] * Ivan_Ivanov[222] сказал: Спасибо добр-человек, ну а у самого-то как дела?<br />[12:20:53] * Peter_Petrov[210] сказал: Да жирую поманеньку...</p></blockquote></div><p>сохраняем под именем test.log в папке скрипта.</p><div class="codebox"><pre><code>IfNotExist, %A_ScriptDir%\test.log
   {
      MsgBox,,, Искомого файла нет, 1
      ExitApp
   }
StringCaseSense, Locale
FindWords := &quot;дайте денег,привет,как дела?&quot; ; переменная-фильтр
Loop, Read, %A_ScriptDir%\test.log
   {
      If !A_LoopReadLine
         {
            EmptyString := % A_Index
            CountEmptyStringNum .= &quot;, &quot;EmptyString
            CountEmptyString++
            MsgBox, 4,, % &quot;Читение строки: &quot;A_Index
                      . &quot;`nСодержание: это пустая строка`n`nПродолжить?&quot;, 2
         }
      Else
         MsgBox, 4,, % &quot;Читение строки: &quot;A_Index
                   . &quot;`nСодержание: &quot;A_LoopReadLine &quot;`n`nПродолжить?&quot;, 2
      IfMsgBox, No
         Return
   }
Loop, Parse, FindWords, `, ; поиск слова из чила слов в переменной-фильтре
   {
      FileRead, OutPutVar, %A_ScriptDir%\test.log
      IfInString, OutPutVar, % A_LoopField
         {
            CurrentWord := % A_LoopField
            FoundWords .= &quot;, &quot;CurrentWord
            FoundWordsNum++
         }
   }
StringTrimLeft, FoundWords2, FoundWords, 1 ; обрезка ненужной запятой
StringTrimLeft, CountEmptyStringNum2, CountEmptyStringNum, 1 ; тоже самое
If !CurrentWord
   MsgBox,,, Слова из переменной-фильтра не найдены, 2
Else
   MsgBox,,, % &quot;Из переменной-фильтра`n`nнайдено: &quot;FoundWords2
                                    . &quot;`nколичество: &quot;FoundWordsNum, 3
If !EmptyString
   MsgBox,,, Пустых строк не обнаружено, 2
Else
   MsgBox,,, % &quot;Имеются пустые строки`n`nномер: &quot;CountEmptyStringNum2
                                    . &quot;`nколичество: &quot;CountEmptyString, 3
ExitApp</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Grey]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25792</uri>
			</author>
			<updated>2011-07-21T05:24:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=50040#p50040</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Поиск по строке]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=50012#p50012" />
			<content type="html"><![CDATA[<p>Всем привет. Дорогие читатели: Надеюсь на вашу помощь. У меня есть несколько вопросов:<br />1. </p><div class="codebox"><pre><code>IniRead, msg1, Settings.ini, biblioteka, %keylog%
MsgBox %msg1%</code></pre></div><p>Сделал код, которые считает все строки с текстового файла и вставляет эту цифру в FileReadLine. Оператор читает последнюю строку и сравнивает и Settings.ini (Есть ли такой параметр)<br />Так вот, допустим, что в текстовый файл поступила строка:<br /></p><div class="quotebox"><blockquote><p>[12:17:05] * Ivan_Ivanov[222] сказал: Дайте денег пожалуйста</p></blockquote></div><p>Так вот, содержание ини файла:<br /></p><div class="codebox"><pre><code>[Param]
Chat=*****
[biblioteka]
Дайте денег=Запрещено правилами сервера
Привет=Привет
Как дела?=Хорошо, сам как?</code></pre></div><p>и т.д.<br />Так вот, как сделать так, что бы FileReadLine искал определенные выражения, а не всю строку.<br />2 вопрос: Иногда лог оставляет после последней строки &quot;Ентер&quot; (т.е. пустую строчку)<br />Как правильно из OutputVar вычесть 1 (Желательно с примером) Читал про EnvSub, но не могу понять - в какой переменной выходит ответ?<br />3 вопрос: Есть ли еще какие-нибудь книги/сайты с русским самоучителем или просто со спсиком операторов и прочего.</p>]]></content>
			<author>
				<name><![CDATA[Apache]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27097</uri>
			</author>
			<updated>2011-07-20T10:13:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=50012#p50012</id>
		</entry>
</feed>
