Vb.net как узнать размер двухмерного массива - Страница 2
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Vb.net как узнать размер двухмерного массива

Vb.net как узнать размер двухмерного массива

Ответ
Поиск в этой теме
Непрочитано 28.08.2024, 07:17
Vb.net как узнать размер двухмерного массива
HiddenM
 
Проектирование иссо. Программирование
 
Хаб
Регистрация: 23.10.2005
Сообщений: 52

Здравствуйте

есть класс

Код:
[Выделить все]
Public Class Arm
        Public Property gv As String
        Public Property Poz As String
        Public Property diam As Byte 
        Public Property stal As String
        Public Property stp As Short
        Public Property dlina As Short
        Public Property ves As Double
        Public Property Spec As String 
End Class
объявление двухмерного массива классов

Код:
[Выделить все]
Dim arm1(10, 35) As Arm

заполненный массив имеет вид

Код:
[Выделить все]
>	* (0,27)
>	* (0, 28)
>	* (0, 29)
>	* (0, 30)	{TheWallRa.Forml .Arm} {TheWallRa.Forml .Arm} {TheWallRa.Forml .Arm} {TheWallRa.Forml .Arm}
* (0- 31)	{TheWallRa.Forml .Arm}
 Poz	"26"
 Spec	Nothing
 diam	10
 dlina	520
 gv	        "G"
 stal	        ""
 stp	        200
 ves	        0.32
' * (0, 32)	{TheWallRa.Forml .Arm}
 Poz	         "27"
 Spec	"170,2450,-1280"
 diam	10
 dlina	1980
 gv	         "G"
 stal        	"Ac300"
 stp	         50
 ves	         1.22
* (0,33)	Nothing
* (0,34)	Nothing
* (0,35)	Nothing
> * (1,0)	{TheWallRa.Forml .Arm}
> * (1,1)	{TheWallRa.Forml .Arm}

массив где-то заполняется, на меньшее количество чем объявлен.
затем идёт использование его

Код:
[Выделить все]
For i = 0 To UBound(arm1, 2)
            If arm1(1, i).Poz = "" Then Exit For
            If arm1(1, i).gv = "v" Then
                pt1(0) = stpX 
                pt1(1) = y 
                pt2(0) = stpX 
                pt2(1) = y + arm1(1, i).dlina  '
                stpX = stpX + arm1(1, i).stp
                Dim obj 
                obj = ThisDrawing.ModelSpace.AddLine(pt1, pt2) 
            End If
        Next

И вот.
Ubound врёт. Он всегда показывает размер объявленного массива. Не существующий класс в массиве никак не могу отследить.
в строке
If arm1(1, i).Poz = "" Then Exit For
ломается в левой части, когда i=33. так как он не был создан как класс.
Мне надо чтоб не попадать дальше заполненного массива. Как ?
__________________
вот бы сейчас сесть за QB 4.5
Просмотров: 2804
 
Автор темы   Непрочитано 26.12.2024, 08:58
#21
HiddenM

Проектирование иссо. Программирование
 
Регистрация: 23.10.2005
Хаб
Сообщений: 52
<phrase 1=


Спасибо Нубий-IV. Доходчиво.
Эту задачу я прошёл примерно месяц назад.
Это было так : стержень который нужно сдвинуть, я "материализовал" вне массива, а в массиве ссылался не на соседний стержень как раньше, а на "материализованный" элемент.
И VB наверное не понял что от него хотят, и на всякий случай сделал правильно.
__________________
вот бы сейчас сесть за QB 4.5
HiddenM вне форума  
 
Непрочитано 26.12.2024, 10:52
#22
Нубий-IV

Инженер-философ
 
Регистрация: 24.04.2019
Хабаровск
Сообщений: 2,082


Он сделал так, как он устроен. Просто языки, в которых ссылок нет, слишком тормозные, потому что все и всегда копируют. А где ссылки есть - бывают двух видов. В одних (типа C/C++) ссылки/указатели пишут явно, в других (NET) стыдливо прячут. Считается, что неявная запись не требует учить лишние понятия, поэтому бейсик "типа простой" и "типа надежный". В штатах сейчас на государственном уровне пытаются плюсы запретить "потому что слишком сложно и ошибки в указателях". А у нас тут как раз видно, что на бейсике в указателях ошибок не бывает . Все равно же с этой темой разбираться надо, хотя она и не слишком простая. Есть даже такое мнение: Почему учить программирование надо с Пурсика.
Нубий-IV вне форума  
 
Непрочитано 06.02.2025, 04:11
#23
Нубий-IV

Инженер-философ
 
Регистрация: 24.04.2019
Хабаровск
Сообщений: 2,082


Миниатюры
Нажмите на изображение для увеличения
Название: Pass-by.jpg
Просмотров: 83
Размер:	26.0 Кб
ID:	266639  
Нубий-IV вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Vb.net как узнать размер двухмерного массива



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Размер в формате "NхШаг" sam_n Программирование 32 30.06.2019 17:50
Как сделать параметрический размер информационным Малюк AutoCAD 2 27.10.2014 11:01
Как определить (назначить, задать) размер катета К1 в сварных швах У7 и Т7 по ГОСТ 5264-80 rus_h Машиностроение 5 17.06.2014 10:02
Как определить размер катета К1 в сварных швах У7 и Т7 по ГОСТ 5264-80 rus_h Металлические конструкции 2 30.05.2014 19:49
Размер в листе показывает не размер детали! Witalij AutoCAD 6 24.06.2008 07:56