<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; Некорректно работает цикл]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=11351</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=11351&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Некорректно работает цикл».]]></description>
		<lastBuildDate>Tue, 23 Feb 2016 03:39:23 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Некорректно работает цикл]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=101328#p101328</link>
			<description><![CDATA[<div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>Error:  Call to nonexistent function.

Specifically: HTTPRequest(url)

	Line#
	001: Return
	002: UTC = %A_NowUTC%
	003: RegExMatch(UTC, &quot;^20(..)(..)(..)(..)(..)(..)$&quot;, UTCp)  
	004: url = http://turambar.ueuo.com/test.php?string=%UTCp1%-%UTCp2%-%UTCp3% %UTCp4%-%UTCp5%-%UTCp6%: John_Barrow: Hello World!
---&gt;	005: HTTPRequest(url)  
	006: Return
	010: UTC = %A_NowUTC%
	011: RegExMatch(UTC, &quot;^20(..)(..)(..)(..)(..)(..)$&quot;, UTCp)  
	012: tyear = %UTCp1%
	013: tmonth = %UTCp2%
	014: tday = %UTCp3%
	015: thour = %</code></pre></div></div></div><p>Если у тебя стоят какие-либо дополнительные библиотеки, это не значит, что у других они тоже есть.</p><p>В первую очередь посмотри содержимое переменной &quot;Chat&quot;.</p><p>...</p><p>Операции сравнения записаны не верно, если переменные указаны в скобках, знаки % не нужны.<br /></p><div class="codebox"><pre><code>(varn1 = thour)
(varn1 &gt; thour)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Tue, 23 Feb 2016 03:39:23 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=101328#p101328</guid>
		</item>
		<item>
			<title><![CDATA[Некорректно работает цикл]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=101325#p101325</link>
			<description><![CDATA[<p>Здравствуйте. Задумал сделать чат. Пока додумался до вот такого варианта:<br /><strong>Отправка реплики:</strong> формирую get-запрос на сервер, где он ловится php скриптом и записывается в файл.<br /><strong>Получение реплики:</strong> скачиваю непрерывным циклом файл (как бы меня хостинг не забанил...) и вытаскиваю строку.</p><p>Но есть две проблемы:<br /><em>Во-первых</em>, что-то странное у меня с этим циклом. Дальше первого if (varn1 &gt; %thour%) просто не идёт. И никак я не могу понять почему. Или глаз замылился и я чего-то не вижу, или в корне всё не верно.<br /><em>Во-вторых</em>, подскажите, а как сделать получение не только последней строки? Ведь за время 1100 мск может появиться несколько реплик.</p><p>Две темы создавать не стал, ибо оба вопроса связаны с одним кодом, который, вероятно, придётся в итоге полностью переписать.</p><p>Альт+1 - отправка тестовой реплики.<br />Альт+2 - попытка получить реплику.</p><div class="codebox"><pre><code>!1::   ; получаем время старта скрипта по UTC, разбиваем на переменные и отправляем реплику
UTC = %A_NowUTC%  
RegExMatch(UTC, &quot;^20(..)(..)(..)(..)(..)(..)$&quot;, UTCp)
url = http://
HTTPRequest(url)
Return


!2::
UTC = %A_NowUTC%     ; получаем начальное время (время старта скрипта) по UTC
RegExMatch(UTC, &quot;^20(..)(..)(..)(..)(..)(..)$&quot;, UTCp)   ; разбиваем полученное время по UTC на переменные
tyear = %UTCp1%
tmonth = %UTCp2%
tday = %UTCp3%
thour = %UTCp4%
tminut = %UTCp5%
tsecund = %UTCp6%

Loop
{
UrlDownloadToFile, http://
RegExMatch(Chat, &quot;s).*16\-..\-..\s(..)\-(..)\-(..)\:\s(.*?_.*?)\:\s(.*)&quot;, varn)   ; скачиваем и парсим &quot;чат&quot;

if (varn1 &gt; %thour%)        ; если час последней строки больше времени часа старта скрипта, выводим реплику
{
msgbox, Реплика: %varn6%                                              
thour = %varn1%             ; и присваиваем всем переменным времени новое значение (время последней реплики)
tminut = %varn2%
tsecund = %varn3%
}
else
{
if (varn1 = %thour%)       ; если  час  последней строки равен реальному часу по времени...
   {
    if (varn2 &gt; %tminut%)  ; ... проверяем минуты. Если в чате значение больше, обновляем переменные времени и выводим реплику
       {
        msgbox, Реплика: %varn6%                                      
        thour = %varn1%
        tminut = %varn2%
        tsecund = %varn3%
       }
    if (varn2 = %tminut%)  ; если минута последней строки равна реальной минуте...
      { 
       if (varn3 &gt; %tsecund%)   ; ...проверяем секунды. Если в чате секунды больше, обновляем переменные времени
          {
           Msgbox, Реплика: %varn6%  ;                                        
           thour = %varn1%
           tminut = %varn2%
           tsecund = %varn3%
          }
      }
   }
}
Sleep, 1100      ; Спим больше 1 сек
}
Return

!3::
Reload</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Turambar)]]></author>
			<pubDate>Mon, 22 Feb 2016 23:51:52 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=101325#p101325</guid>
		</item>
	</channel>
</rss>
