<?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=6417&amp;type=atom" />
	<updated>2011-11-09T13:22:11Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=6417</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обработка текстовго файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=53371#p53371" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Александр_ пишет:</cite><blockquote><div class="quotebox"><cite>Pokerist пишет:</cite><blockquote><p>Александр, спасибо! Но&nbsp; почему-то не срабатывает &quot;if&quot;. Выводятся&nbsp; все имена файлов по очереди, хотя время с момента изменения в каждом сообщении указано верно.</p></blockquote></div><p>Наверно разные версии AHK, я использую <a href="http://www.autohotkey.net/~Lexikos/AutoHotkey_L/">AHK_L</a>. Попробуйте так:</p></blockquote></div><p>Ругается на&nbsp; &quot;} }&quot; если так:</p><div class="codebox"><pre><code>Loop, C:\Del\*.*, A_LoopFileTimeModified , 1 ; Рекурсия в подпапки.
{
   x := A_Now ; текущее время
   x -= A_LoopFileTimeModified ; текущее время минус дата модификации файла
   if(x&lt;3) ; если больше 3 секунд, то выводим имя файла и время, прошедшее с последней модификаци
 {
   msgbox %A_LoopFileName%, %x%
 }
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Pokerist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24990</uri>
			</author>
			<updated>2011-11-09T13:22:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=53371#p53371</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обработка текстовго файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=53369#p53369" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Pokerist пишет:</cite><blockquote><p>Александр, спасибо! Но&nbsp; почему-то не срабатывает &quot;if&quot;. Выводятся&nbsp; все имена файлов по очереди, хотя время с момента изменения в каждом сообщении указано верно.</p></blockquote></div><p>Наверно разные версии AHK, я использую <a href="http://www.autohotkey.net/~Lexikos/AutoHotkey_L/">AHK_L</a>. Попробуйте так:<br /></p><div class="codebox"><pre><code>if x&lt;=3 
{
   msgbox %A_LoopFileName%, %x%
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2011-11-09T12:26:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=53369#p53369</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обработка текстовго файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=53368#p53368" />
			<content type="html"><![CDATA[<p>Александр, спасибо! Но&nbsp; почему-то не срабатывает &quot;if&quot;. Выводятся&nbsp; все имена файлов по очереди, хотя время с момента изменения в каждом сообщении указано верно.</p>]]></content>
			<author>
				<name><![CDATA[Pokerist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24990</uri>
			</author>
			<updated>2011-11-09T12:03:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=53368#p53368</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обработка текстовго файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=53363#p53363" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Pokerist пишет:</cite><blockquote><p>Насколько я понял этот оператор проверит все файлы в папке, запомнит всех их атрибуты. Теперь мне нужно получить список файлов, которые были измнены за последние 3 сек.<br /> Как это сделать? Допустим время&nbsp; 201111101010.&nbsp; Что мне делать с&nbsp; %A_LoopFileTimeModified% ?</p></blockquote></div><div class="codebox"><pre><code>Loop %A_ScriptDir%\* ;все файлы в папке со скриптом
{
   x := A_Now ; текущее время
   x -= A_LoopFileTimeModified ; текущее время минус дата модификации файла
   if(x&lt;=3) ; если не больше 3 секунд, то выводим имя файла и время, прошедшее с последней модификации
      msgbox %A_LoopFileName%, %x%
}</code></pre></div><p>см. также <a href="http://www.autohotkey.com/docs/commands/EnvSub.htm">EnvSub</a>/<a href="http://www.autohotkey.com/docs/commands/EnvAdd.htm">EnvAdd</a>.</p>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2011-11-09T09:00:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=53363#p53363</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обработка текстовго файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=53358#p53358" />
			<content type="html"><![CDATA[<p>Например:<br /></p><div class="codebox"><pre><code>wPath = %A_AppData%\Folder
wFileName = *
wFileExtension = log

SetTimer, filecheck, 6000
filecheck:
  Loop, %wPath%\%wFileName%.%wFileExtension%
  {
     StringReplace, filename, A_LoopFileName, . ,,A  
     if !(A_LoopFileTimeModified = time_%filename%) {
        ; ...
        ; Действия
        ; ...
     }
  }</code></pre></div>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2011-11-09T00:23:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=53358#p53358</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обработка текстовго файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=53357#p53357" />
			<content type="html"><![CDATA[<p>Спасибо за помощь!</p><div class="quotebox"><cite>Александр_ пишет:</cite><blockquote><div class="quotebox"><cite>Pokerist пишет:</cite><blockquote><p>1. Проверять в папке файлы на обновление каждые 3 секунды</p></blockquote></div><p>См. <a href="http://www.script-coding.com/AutoHotkey/LoopFilesFolders.html">Loop</a>.</p></blockquote></div><p>Насколько я понял этот оператор проверит все файлы в папке, запомнит всех их атрибуты. Теперь мне нужно получить список файлов, которые были измнены за последние 3 сек.<br /> Как это сделать? Допустим время&nbsp; 201111101010.&nbsp; Что мне делать с&nbsp; %A_LoopFileTimeModified% ?</p>]]></content>
			<author>
				<name><![CDATA[Pokerist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24990</uri>
			</author>
			<updated>2011-11-08T23:47:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=53357#p53357</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обработка текстовго файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=53341#p53341" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Pokerist пишет:</cite><blockquote><p>1. Проверять в папке файлы на обновление каждые 3 секунды</p></blockquote></div><p>См. <a href="http://www.script-coding.com/AutoHotkey/LoopFilesFolders.html">Loop</a>.<br /></p><div class="quotebox"><cite>Pokerist пишет:</cite><blockquote><p>Есть ли шанс, что исполнение скрипта не вызовет тормозов, если время проверки на обновление сократить до 1 сек или 0,5сек?</p></blockquote></div><p>См. <a href="http://forum.script-coding.com/viewtopic.php?id=6273">AHK: Аудит файловой системы и вызов wait-функции в отдельном потоке</a><br /></p><div class="quotebox"><cite>Pokerist пишет:</cite><blockquote><p>2. В тех, что изменились за последние 3 секунды,&nbsp; начиная снизу найти первое вхождение фразы «10001 10003» или «10001 1004» или «10001 10005»<br />3. запомнить текст от конца файла до этого места<br />4. начиная снизу найти в этом тексте строки со словами «10000 10010» или «10000 10011»<br />5. найти в этом&nbsp; тексте ниже этой строки строку со словом&nbsp; «10012»<br />6. выделить из этой строки(состоящей из двух слов) первое слово.<br />7. проверить есть ли в участке текста(из пункта 3)&nbsp; выше этого места( из пункта 4) строка с этим словом и со словом&nbsp; «10010»</p></blockquote></div><p>См. <a href="http://www.script-coding.com/AutoHotkey/RegEx.html">RegEx</a> и <a href="http://www.script-coding.com/AutoHotkey/RegExMatch.html">RegExMatch</a>.<br /></p><div class="quotebox"><cite>Pokerist пишет:</cite><blockquote><p>8. выдать звуковой сигнал.</p></blockquote></div><p><a href="http://www.script-coding.com/AutoHotkey/SoundBeep.html">SoundBeep</a> или <a href="http://www.script-coding.com/AutoHotkey/SoundPlay.html">SoundPlay</a>.</p>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2011-11-08T16:38:16Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=53341#p53341</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Обработка текстовго файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=53337#p53337" />
			<content type="html"><![CDATA[<p>Пытаюсь разобраться с работой над строками. Запутался совершенно. Может кто-то поможет набросать код по следующему алгоритму?</p><br /><p>1. Проверять в папке файлы на обновление каждые 3 секунды<br />2. В тех, что изменились за последние 3 секунды,&nbsp; начиная снизу найти первое вхождение фразы «10001 10003» или «10001 1004» или «10001 10005»<br />3. запомнить текст от конца файла до этого места<br />4. начиная снизу найти в этом тексте строки со словами «10000 10010» или «10000 10011»<br />5. найти в этом&nbsp; тексте ниже этой строки строку со словом&nbsp; «10012»<br />6. выделить из этой строки(состоящей из двух слов) первое слово.<br />7. проверить есть ли в участке текста(из пункта 3)&nbsp; выше этого места( из пункта 4) строка с этим словом и со словом&nbsp; «10010» <br />8. выдать звуковой сигнал.</p><p>Во всех случаях, если&nbsp; какое-либо условие не соблюдается,&nbsp; переход на начало исполнения кода.</p><br /><br /><p>&nbsp; Техническе моменты.<br />Файлов в папке до 200. <br />Размеры каждого не более 200КБ<br />Количество постоянно меняющихся файлов не более 20.</p><br /><p>&nbsp; Заранее спасибо за помощь!<br /> Есть ли шанс, что исполнение скрипта не вызовет тормозов, если время проверки на обновление сократить до 1 сек или 0,5сек?</p>]]></content>
			<author>
				<name><![CDATA[Pokerist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24990</uri>
			</author>
			<updated>2011-11-08T15:05:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=53337#p53337</id>
		</entry>
</feed>
