- Код: Выделить всё
CASE 1 То 9
или в цикле For... Next
- Код: Выделить всё
For n = 1 То 10
CASE 1 То 9
For n = 1 То 10
Dim V(10) as Integer
Dim V(0 to 10) as Integer
Dim V(-4 To 10) As Integer
задавать в виде диапазона
Dim a(100) As Integer
a(1) = 80
a(2) = 100
a(3) = 110
a(4) = 125
a(5) = 140
a(6) = 160
a(7) = 180
a(8) = 200
a(9) = 225
For i = 1 To 8
If a(i) <= D And D <= a(i + 1) Then
End If
Next i
Private Sub Command1_Click()
Dim arr(100, 100) As Integer
Dim i As Integer
Dim d As Integer
n = txt1.Text
140<=arr(1)<=280
arr (3) >= 300 And arr(3) <= 440
arr (4) >= 400 And arr(4) <= 600
arr (5) >= 550 And arr(5) <= 780
arr (6) >= 600 And arr(6) <= 840
arr (7) >= 800 And arr(7) <= 1000
For i = 1 To 7
If arr(i) <= d And d <= arr(i + 1) Then
a (i)
txt1.Text = a(i + 1)
Next i
End Sub
140<=A(1)<=280
Option Explicit
Private Type MyType
Left As Integer
Right As Integer
End Type
Private mas(1 To 3) As MyType
Private Sub Form_Load()
SetBounds 1, 0, 20
SetBounds 2, 10, 20
SetBounds 3, 20, 30
CheckValue 15
End Sub
Public Sub SetBounds(Index As Integer, LeftBound As Integer, RightBound As Integer)
With mas(Index)
.Left = LeftBound
.Right = RightBound
End With
End Sub
Public Sub CheckValue(Number As Integer)
Dim i As Integer
For i = LBound(mas) To UBound(mas)
If Number >= mas(i).Left And Number <= mas(i).Right Then MsgBox Number & " содержится в интервале №" & i & ": " & mas(i).Left & "..." & mas(i).Right
Next i
End Sub
kminas писал(а):Это ни какая не программа. Она назывется Проба массива и форма также назыв. frmProbeMass. Я, для себя пробую как будет работать массив. Просто взял кусок из своей же проги и тренируюсь. Мне нужно, чтобы элементы были в определенном диапазоне от величина и до величина. А моя переменная, чтобы находила себя в одном, а, возможно, и в двух из этих диапазонов. Тогда и будет код.
Меня интересует не мой бред, а твой, Роман, кодпочему не идет. Я так тоже пробовал?
- Код: Выделить всё
140<=A(1)<=280
P.s. На мой бред компиллятор, посему-то не ругается?...
Option Explicit
Private mas(1 to 2, 1 To 3) As Long ' двухмерный массив
Private Sub Form_Load()
SetBounds 1, 0, 20
SetBounds 2, 10, 20
SetBounds 3, 20, 30
CheckValue 15
End Sub
Public Sub SetBounds(Index As Integer, LeftBound As Integer, RightBound As Integer)
mas(1,Index) = LeftBound
mas(2,Index) = RightBound
End Sub
Public Sub CheckValue(Number As Integer)
Dim i As Integer
For i = LBound(mas) To UBound(mas)
If Number >= mas(1,i) And Number <= mas(2,i) Then MsgBox Number & " содержится в интервале №" & i & ": " & mas(1,i) & "..." & mas(2,i)
Next i
End Sub
140<=A(1)<=280
kminas писал(а):Я ж говорю, что массивы только начал изучать.
Приведу часть массива из моей существующей проги
- Код: Выделить всё
Dim a(100) As Integer
a(1) = 80
a(2) = 100
a(3) = 110
a(4) = 125
a(5) = 140
a(6) = 160
a(7) = 180
a(8) = 200
a(9) = 225
For i = 1 To 8
If a(i) <= D And D <= a(i + 1) Then
End If
Next i
Dim v(0 To 2)
v(0) = "140 to 280"
v(1) = "300 to 450"
v(2) = "400 to 500"
Крост писал(а):kminas
Что имелось в виду?
- Код: Выделить всё
Dim V(10) as Integer
Тоже самое что:
- Код: Выделить всё
Dim V(0 to 10) as Integer
hCORe писал(а):в VB6: если Option Base 0 - то да. если Option Base 0 - то нет.
?в VB6: если Option Base 0 - то да. если Option Base 1 - то нет.
А я и использовал его см. мой пост от 26.04.2006 (Ср) 21:12uhm писал(а):Для начала, kminas, будь ты компилятором, что бы ты сделал, если бы тебе попалась "команда"
- Код: Выделить всё
140<=A(1)<=280
Ответил бы "Да, сэр?"![]()
Для продолжения, после того, как ты, наконец, изучишь базовый синтаксис VB, тебе стоит также запомнить, что VB будет рассматривать вышеприведенное выражение совсем не так, как ты и Роман-вб себе это представляете, и что в этом случае обязательно использовать логический оператор AND.
но, говорят, что это тоже бред. Amed спасибо за помощь, но я говорил о бреде, который написан строчкой выше (с оператором AND), это на него не ругается компил., а на Романову строчку как раз и ругается. Ну в общем спасибо всем. Буду изучать, а то столько переворошил литературы и порыл инета. Там и про многоуровневые и про динамические все, а с использованием диапазона - нет. Вот и решил спросить: возможно ли в принципе такое. Поизучаю, а потом, скорее всего, обойду эту проблему, возможно решу тот же вопрос, но с другой стороны, где достаточно будет обычного, точнее штук 10-ти обычных массивов. Надо только посоветоваться со специалистами по оборудованию, а за дискуссию и науку БОЛЬШОЕ СПАСИБО!arr (3) >= 300 And arr(3) <= 440
arr (4) >= 400 And arr(4) <= 600
arr (5) >= 550 And arr(5) <= 780
Private Sub Command1_Click()
Dim arr(100, 100) As Integer
Dim i As Integer
Dim d As Integer
n = txt1.Text
True
True
True
True
True
True
For i = 1 To 7
If arr(i) <= d And d <= arr(i + 1) Then
a (i)
txt1.Text = a(i + 1)
Next i
End Sub
140<=A(1)<=280
Роман-вб писал(а): Ну здесь сознаю. Это что-то из прошлой жизни наверное вспомнилось.
Сейчас этот форум просматривают: Google-бот, PetalBot, Yandex-бот и гости: 11