<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS: как дождаться завершения функции?]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=6822</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6822&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS: как дождаться завершения функции?».]]></description>
		<lastBuildDate>Wed, 15 Feb 2012 09:16:56 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS: как дождаться завершения функции?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56860#p56860</link>
			<description><![CDATA[<p>Как альтернатива, для HTA можно использовать такой вариант:</p><div class="codebox"><pre><code>
&lt;html&gt;
    &lt;head&gt;
        &lt;meta charset=&quot;windows-1251&quot;&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;script language=&quot;vbscript&quot;&gt;
        Sub window_onload()
            WriteLn &quot;Ждём секунду.&quot;
            Sleep 1000

            WriteLn &quot;Ждём 5 секунд.&quot;
            Sleep 5000
            
            WriteLn &quot;Ждём 3 секунды.&quot;
            Sleep 3000
            
            WriteLn &quot;Конец&quot;
        End Sub

        Sub WriteLn(Text)
            document.body.innerHtml = document.body.innerHtml &amp; Text &amp; &quot;&lt;br&gt;&quot;
        End Sub

        Sub Sleep(ByVal mSec)
            CreateObject(&quot;WScript.Shell&quot;).Run &quot;ping 0.0.0.0 -w &quot; &amp; Clng(mSec), 0, True
        End Sub
        &lt;/script&gt;
    &lt;/body&gt;
&lt;/html&gt;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Wed, 15 Feb 2012 09:16:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56860#p56860</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: как дождаться завершения функции?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56847#p56847</link>
			<description><![CDATA[<p>Т.к функция setTimeout псевдоасинхронная, то приходится работать с колбэками.<br /></p><div class="codebox"><pre><code>
&lt;html&gt;
	&lt;head&gt;
		&lt;title&gt;Title&lt;/title&gt;
		&lt;meta http-equiv=Content-Type content=&quot;text/html; charset=windows-1251&quot;/&gt;
		&lt;script language=&quot;VBScript&quot;&gt;
		
		Dim i
		
		Sub window_onload()
			SelectWaiter
		End Sub
		
		Sub SelectWaiter()
			Select Case i
			Case 0
				WriteLog &quot;Ставим таймаут секунду.&quot;
				Wait 1000, &quot;Wait_complete()&quot;
			Case 1
				WriteLog &quot;Ставим таймаут 5 секунд.&quot;
				Wait 5000, &quot;Wait_complete()&quot;
			Case 2
				WriteLog &quot;Ставим таймаут 3 секунды.&quot;
				Wait 3000, &quot;Wait_complete()&quot;
			Case 3
				WriteLog &quot;Конец !&quot;
			End Select
		End Sub
		
		Sub Wait(Timeout,callback)
			setTimeout callback, timeout
		End Sub
		
		Sub Wait_complete()
			i = i + 1
			SelectWaiter()
		End Sub
		
		Sub WriteLog(Text)
			logDiv.innerHtml = logDiv.innerHtml &amp; Text &amp; &quot;&lt;br&gt;&quot;
		End Sub
		&lt;/script&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;div id=&quot;logDiv&quot;&gt;&lt;/div&gt;
	&lt;/body&gt;
&lt;/html&gt;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Wed, 15 Feb 2012 06:42:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56847#p56847</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: как дождаться завершения функции?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56842#p56842</link>
			<description><![CDATA[<p>Пример (закинул в HTA):<br /></p><div class="codebox"><pre><code>&lt;html&gt;
  &lt;head&gt;
    &lt;TITLE&gt;Title&lt;/TITLE&gt;
    &lt;META http-equiv=Content-Type content=&quot;text/html; charset=windows-1251&quot;/&gt;
    &lt;script language=&quot;VBScript&quot;&gt;
      Function main()
        sleep 1,&quot;1&quot;
        sleep 5,&quot;5&quot;
        sleep 3,&quot;3&quot;
      End function
      Function sleep(sTime,text)
        If (sTime &gt; 0) Then
          sTime = sTime - 1
          setTimeOut &quot;sleep &quot;&amp;sTime&amp;&quot;,&quot;&amp;text,1000
        Else
          document.getElementById(&quot;log&quot;).innerHtml = document.getElementById(&quot;log&quot;).innerHtml &amp; &quot;[&quot; &amp; cstr(time()) &amp; &quot;] &quot; &amp; text &amp; &quot;&lt;br&gt;&quot;
        End If
      End Function
    &lt;/script&gt;
  &lt;/head&gt;
  &lt;body onLoad=&quot;VBScript: main()&quot;&gt;
    &lt;div id=&quot;log&quot;&gt;&lt;/div&gt;
  &lt;/body&gt;
&lt;/html&gt;</code></pre></div><p>Хотелось бы чтоб вевел в порядке 1,5,3, как и задано, а выводит 1,3,5 (значит стартуют одновременно)</p>]]></description>
			<author><![CDATA[null@example.com (pad0nak)]]></author>
			<pubDate>Wed, 15 Feb 2012 06:09:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56842#p56842</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: как дождаться завершения функции?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56838#p56838</link>
			<description><![CDATA[<p>Не воспроизводится. Приведите конкретный пример, воспроизводящий проблему.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Wed, 15 Feb 2012 04:55:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56838#p56838</guid>
		</item>
		<item>
			<title><![CDATA[VBS: как дождаться завершения функции?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56835#p56835</link>
			<description><![CDATA[<p>Доброго времени суток, уважаемые!<br />Вопрос состоит в следующем: необходимо поочерёдно выполнить несколько функций так, чтобы сначала выполнилась 1-я и только затем 2-я, функций может быть много.<br />На данный момент столкнулся с такой проблемой, что запускаются сразу все функции, не дожидаясь завершения предыдущей.<br />Если кто решал подобную задачу, прошу отписаться.</p><p>Пример кода для наглядности:<br /></p><div class="codebox"><pre><code>Function Func1()
...
End Function

Function Func2()
...
End Function

Function Func3()
...
End Function

Do
  Func1()
  Func2()
  Func3()
Loop</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (pad0nak)]]></author>
			<pubDate>Wed, 15 Feb 2012 04:38:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56835#p56835</guid>
		</item>
	</channel>
</rss>
