<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBScript: Динамическое создание имен переменных или массивов]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5160</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5160&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBScript: Динамическое создание имен переменных или массивов».]]></description>
		<lastBuildDate>Tue, 16 Nov 2010 18:27:26 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBScript: Динамическое создание имен переменных или массивов]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=41772#p41772</link>
			<description><![CDATA[<p>Dictionary - хороший инструмент для Вашего случая.<br />Его можно представить как двухстолбцовую таблицу (двумерный массив). Левый столбец - ключ (индекс), например, имя компьютера, которое уникально в этой сети, а правый - значение, связанное с этим ключём (именем), в том числе и длинное предложение, полученное сцеплением строк.<br />При этом не надо заботиться о том, что размерности обычного массива может и не хватить. Просто добавь в Dictionary ещё один ключ (имя компьютера) и информацию по нему.<br />Далее фантазируй ...&nbsp; информацию можно записать в текстовый файл и при загрузке, например, другим скриптом, извлекать по имени компьютера или узнавать, есть ли в сети компьютер с заданным именем, или, создавать список имён компьютеров, которые конкретно надо отсканировать, или, помещая в первых символах дату сканирования, задавать сканирование только для устаревших данных, ...&nbsp; :-).</p>]]></description>
			<author><![CDATA[null@example.com (Victor)]]></author>
			<pubDate>Tue, 16 Nov 2010 18:27:26 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=41772#p41772</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Динамическое создание имен переменных или массивов]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=41561#p41561</link>
			<description><![CDATA[<p>МДА...<br />Все ЭЛЕМЕТАРНО...<br />Я так и не врубился как работать с Dictionary, точнее каким образом мне его сюда применять, но я совершенно забыл про то что VBS имеет возможность работать с многомерными массивами:<br />Теперь все просто:<br />Dim Database(100,10)<br />...<br />Database(Computer,i) = myMatch</p>]]></description>
			<author><![CDATA[null@example.com (Real Root)]]></author>
			<pubDate>Fri, 12 Nov 2010 22:40:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=41561#p41561</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Динамическое создание имен переменных или массивов]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=41539#p41539</link>
			<description><![CDATA[<p>Нужно использовать тег <a href="http://forum.script-coding.com/help.php">code</a> для оформления постов. Свой созданный пост можно отредактировать.</p><p>По теме: вместо создания имён переменных всегда можно использовать (вложенные) массивы разного рода, например, <a href="http://www.script-coding.com/WSH/Dictionary.html">Dictionary</a>.</p>]]></description>
			<author><![CDATA[null@example.com (The gray Cardinal)]]></author>
			<pubDate>Fri, 12 Nov 2010 12:30:54 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=41539#p41539</guid>
		</item>
		<item>
			<title><![CDATA[VBScript: Динамическое создание имен переменных или массивов]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=41537#p41537</link>
			<description><![CDATA[<p>Здравствуйте товарищи.<br />Помогите решить следующую проблему:<br />На CMD можно динамически создавать нужные переменные, например так:<br />for /l %%A (1,1,10) do (<br />SET Comp-%%A = %%A<br />)<br />В данном случае будет 10 переменных Comp-1, Comp-2, ... , Comp-10<br />Помогите сделать то же самое на VBScript<br />Как сделать нечто похожее - ума не приложу.</p><br /><p>Для чего это нужно:<br />Пишу программку инвентаризации компов по сети.<br />На каждом компе есть расшаренная папка reports$ с отчетом сгенерированным программой Aida64 (бывший Everest).<br />В этом отчете (report.ini) перечислены материнка, проц и т.д.<br />Я хочу сделать так:<br /></p><div class="codebox"><pre><code>MyArray = Array(&quot;CPU Type=&quot;, &quot;Motherboard\|Motherboard Name=&quot;, ... )
ColComputers = Array(&quot;1&quot;, &quot;2&quot;, &quot;11&quot;) &#039;ip-адреса компов
For Each Computer in ColComputer
Set objFile = objFSO.OpenTextFile(&quot;\\192.168.1.&quot; &amp; Computer &amp; &quot;\reports$\report.ini&quot;, ForReading)
...
...
...
i = 0
For Each element In MyArray
i = i + 1
Set regEx = New RegExp
...
...
...
Set myMatches = RegEx.Execute(objFile.ReadAll)
For Each myMatch In myMatches
[b]  Comp_(Computer)(i) = myMatch - &#039; Вот как тут динамически менять имя массива куда будут складываться значения myMatches. Нужно чтобы получалось нечто Comp_1(1) или Comp_11(1) и т.д.[/b]
  Next
Next
Next</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Real Root)]]></author>
			<pubDate>Fri, 12 Nov 2010 12:15:01 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=41537#p41537</guid>
		</item>
	</channel>
</rss>
