<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; JS: Можно ли установить тип переменнй]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7799&amp;type=atom" />
	<updated>2012-11-21T20:20:35Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7799</id>
		<entry>
			<title type="html"><![CDATA[Re: JS: Можно ли установить тип переменнй]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65953#p65953" />
			<content type="html"><![CDATA[<p><strong>im2002</strong>, с классикой:<br /><a href="http://samag.ru/archive/article/605">Вы всё ещё не используете WMI? Часть I::Журнал СА 1.2006</a><br /><a href="http://samag.ru/archive/article/620">Вы всё ещё не используете WMI? Часть II: пишем сценарии::Журнал СА 2.2006</a><br /><a href="http://samag.ru/archive/article/634">Узнай секреты WMI: события и провайдеры. Часть I: дополнительные возможности::Журнал СА 3.2006</a><br /><a href="http://samag.ru/archive/article/668">Узнай секреты WMI: события и провайдеры. Часть II: ключ к управлению системой и приложениями::Журнал СА 5.2006</a><br />знакомы?</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-11-21T20:20:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65953#p65953</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Можно ли установить тип переменнй]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65942#p65942" />
			<content type="html"><![CDATA[<p>Спасибо за пример <strong>alexii</strong>, переложил на JS, сделал как функцию, могу смотреть методы для экземпляров класса и входные/выходные параметры этих методов. Просто счастлив. Ещё немного и кажется начну понимать...</p>]]></content>
			<author>
				<name><![CDATA[im2002]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28063</uri>
			</author>
			<updated>2012-11-21T18:45:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65942#p65942</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Можно ли установить тип переменнй]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65926#p65926" />
			<content type="html"><![CDATA[<p>Или прямо скриптом:<br /></p><div class="codebox"><pre><code>Option Explicit

Dim objProperty

With WScript.CreateObject(&quot;WbemScripting.SWbemLocator&quot;).ConnectServer(&quot;.&quot;, &quot;root\default&quot;).Get(&quot;StdRegProv&quot;)
    With .Methods_(&quot;GetDWORDValue&quot;)
        WScript.Echo &quot;InParameters:&quot;
        WScript.Echo &quot;---------------------------&quot;
        
        For Each objProperty In .InParameters.Properties_
            WScript.Echo objProperty.Name
        Next
        
        WScript.Echo &quot;---------------------------&quot;
        WScript.Echo
        
        WScript.Echo &quot;OutParameters:&quot;
        WScript.Echo &quot;---------------------------&quot;
        
        For Each objProperty In .OutParameters.Properties_
            WScript.Echo objProperty.Name
        Next
        
        WScript.Echo &quot;---------------------------&quot;
    End With
End With

WScript.Quit 0</code></pre></div><p>Ещё есть такая хорошая штука, как «C:\WINDOWS\system32\wbem\wbemtest.exe», а также утилиты из набора <a href="http://www.microsoft.com/en-us/download/details.aspx?id=24045">WMI Administrative Tools</a>.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-11-21T13:45:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65926#p65926</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Можно ли установить тип переменнй]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65923#p65923" />
			<content type="html"><![CDATA[<p>Например, на MSDN можно посмотреть: <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa390445(v=vs.85).aspx">GetDWORDValue method of the StdRegProv class (Windows)</a>.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2012-11-21T12:02:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65923#p65923</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Можно ли установить тип переменнй]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65922#p65922" />
			<content type="html"><![CDATA[<p>YMP! Большое спасибо! Но каким образом можно догадаться использовать значение uValue?! Может в статье опечатки? Теперь тоже работает... Я делал по &quot;Рецепты WMI: работа с реестром Windows&quot; может она кривая? статья эта... дайте ссылку на wmi для работы с реестром, если есть таковая!</p>]]></content>
			<author>
				<name><![CDATA[im2002]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28063</uri>
			</author>
			<updated>2012-11-21T11:45:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65922#p65922</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Можно ли установить тип переменнй]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65921#p65921" />
			<content type="html"><![CDATA[<p>У меня получилось.<br /></p><div class="codebox"><pre><code>HKEY_CURRENT_USER = 0x80000001;
strLoc = &quot;.&quot;;                    
strName = &quot;root\\default:StdRegProv&quot;;         

SWbemServices = GetObject(&quot;WinMgmts:{impersonationLevel=Impersonate, authenticationLevel=pktPrivacy}!\\\\&quot; + strLoc + &quot;\\&quot; + strName);
objwbemInParams = SWbemServices.Methods_(&quot;GetDWORDValue&quot;).InParameters.SpawnInstance_();
                                    
objwbemInParams.hDefKey = HKEY_CURRENT_USER;                // определение входных параметров метода GetDWORDValue
objwbemInParams.sSubKeyName = &quot;my&quot;;
objwbemInParams.sValueName = &quot;my_param&quot;;

objwbemOutParams = SWbemServices.ExecMethod_(&quot;GetDWORDValue&quot;, objwbemInParams);

WSH.echo(objwbemOutParams.uValue);</code></pre></div>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2012-11-21T11:17:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65921#p65921</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Можно ли установить тип переменнй]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65918#p65918" />
			<content type="html"><![CDATA[<p>Для меня примеры приведённые выше вполне понятны. Но получить выходной параметр метода в своём случае никак не могу..<br /></p><div class="codebox"><pre><code>HKEY_CURRENT_USER = 0x80000001;
strLoc = &quot;.&quot;;                    
strName = &quot;root\\default:StdRegProv&quot;;         

SWbemServices = GetObject(&quot;WinMgmts:{impersonationLevel=Impersonate, authenticationLevel=pktPrivacy}!\\\\&quot; + strLoc + &quot;\\&quot; + strName);
objwbemInParams = SWbemServices.Methods_(&quot;GetDWORDValue&quot;).InParameters.SpawnInstance_();
                                    
objwbemInParams.hDefKey = HKEY_CURRENT_USER;                // определение входных параметров метода GetDWORDValue
objwbemInParams.sSubKeyName = &quot;my&quot;;
objwbemInParams.sValueName = &quot;my_param&quot;;

objwbemOutParams = SWbemServices.ExecMethod_(&quot;GetDWORDValue&quot;, objwbemInParams);</code></pre></div><p>Значение параметра &quot;my_param&quot; есть FF, тип параметра DWORD, параметр в разделе &quot;my&quot;, этот раздел в корне HKEY_CURRENT_USER.</p><p>Как я могу использовать&nbsp; objwbemOutParams, чтобы получить эти FF или 255.<br />У метода GetDWORDValue, есть 4-й (выходной параметр) Value, но как его вытянуть по ссылке не понимаю.</p><p><strong>Value - значение параметра: массив байтов, значение DWORD, строка или массив строк (после выполнения метода).</strong> - из описания метода....</p>]]></content>
			<author>
				<name><![CDATA[im2002]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28063</uri>
			</author>
			<updated>2012-11-21T10:10:22Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65918#p65918</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Можно ли установить тип переменнй]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65893#p65893" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Rumata пишет:</cite><blockquote><p>эта весьма странная ссылка, потому что свойства объекта менять можно, а вот сам объект изменить - нет. Вот еще пример.</p></blockquote></div><p>Здесь всё логично, по-моему. Внутри функции y — локальная переменная (параметр). Вы присваиваете ей другое значение (другой объект), но это никак не влияет на глобальную переменную y. В ней остаётся ссылка на прежний объект. <br />Сама глобальная y по ссылке не передаётся, как это делается в VBScript. Передаётся копия переменной, содержащая ссылку на тот же объект. Поэтому можно что-то делать с объектом, на который ссылается глобальная переменная, но не с самой глобальной переменной. Нельзя изменить её содержимое.</p><p>В случае VBScript была бы передана ссылка на переменную, содержащую ссылку на объект. Здесь уже можно менять как объект, так и переменную.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2012-11-20T15:27:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65893#p65893</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Можно ли установить тип переменнй]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65880#p65880" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>во втором случае значением является ссылка на объект</p></blockquote></div><p>эта весьма странная ссылка, потому что свойства объекта менять можно, а вот сам объект изменить - нет. Вот еще пример.</p><div class="codebox"><pre><code>
function f(y)
{
	y = { a: 100, b: 100 };

	WScript.Echo(&#039;IN FUNCTION&#039;);
	WScript.Echo(typeof y.a, y.a);
	WScript.Echo(typeof y.b, y.b);
};

var y = { a: 1 };

WScript.Echo(&#039;BEFORE&#039;);
WScript.Echo(typeof y.a, y.a);
WScript.Echo(typeof y.b, y.b);

f(y);

WScript.Echo(&#039;AFTER&#039;);
WScript.Echo(typeof y.a, y.a);
WScript.Echo(typeof y.b, y.b);</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2012-11-20T13:27:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65880#p65880</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Можно ли установить тип переменнй]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65874#p65874" />
			<content type="html"><![CDATA[<p><strong>Rumata</strong><br />Да, вы правы, разница есть. Хотя если заглянуть &quot;под капот&quot;, то в обоих случаях передаётся копия значения, просто во втором случае значением является ссылка на объект. На уровне скрипта, вероятно, значением переменной правильнее считать сам объект, и тогда да, получается, что он передаётся по ссылке.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2012-11-20T12:41:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65874#p65874</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Можно ли установить тип переменнй]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65873#p65873" />
			<content type="html"><![CDATA[<p>Я так понимаю, автор хотел вот это: <a href="https://www.google.ru/search?q=JScript+StdRegProv+CheckAccess+InParameters.SpawnInstance">jscript stdregprov checkaccess inparameters.spawninstance - Поиск в Google</a>, но не знал, как сформулировать поточнее.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-11-20T12:32:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65873#p65873</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Можно ли установить тип переменнй]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65871#p65871" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>JScript всегда передаёт само значение переменной, адрес переменной он передавать не умеет. Т.е. создаётся временная копия переменной и она передаётся в метод или функцию. Так что у метода или функции нет никакого доступа к оригиналу переменной и нет возможности её значение изменить.</p></blockquote></div><p>НЕ все так просто. ПРостые значения передаются по значению, сложные - по ссылке. Вот пример</p><p>Переменная x не изменилась, так как она была передана по значение. Переменная y - изменилась, так как была передана по ссылке<br /></p><div class="codebox"><pre><code>
function f(x, y)
{
	x = 100;
	y.a = 100;

	WScript.Echo(&#039;IN FUNCTION&#039;);
	WScript.Echo(x);
	WScript.Echo(y.a);
};

var x = 10;
var y = { a: 1 };

WScript.Echo(&#039;BEFORE&#039;);
WScript.Echo(x);
WScript.Echo(y.a);

f(x, y);

WScript.Echo(&#039;AFTER&#039;);
WScript.Echo(x);
WScript.Echo(y.a);</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2012-11-20T11:35:08Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65871#p65871</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Можно ли установить тип переменнй]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65868#p65868" />
			<content type="html"><![CDATA[<p>Если автор хотел, чтобы при объявлении переменной на задавать ее значение, а присваивать по ходу работы в Истину или Ложь, то им видимо предусматривается некий третий вариант, когда переменная как бы вообще никаким значением не установлена при невозможности выполнения проверок в функции.<br />Может просто не работать с возвращаемым буленовским значением, а, например, объявить числовую переменную с областью видимости глобальной для всего скрипта, и менять ее значение: 0 / 1 / 2. </p><p>В начале работы процедуры ее (глоб.переменную) сбрасывать в 0, а по ходу проверки доступов давать уже 1 или 2.</p><p>----<br />Или изначально возвращать в виде числового значения результат функции.</p>]]></content>
			<author>
				<name><![CDATA[Rom5]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5724</uri>
			</author>
			<updated>2012-11-20T10:41:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65868#p65868</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Можно ли установить тип переменнй]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65866#p65866" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>im2002 пишет:</cite><blockquote><p>typeof(bGranted)</p></blockquote></div><p>поосторожнее с этой особенностью - она нервов вам много попортит, а результатом может быть только неприятие нового языка. Используйте как справочник темных мест в JS - <a href="http://shamansir.github.com/JavaScript-Garden/">http://shamansir.github.com/JavaScript-Garden/</a></p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2012-11-20T09:57:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65866#p65866</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Можно ли установить тип переменнй]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65865#p65865" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>im2002 пишет:</cite><blockquote><p>если я просто определяю переменную&nbsp; bGranted как<br />Код:</p><p>var bGranted;</p><p>то возвращаемое значение всегда&nbsp; = false, что не соответствует действительности....</p></blockquote></div><p>На самом деле именно эта конструкция создает переменную со значением undefined. Определяйте переменную и присваивайте ей значение</p><div class="codebox"><pre><code>// хоть так
var granted;
granted = true;

// хоть так
var granted = true;</code></pre></div><p>Не понятно, что именно Вы хотите - присвоить значение переменной или проверить ее тип? Я пока не улавливаю конкретных вопросов. В чем проблема? </p><div class="quotebox"><cite>im2002 пишет:</cite><blockquote><p>так на vbs все ОК, а на JS просто не знаю как это сделать</p></blockquote></div><p>Я скажу банальность, но все же... Учите язык и не старайтесь применить старые привычки vbs в другом в корне отличающемся языке.</p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2012-11-20T09:37:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65865#p65865</id>
		</entry>
</feed>
