Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Трудный ворпрос. Кто умный? Добавлено: 04.05.03 14:43  

Автор вопроса:  USER

У меня есть 4 frames и 4 buttons. Мне надо, чтобы при каждом запуске (или нажатии на кнопку и т. д.) четыре кнопки менялись местами. Для  этого использую функцию Container. Но как сгенерировать неповторяющиеся числа (от 0 до 3), чтобы потом из них сделать index для frame? Надеюсь, вопрос понятен.

Ответить

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

Номер ответа: 1
Автор ответа:
 Иван



Администратор

ICQ: 147688925 

Вопросов: 24
Ответов: 708
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 04.05.03 14:47

Можно решить проблему в лоб. Т.е. взять 0 и проверить возникнет ли ошибка, если да, то взять 1 и т.д.

Конечно тормознуто, но работоспособно.

Ответить

Номер ответа: 2
Автор ответа:
 shuffle



Администратор

ICQ: 201502381 

Вопросов: 15
Ответов: 737
 Профиль | | #2 Добавлено: 04.05.03 17:51

Кода, конечно, много, но работает

Public rc%(3)

Private Sub GetRandom()

Dim res%(1 To 4), i%, c%, dw As Boolean

c% = 1

Do Until dw = True

SetRandom:

Randomize

i% = Int(Rnd(1) * 5)

If i% = 0 Then GoSub SetRandom Else res(c%) = i%

For i% = 1 To 4

If i% <> c% Then

If res(c%) = res(i%) Then

GoSub SetRandom

End If

End If

Next

c% = c% + 1

If c% = 5 Then dw = True

Loop

For i = 0 To 3

rc(i) = res(i + 1)

Next

End Sub

Private Sub Form_Load()

GetRandom

'Дальше сам присваеваеш контейнер

End Sub

Ответить

Номер ответа: 3
Автор ответа:
 aka



Вопросов: 2
Ответов: 60
 Web-сайт: hotmix.narod.ru
 Профиль | | #3
Добавлено: 05.05.03 04:47

В свое время я придумал такой способ -
(вставь код в форму и добавь кнопку,
в остальном разберешься)

Dim a(3) As Integer
Dim b(3) As Integer

Private Sub Command1_Click()
Dim Num
Randomize
Erase b
For e = 0 To 3
up:
Num = CInt(Rnd * 3)
If b(Num) = 777 Then GoTo up
a(e) = Num
b(Num) = 777
Next e
Cls
For e = 0 To 3
Print a(e)
Next e
End Sub

Ответить

Страница: 1 |

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



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