<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; Некорректно работает цикл]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=11351&amp;type=atom" />
	<updated>2016-02-23T03:39:23Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=11351</id>
		<entry>
			<title type="html"><![CDATA[Re: Некорректно работает цикл]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=101328#p101328" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2016-02-23T03:39:23Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=101328#p101328</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Некорректно работает цикл]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=101325#p101325" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Turambar]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33097</uri>
			</author>
			<updated>2016-02-22T23:51:52Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=101325#p101325</id>
		</entry>
</feed>
