Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для Веди
18 / 13 / 1
Регистрация: 04.07.2012
Сообщений: 523

Как передавать массивы из класса/в класс?

27.05.2019, 05:48. Показов 1637. Ответов 6

Студворк — интернет-сервис помощи студентам
привет друзья
задумался над тем
а как передавать массивы из класса/в класс
ничего лучше не придумал чем:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
'модуль класса - Class1
Private v As Long 'max индекс
Private a 'массив
 
Public Sub Class_Initialize()
  v = 2 'значение по умолчанию
  ReDim a(v, v)
End Sub
 
'получить
Public Function getv() As Long
  getv = v
End Function
Public Function geta(ByVal i As Long, ByVal j As Long) As Long
  geta = a(i, j)
End Function
 
'установить
Public Sub setv(ByVal value As Long)
  v = value
  ReDim a(v, v)
End Sub
Public Sub seta(ByVal i As Long, ByVal j As Long, ByVal value As Long)
  a(i, j) = value
End Sub
вроде и работает
но всё как-то коряво
может я чего-то не знаю
и можно всё ловчее сделать?
ресурс прилагаюarr.rar
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.05.2019, 05:48
Ответы с готовыми решениями:

Как правильно передавать параметры из класса А в класс С через класс B?
Всем привет! Пишу игру - Морской бой! Есть класс Game. Также есть класс Battlefield (модель поля, где корабли располагаются). Но нам нужно...

Как передавать безразмерные массивы?
Как передать функцию массив элиментов какогото типа, так что бы не указывать его размер? Т.е. у меня есть функция, которая принимает в...

Целесообразно ли передавать большие массивы как параметры в метод?
В классе есть метод и несколько массивов, с которыми метод выполняет операции. Для разных случаев - разные массивы. Целесообразно ли...

6
70 / 62 / 19
Регистрация: 03.05.2013
Сообщений: 397
27.05.2019, 19:19
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Function Foo() As Double()      ' note the specification of a return value
   Dim bar(1 To 2) As Double
   bar(1) = 1
   bar(2) = 2
   Foo = bar
End Function
 
Private Sub Command1_Click()
   Dim arrayx() As Double       ' note the declaration of a DYNAMIC array
   arrayx = Foo()
   MsgBox arrayx(1)
End Sub
1
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 787
27.05.2019, 23:02
Лучший ответ Сообщение было отмечено Веди как решение

Решение

Цитата Сообщение от Веди Посмотреть сообщение
задумался над тем
а как передавать массивы из класса/в класс
Так же как и обычные переменные.
Цитата Сообщение от Веди Посмотреть сообщение
но всё как-то коряво
Вы читали как создаются классы в VB?
Вам знакомы функции Property Get,Property Let?
Смысл вашего класса,если все функции Public?
Все это у вас уже и так все написано,если бы вы не написали,что
это модуль класса никто и не догадался бы.
Visual Basic
1
Public Sub Class_Initialize()
что это?
Должно быть
Visual Basic
1
Private Sub Class_Initialize()
Visual Basic
1
2
3
4
'получить
Public Function getv() As Long
  getv = v
End Function
Должно быть
Visual Basic
1
2
3
Public Property Get getv() As Long
  getv = v
 End Property
Ну и далее.
Посмотрите пример класса.Конечно не верх совершенства,
но работает.
Вложения
Тип файла: rar класс Resizer.rar (3.3 Кб, 10 просмотров)
1
 Аватар для Веди
18 / 13 / 1
Регистрация: 04.07.2012
Сообщений: 523
28.05.2019, 07:28  [ТС]
Genn55, "читали как создаются классы в VB?"
единственное что я нашёл это - создать модуль класса и в нём описание

"знакомы функции Property Get,Property Let?" нет
спасибо за подсказку
буду изучать
для этого и спрашивал
ведь всё на свете знать нельзя
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 787
28.05.2019, 08:24
Посмотрите
http://www.interway.narod.ru/c... 15/ch0.htm
1
 Аватар для Веди
18 / 13 / 1
Регистрация: 04.07.2012
Сообщений: 523
29.05.2019, 00:17  [ТС]
Genn55, я правильно понимаю
что тутошний лет - как сет в других яп
и ещё поле и аргумент могут быть одинаковы
и различаются за счёт this. или me.
например в java, vb.net
а как здесь обстоит дело
только разные имена
или я чего-то не понимаю?
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 787
29.05.2019, 20:52
Цитата Сообщение от Веди Посмотреть сообщение
что тутошний лет - как сет в других яп
Нет. Let это Let,а Set это Set,совершенно разные операторы.
Если вы внимательно читали, то Let присваивает значение переменной,а Set объекту.
Цитата Сообщение от Веди Посмотреть сообщение
и различаются за счёт this. или me.
Me как и this ссылается на то что внутри класса.
Учитель из меня никакой,так что я могу рассказать как я сам это понимаю.
Короче Property Let (Set) присвоить значение.(Запись) или по аналогии с С++ конструктор с параметрами
Property Get показать (Чтение)
А вообще в VB классы пишутся совершенно не так как в других ЯП.На мой взгляд проще.Хотя все принципы те же.
Просто надо потренироваться,если вы знакомы с принципом построения классов в других ЯП.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.05.2019, 20:52
Помогаю со студенческими работами здесь

Как из класса передавать объект Connection в JSP?
Ja poluchil objeckt Connection-a v classe i xochu peredovat eto v JSP. S pomoshju HttpSession-a tam u menia poluchaetsja null-evoe...

Как передавать переменную из одного класса в другой
Есть код, в нем мне надо передать 1. Все из Terrain в Tile и 2. Передать width и height из Terrain. Я уже пару часов пытаюсь сделать это. ...

Как передавать правильно массив в функцию класса
Привет. Помогите разобраться в данной теме. Как передавать правильно массив в функцию класса, который объявлен в main? И почему ругается...

Как передавать массивы как аргументы в процедуры?
Как передавать массивы как аргументы в процедуры?

Как передавать ссылку на экземпляр класса между Activity?
Если в MainActivity я создаю ссылку (SaveDataObj ) на класс и выделяю память (new SaveData()) под экземпляр класса. как этот объект...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru