Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Массивы Добавлено: 08.11.06 09:39  

Автор вопроса:  Cold Rain
Люди добрые помогите паскалеру!!!
Как обьявить массив в VB???
Заранее спасибо!!!

Ответить

  Ответы Всего ответов: 23  

Номер ответа: 1
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #1 Добавлено: 08.11.06 10:32
dim a()
dim b() as string
dim c(5) as long
и т.п.

Ответить

Номер ответа: 2
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #2
Добавлено: 08.11.06 15:17
dim a()

Менять количество элементов так:

ReDim a(34 To 56) или ReDim a(304)

Ответить

Номер ответа: 3
Автор ответа:
 Сергей



Вопросов: 13
Ответов: 25
 Профиль | | #3 Добавлено: 08.11.06 15:32
Добрый день.
Подскажи пож-та как описать постоянный массив (в разделе констант) строк:
"понедельник", "вторник", "среда",..,"воскресенье". Всего 7 элементов.
Благодарю.

Ответить

Номер ответа: 4
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #4 Добавлено: 08.11.06 16:22
Плохой метод:
Dim A()

   A = Array("Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье";)
Массив должен быть объявлен без задания границ и с типом данных Variant.

Лучше делать так:
Dim A(6) As String

   A(0) = "Понедельник"
   A(1) = "Вторник"
   A(2) = "Среда"
   A(3) = "Четверг"
   A(4) = "Пятница"
   A(5) = "Суббота"
   A(6) = "Воскресенье"

Ответить

Номер ответа: 5
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #5 Добавлено: 08.11.06 19:59
mda... v vb.net {} krasivee

Ответить

Номер ответа: 6
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #6 Добавлено: 08.11.06 22:54
mda... v vb.net {} krasivee
солгасен!

      Dim A As String() = New String() {"Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"}
      ListBox1.Items.AddRange(A)
Красота! :)

Ответить

Номер ответа: 7
Автор ответа:
 Cold Rain



Вопросов: 1
Ответов: 2
 Профиль | | #7 Добавлено: 09.11.06 10:08
Пасиба!!!

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 09.11.06 15:13
Ну и ещё промассивы

Dim a () as Integer '-динамический
Dim b (9) as Integer '-статический

У b размерность уже изменять нельзя, только значение элементов:
b(0) = 10
b(q) = 11
итп...

Изменить размер a, как и говорил VBD:
ReDim(кол-во элементов)

При ReDim все текущие значения массива будут утеряны, чтобы они небыли утеряны, надо

ReDim Pereserve (кол-во элементов)

Получить количество элементов в массиве:

Dim kolvo as Long
kolvo = Ubound(a)

где a - массив

Ну вроде все :)

Ответить

Номер ответа: 9
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #9 Добавлено: 09.11.06 16:29
Гы...
Ну во первых не все. По этой теме еще флудить и флудить можно. (Хотя бы, ничего не сказано про многомерные массивы и работу с ними.)
Во вторых немного не точно. UBound - возвращает максимально возможный индекс массива указанной размерности. LBound - минимальный. Т.е. верхнюю и нижнюю границы размерности массива.

Ответить

Номер ответа: 10
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #10 Добавлено: 09.11.06 18:42
При ReDim все текущие значения массива будут утеряны, чтобы они небыли утеряны, надо
ReDim Pereserve (кол-во элементов)
нда, и нада заметить что при использовании ключевого слово Preserve мона менять только верхнюю границу массива.

Ответить

Номер ответа: 11
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #11 Добавлено: 10.11.06 08:41
нда, и нада заметить что при использовании ключевого слово Preserve мона менять только верхнюю границу массива.

Опять же хотелось бы уточнить.
ReDim с ключевым словом Presterve позволяет изменять только верхнюю границу .последней размерности

Ответить

Номер ответа: 12
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #12 Добавлено: 10.11.06 15:43
изменять только верхнюю границу .последней размерности
угу...

кстать, для кого мы тут это все пишем? :))

Ответить

Номер ответа: 13
Автор ответа:
 Сергей



Вопросов: 13
Ответов: 25
 Профиль | | #13 Добавлено: 14.11.06 13:23
для нас, для нас.... ;-)
Кстати я так и не узнал можно ли массивы (статические) описывать в разделе констант? Именно там. Или только отпределяется массив (статический) как Public и в ближайшей процедуре заполнить значениями. Если можно то можно пример? А то как не перебирал, так все компилятор ругался ;)
Благодарю.

Ответить

Номер ответа: 14
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #14 Добавлено: 14.11.06 18:20
Можно. И он будет доступен во всех процедурах той формы, в которой ты его опишешь. Чтобы он виден во всем проекте, нужно объявить массив в модуле. При объявлении массива в самой процедуре - это локальный массив. Он будет доступен только в той процедуре где объявлен. При выходе из этой процедуры значения массива НЕ сохраняются.

Ответить

Номер ответа: 15
Автор ответа:
 Сергей



Вопросов: 13
Ответов: 25
 Профиль | | #15 Добавлено: 15.11.06 08:55
Спасибо HACKER. Это я все понимаю (про доступность).
Я все же имелл ввиду как объявить послоянный массив строк из 7-ми элементов в разделе констант (в модуле), тут же присвоив ему значения. Т.е. поддерживает ли VB такую запись: (это из Делфей)
const
 mas: array [0..6] of string =
 ;('Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс');
Если да, то какой синтаксис? Что-то не получается у меня.
Пока выкрутился объявив такой массив как глобальный и в первой же процедуре забил его значениями...
Так что?

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам