<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS: функция не возвращает значение]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=14310&amp;type=atom" />
	<updated>2018-11-11T13:49:51Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=14310</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS: функция не возвращает значение]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129696#p129696" />
			<content type="html"><![CDATA[<p>Всё, разобрался!<br />Оказывается проблема была во вложенности функции:<br /></p><div class="codebox"><pre><code>Function ReadKey(strKey)
	...
	For Each strSubKey In sNames
		ReadKey strKey &amp; &quot;\&quot; &amp; strSubKey 
	Next
	...
End Function</code></pre></div><p>В данном месте функция вызывается заново, но уже для обхода подразделов, но она не возвращает значение... Следовательно, нужно немного изменить код в данном месте для получения желаемого результата:<br /></p><div class="codebox"><pre><code>For Each strSubKey In sNames
	strResult = ReadKey(strKey &amp; &quot;\&quot; &amp; strSubKey)
	If strResult &lt;&gt; &quot;&quot; Then ReadKey = strResult
Next</code></pre></div><p>Как-то так. <br /></p><div class="quotebox"><cite>Xameleon пишет:</cite><blockquote><p>А то, что в функции заменено на &quot;...&quot; увидеть можно ?</p></blockquote></div><p>Никогда не думал, что цитирование кода-примера на 50 строк с <span class="bbu">одноименного сайта</span>, это допустимо, поэтому привел ссылку. Видимо, это была плохая идея...</p>]]></content>
			<author>
				<name><![CDATA[Mik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33706</uri>
			</author>
			<updated>2018-11-11T13:49:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129696#p129696</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: функция не возвращает значение]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129694#p129694" />
			<content type="html"><![CDATA[<p>А то, что в функции заменено на &quot;...&quot; увидеть можно ?</p><p>Первое, что бросается в глаза - отсутствие входящих параметров &quot;<strong>Param</strong>&quot; и &quot;<strong>Val</strong>&quot; либо аналогичных переменных с заданным значением, созданных внутри функции.<br />Второе, думаю Вам не помешало бы в начале кода вставить &quot;<strong>Option Explicit</strong>&quot;, если его там нет. Это как раз избавило бы Вас от поиска необъявленных переменных вручную.</p>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2018-11-11T13:14:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129694#p129694</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBS: функция не возвращает значение]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129689#p129689" />
			<content type="html"><![CDATA[<p>Доброго времени суток!<br />Никак не могу победить причину, по которой функция на VBS не возвращает присвоенное значение.<br />Может быть сказывается 7-ой рабочий день... <br />Задача такая: есть функция <a href="http://www.script-coding.com/WMI_StdRegProv.html">ReadKey</a> для обхода веток реестра, нужно с ее помощью вернуть значение. Добавляю скобки, делаю присвоение значения, а результат &quot;пусто&quot;. Как так?<br />Вот пример, как я это пытаюсь сделать (весь код не привожу, только изменения для возврата значения):<br /></p><div class="codebox"><pre><code>
...
f = ReadKey (&quot;Software\ODBC&quot;)
&#039; в результате f пустое...
msgbox f
Function ReadKey(strKey)
	...
	&#039; для примера строку &quot;WScript.Echo &quot;HKEY_CURRENT_USER\&quot; &amp; strKey &amp; &quot;\, параметр &quot;&quot;&quot; &amp; Param &amp; &quot;&quot;&quot; = &quot; &amp; Val&quot; заменяю на:
	ReadKey = &quot;HKEY_CURRENT_USER\&quot; &amp; strKey &amp; &quot;\, параметр &quot;&quot;&quot; &amp; Param &amp; &quot;&quot;&quot; = &quot; &amp; Val
	&#039; Exit Function &#039; это тоже делал после ReadKey =  - толку ноль!
	...
End Function
</code></pre></div><p>Никогда еще с таким не сталкивался. Внутри функции все значения есть (не пустые), но при выходе из функции &quot;пусто&quot;. Даже не знаю на что уже думать - требуется Ваша помощь.</p>]]></content>
			<author>
				<name><![CDATA[Mik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33706</uri>
			</author>
			<updated>2018-11-11T11:55:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129689#p129689</id>
		</entry>
</feed>
