<?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="http://forum.script-coding.com/extern.php?action=feed&amp;tid=6406&amp;type=atom" />
	<updated>2011-11-08T17:30:32Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=6406</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Подпрограммы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=53349#p53349" />
			<content type="html"><![CDATA[<p>Ясно...<br />Спасибо за ответы...</p>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2011-11-08T17:30:32Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=53349#p53349</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Подпрограммы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=53348#p53348" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>А при чем тут религия?</p></blockquote></div><p>Это фразеологизм. Примеры:<br />В: Сколько будет 3456*123?<br />О: А калькулятор использовать религия не позволяет?</p><p>В: В каком году умер Пушкин?<br />О: <a href="http://ru.wiktionary.org/wiki/%D0%B3%D1%83%D0%B3%D0%BB%D0%B8%D1%82%D1%8C">погуглить</a> религия не позволяет?<br />Кстати, редактирование сделано не для удаления частей своего сообщения, а для внесения дополнений и исправления неточностей. Это очень важно, поскольку на удалённый текст кто-то может ответить.</p>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2011-11-08T17:17:46Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=53348#p53348</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Подпрограммы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=53342#p53342" />
			<content type="html"><![CDATA[<p>Необращайте на меня внимания, я просто запутался в терминах.</p><p>А при чем тут религия? Просто до меня недоходило...</p>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2011-11-08T16:48:29Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=53342#p53342</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Подпрограммы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=53340#p53340" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>Вы имеето ввиду что скрипт получится неточным по времени.<br />Тем неменее он будет отрабатывать полностью если его не останавливать цыклами которые не ограничены Break или количеством повторов.</p></blockquote></div><p>Т.е. если цель скрипта висеть в бесконечном цикле и выполнять подпрограммы в псевдослучайном порядке, то ваш метод работает очень неплохо. Рекомендую переключиться с AHK на <a href="http://ru.wikipedia.org/wiki/Malbolge">Malbolge</a>.<br /></p><div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>Помоему это мелоч, которую можно незаметить при обыденном использовании скриптов которые обычно выполняются при <em>SetBatchLines,-1</em> и минимальных <em>sleep</em>&#039;ах.</p></blockquote></div><p>Из-за этой мелочи программа может неверно выполнится. А ещё в &quot;обыденном использовании скриптов&quot; не нужна многопоточность.<br /></p><div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>Ну а если нужна точность по времени, то можно воспользоватся встроенными переменными (A_MSec, A_Sec, A_Min, A_Hour, и т.д.)</p></blockquote></div><p>Шутка?<br /></p><div class="quotebox"><cite>ypppu пишет:</cite><blockquote><p>Насколько я себе представляю, &quot;подпрограмма второго таймера прерывает подпрограмму первого таймера; пока подпрограмма второго полностью не выполнится, подпрограмма первого не продолжится&quot;.</p></blockquote></div><p>Я рассчитывал, что к этому выводу сможет придти <strong>Alectric</strong>, но судя по его посту:<br /></p><div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>Запустите этот скрипт в этом виде и понаблюдайте в течении минуты:<br />...<br />Выглядит странно...</p></blockquote></div><p>религия ему не позволяет даже прочитать верный ответ. Кстати в этом скрипте первой метке управление передаётся без таймера, а третья метка оставлена в знак протеста против <a href="http://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%B8%D1%82%D0%B2%D0%B0_%D0%9E%D0%BA%D0%BA%D0%B0%D0%BC%D0%B0">Бритвы Оккама</a> <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />.</p>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2011-11-08T16:22:44Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=53340#p53340</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Подпрограммы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=53336#p53336" />
			<content type="html"><![CDATA[<p>Вы имеето ввиду что скрипт получится неточным по времени.<br />Тем неменее он будет отрабатывать полностью если его не останавливать цыклами которые не ограничены Break или количеством повторов.<br />Помоему это мелоч, которую можно незаметить при обыденном использовании скриптов которые обычно выполняются при <em>SetBatchLines,-1</em> и минимальных <em>sleep</em>&#039;ах.<br />Ну а если нужна точность по времени, то можно воспользоватся встроенными переменными (A_MSec, A_Sec, A_Min, A_Hour, и т.д.)</p>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2011-11-08T14:50:26Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=53336#p53336</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Подпрограммы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=53335#p53335" />
			<content type="html"><![CDATA[<p>Запустите этот скрипт в этом виде и понаблюдайте в течении минуты:<br /></p><div class="codebox"><pre><code>CoordMode, ToolTip

SetTimer,Программа1,10
SetTimer,Программа2,10

Программа1:
 ToolTip Первый Таймер 1,0,100,1
Sleep, 300
 ToolTip Первый Таймер 2,0,100,1
Sleep, 300
 ToolTip Первый Таймер 3,0,100,1
Sleep, 300
 ToolTip Первый Таймер 4,0,100,1
Sleep, 300
 ToolTip Первый Таймер 5,0,100,1
Sleep, 300
Return

Программа2:
 ToolTip Второй Таймер 1,0,120,2
Sleep, 300
 ToolTip Второй Таймер 2,0,120,2
Sleep, 300
 ToolTip Второй Таймер 3,0,120,2
Sleep, 300
 ToolTip Второй Таймер 4,0,120,2
Sleep, 300
 ToolTip Второй Таймер 5,0,120,2
Sleep, 300
return

Программа3:
 ToolTip Третий Таймер 1,0,140,3
Sleep, 300
 ToolTip Третий Таймер 2,0,140,3
Sleep, 300
 ToolTip Третий Таймер 3,0,140,3
Sleep, 300
 ToolTip Третий Таймер 4,0,140,3
Sleep, 300
 ToolTip Третий Таймер 5,0,140,3
Sleep, 300
return</code></pre></div><p>Выглядит странно.:/</p><p>Получается такая картина:<br />1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 4&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5<br />1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 4&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 4&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 5</p><p>Тоесть у таймеров поочереди меняется приоритет.</p>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2011-11-08T14:47:23Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=53335#p53335</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Подпрограммы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=53323#p53323" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Александр_ пишет:</cite><blockquote><p>5) Придумать тест, который подтвердит или опровергнет тезис &quot;пока подпрограмма одногого таймера полностью не выполнится, второй не запустится&quot;. Провести этот тест.</p></blockquote></div><p>Насколько я себе представляю, &quot;подпрограмма второго таймера прерывает подпрограмму первого таймера; пока подпрограмма второго полностью не выполнится, подпрограмма первого не продолжится&quot;.</p><div class="codebox"><pre><code>CoordMode, ToolTip

SetTimer,Программа1,-1
SetTimer,Программа2,-1

Программа1:
 ToolTip Первый Таймер 1
Sleep, 300
 ToolTip Первый Таймер 2
Sleep, 300
 ToolTip Первый Таймер 3
Sleep, 300
 ToolTip Первый Таймер 4
Sleep, 300
 ToolTip Первый Таймер 5
Sleep, 300
Return

Программа2:
 ToolTip Второй Таймер 1
Sleep, 300
 ToolTip Второй Таймер 2
Sleep, 300
 ToolTip Второй Таймер 3
Sleep, 300
 ToolTip Второй Таймер 4
Sleep, 300
 ToolTip Второй Таймер 5
Sleep, 300
return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2011-11-08T04:42:24Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=53323#p53323</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Подпрограммы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=53321#p53321" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>Запустите скрипт из 6го поста и Вы уидете что &quot;Второй таймер&quot; выполняется каждые 10 милисекунд.<br />А если </p><div class="quotebox"><blockquote><p>пока подпрограмма одногого таймера полностью не выполнится, второй не запустится.</p></blockquote></div><p>&quot;Второй таймер&quot; выполнялся бы дольше, тоесть 100+10= через 110 милисекунд.<br />Тоесть, я так понял, что <em>Settimer</em> заставляет скрипт выполнять поочереди команды, то с первого таймера, то со второго, и получается &quot;подобие многопоточности&quot;.</p></blockquote></div><p>Замечательно, а теперь давайте расширим набор тестов с одного до ~десятка. Исправляем ваш вышеупомянутый скрипт из шестого поста:<br /></p><div class="codebox"><pre><code>CoordMode, ToolTip

SetTimer sub1, 100
SetTimer sub2, 10

time := a_tickcount
loop 10
{
  ToolTip % &quot;Основной Таймер &quot;a_index, 300, 300, 1 ;%
  sleep 1000
}
SetTimer sub1, off
SetTimer sub2, off
ToolTip % &quot;Итоговое время &quot;(a_tickcount-time), 660, 360, 4 ;%
return

sub1:
   ;SleepQuantum(1)
   ;Sleep 1
   a++
   ToolTip % &quot;Первый Таймер &quot;a, 420, 320, 2 ;%
return

sub2:
   ;SleepQuantum(1)
   ;Sleep 1
   b++
   ToolTip % &quot;Второй Таймер &quot;b, 540, 340, 3 ;%
return

SleepQuantum(n)
{
   loop %n%
      Sleep 1
   return
}

Esc::
   ExitApp
return</code></pre></div><p>Тут мы вместо бесконечного цикла, обеспечивавшего нас быстро бегущими циферками, имеем конечный цикл, который должен длиться 10 секунд(10000 миллисекунд). Далее мы засекаем время выполнения этого цикла и отображаем его в четвёртом tooltip&#039;е. Введена функция SleepQuantum(n), которая пропускает n, выделенных ей, квантов процессорного времени. Для проверки полученных данных все тесты стоит повторять трижды, при этом нужно завершить все приложения, способные смазать результаты эксперимента.<br />Итак, приступим:<br />1) Какие числа мы ожидаем получить в этих четырёх &quot;тултипах&quot;?<br />2) Насколько сильно реальные цифры отличаются от расчётных?<br />Теперь раскомментировать строчки ;SleepQuantum(1) в обеих подпрограммах и провести тесты для значений 1, 2, 3, 5, 10.<br />3) Почесать затылок и попытаться понять, что за байдень происходит во время выполнения скрипта.<br />Теперь закомментировать строчки SleepQuantum(*) в обеих подпрограммах и раскомментировать ;Sleep 1. Провести тесты для значений 10, 20, 30, 50, 100.<br />4) Выявить зависимость между полученными на этом шаге и шаге 3 данными.<br />5) Придумать тест, который подтвердит или опровергнет тезис &quot;пока подпрограмма одногого таймера полностью не выполнится, второй не запустится&quot;. Провести этот тест.</p>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2011-11-07T20:30:25Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=53321#p53321</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Подпрограммы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=53319#p53319" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>&quot;Второй таймер&quot; выполнялся бы дольше, тоесть 100+10= через 110 милисекунд.</p></blockquote></div><p>А разве на подпрограмму первого таймера<br /></p><div class="codebox"><pre><code>Программа1:
a+=1
ToolTip % &quot;Первый Таймер &quot;a, 420, 320, 2
return</code></pre></div><p>требуется 110 милисекунд? Просто он запускается раз в 100ms, его подпрограмма выполняется гораздо быстрее и даёт возможность запуститься следующему таймеру.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2011-11-07T20:17:08Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=53319#p53319</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Подпрограммы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=53317#p53317" />
			<content type="html"><![CDATA[<p>Запустите скрипт из 6го поста и Вы уидете что &quot;Второй таймер&quot; выполняется каждые 10 милисекунд.<br />А если </p><div class="quotebox"><blockquote><p>пока подпрограмма одногого таймера полностью не выполнится, второй не запустится.</p></blockquote></div><p>&quot;Второй таймер&quot; выполнялся бы дольше, тоесть 100+10= через 110 милисекунд.</p><br /><p>Тоесть, я так понял, что <em>Settimer</em> заставляет скрипт выполнять поочереди команды, то с первого таймера, то со второго, и получается &quot;подобие многопоточности&quot;.</p>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2011-11-07T17:47:35Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=53317#p53317</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Подпрограммы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=53316#p53316" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>Ну я же уже писал: получается &quot;<strong>подобие</strong>&quot; многопоточности!<br />А не &quot;идеальная&quot; многопоточность.</p></blockquote></div><p>Если бы вы ещё определение &quot;подобия многопоточности&quot; дали... Для справки отрывок из педивикии:<br /></p><div class="quotebox"><cite>http://ru.wikipedia.org/wiki/Многопоточность пишет:</cite><blockquote><p>Многопото&amp;#769;чность — свойство платформы (например, операционной системы, виртуальной машины и т. д.) или приложения, состоящее в том, что процесс, порождённый в операционной системе, может состоять из нескольких потоков, выполняющихся «параллельно», то есть <strong>без предписанного порядка во времени</strong>.</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2011-11-07T17:39:57Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=53316#p53316</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Подпрограммы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=53315#p53315" />
			<content type="html"><![CDATA[<p>Ну я же уже писал: получается &quot;<strong>подобие</strong>&quot; многопоточности!<br />А не &quot;идеальная&quot; многопоточность.</p>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2011-11-07T17:28:34Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=53315#p53315</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Подпрограммы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=53314#p53314" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>Помоему это лучше чем так:<br /></p><div class="codebox"><pre><code>loop
{
  sleep,10
  Код программы 1.
  sleep,10
  Код программы 2.
}
return</code></pre></div></blockquote></div><p>Очевидно, что хуже. А Sleep&#039;ы в один квант для того, чтоб процессор отдохнул? <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /> Параллельность можно обеспечить только машинным кодом или дополнительным процессом.</p>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2011-11-07T17:26:27Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=53314#p53314</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Подпрограммы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=53313#p53313" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Alectric, в твоём примере пока подпрограмма одногого таймера полностью не выполнится, второй не запустится.</p></blockquote></div><p>А зачем вам непрерывный цикл <em>Loop</em>, если <em>SetTimer</em> уже работает как цикл?<br /></p><div class="codebox"><pre><code>CoordMode, ToolTip

SetTimer,Программа1,100     ; Число 10 это периодичность выполнения в милисекундах
SetTimer,Программа2,10

loop
{
  ToolTip % &quot;Основной Таймер &quot;a_index, 300, 300, 1
  sleep,1000
}
return


Программа1:
a+=1
ToolTip % &quot;Первый Таймер &quot;a, 420, 320, 2
return

Программа2:
b+=1
ToolTip % &quot;Второй Таймер &quot;b, 540, 340, 3
return</code></pre></div><p>или так:<br /></p><div class="codebox"><pre><code>#persistent
CoordMode, ToolTip

SetTimer,Программа1,100     ; Число 10 это периодичность выполнения в милисекундах
SetTimer,Программа2,10

Программа1:
a+=1
ToolTip % &quot;Первый Таймер &quot;a, 420, 320, 2
return

Программа2:
b+=1
ToolTip % &quot;Второй Таймер &quot;b, 540, 340, 3
return</code></pre></div><p>Или так:<br /></p><div class="codebox"><pre><code>CoordMode, ToolTip

SetTimer,Программа1,100     ; Число 10 это периодичность выполнения в милисекундах
SetTimer,Программа2,10

F1::
c+=1
ToolTip % &quot;Основной Таймер &quot;c, 300, 300, 1
return


Программа1:
a+=1
ToolTip % &quot;Первый Таймер &quot;a, 420, 320, 2
return

Программа2:
b+=1
ToolTip % &quot;Второй Таймер &quot;b, 540, 340, 3
return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2011-11-07T16:59:58Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=53313#p53313</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Подпрограммы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=53312#p53312" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>(получается подобие многопоточности).</p></blockquote></div><p>Помоему это лучше чем так:<br /></p><div class="codebox"><pre><code>loop
{
  sleep,10
  Код программы 1.
  sleep,10
  Код программы 2.
}
return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2011-11-07T16:52:37Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=53312#p53312</id>
		</entry>
</feed>
