﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Программирование / Visual Basic  / Динамические двумерные массивы / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Wed, 03 Dec 2008 22:27:03 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Динамические двумерные массивы</title><link>http://www.relib.com/forums/Topic913264-1-1.aspx</link><description>Создаем модуль класса и называем его hash2d,в него засовываем код:&lt;P&gt;[code]&lt;/P&gt;&lt;P&gt;Dim h As New Scripting.Dictionary&lt;BR&gt;Function item(k) As Scripting.Dictionary&lt;BR&gt; If Not h.Exists(k) Then&lt;BR&gt;  Set h(k) = New Scripting.Dictionary&lt;BR&gt; End If&lt;BR&gt; Set item = h(k)&lt;BR&gt;End Function&lt;/P&gt;&lt;P&gt;[/code]&lt;/P&gt;&lt;P&gt;Создаем тестовый модуль и суем в код:&lt;/P&gt;&lt;P&gt;[code]&lt;/P&gt;&lt;P&gt;Sub sdfg()&lt;BR&gt;    Dim x As New hash2d&lt;BR&gt;    For i = 1 To 100&lt;BR&gt;        For j = 1 To 100&lt;BR&gt;            x.item(i)(j) = Rnd * 10&lt;BR&gt;        Next j&lt;BR&gt;    Next i&lt;BR&gt;    For i = 1 To 100&lt;BR&gt;        For j = 1 To 100&lt;BR&gt;            t = t &amp;amp; Format(x.item(i)(j), "0000") &amp;amp; " "&lt;BR&gt;        Next j&lt;BR&gt;        Debug.Print t&lt;BR&gt;        t = ""&lt;BR&gt;    Next i&lt;/P&gt;&lt;P&gt;End Sub&lt;/P&gt;&lt;P&gt;[/code]&lt;/P&gt;&lt;P&gt;В Immediate будет распечатан массив.&lt;/P&gt;&lt;P&gt;Причем этот двумерный хеш может быть адресован не только числами но и любыми строками.&lt;/P&gt;&lt;P&gt;x.item("Документ1")("&amp;lt;ДатаНачалаДейстчия&amp;gt;")&lt;/P&gt;&lt;P&gt;и к томуже мы можем присвоить нетолько значение, но и ссылку на какой-то объект.&lt;/P&gt;&lt;P&gt;set x.item("ContextMenus")("menu 1") = new MyApiPopup&lt;P&gt;Разумеется нужно использовать Option explicit, и все объявить соответствено...</description><pubDate>Thu, 17 May 2007 09:52:54 GMT</pubDate><dc:creator>rank1</dc:creator></item><item><title>RE: Динамические двумерные массивы</title><link>http://www.relib.com/forums/Topic913264-1-1.aspx</link><description>Компилятор будет ругаться, если в ReDim указать тип, отличный от указанного в Dim. Лучше вообще не указывай тип при определении размера массива.</description><pubDate>Tue, 15 May 2007 15:06:21 GMT</pubDate><dc:creator>mmos</dc:creator></item><item><title>Динамические двумерные массивы</title><link>http://www.relib.com/forums/Topic913264-1-1.aspx</link><description>Помогите с созданием динамических двумерных массивов. С одномерным там усе понятно:&lt;/P&gt;&lt;P&gt;Dim mas() as integer&lt;/P&gt;&lt;P&gt;ReDim mas(i) as integer&lt;/P&gt;&lt;P&gt;и будет счастие, а ка быть, если надо двумерный? Если объявить его также, а потом ReDim mas(i,j) as integer - будет ругаться, нашел в интернете&lt;/P&gt;&lt;P&gt;Dim mas(,) as integer - компилятор ругается&lt;/P&gt;&lt;P&gt;......может кто знает, памажите</description><pubDate>Tue, 15 May 2007 09:37:49 GMT</pubDate><dc:creator>grey_amt</dc:creator></item></channel></rss>