- Код: Выделить всё
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
Роман-вб писал(а): Ну здесь сознаю. Это что-то из прошлой жизни наверное вспомнилось.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 85