Страница: 1 |
Вопрос: Трудный ворпрос. Кто умный? | Добавлено: 04.05.03 14:43 |
Автор вопроса: ![]() |
У меня есть 4 frames и 4 buttons. Мне надо, чтобы при каждом запуске (или нажатии на кнопку и т. д.) четыре кнопки менялись местами. Для этого использую функцию Container. Но как сгенерировать неповторяющиеся числа (от 0 до 3), чтобы потом из них сделать index для frame? |
Ответы | Всего ответов: 3 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 147688925 Вопросов: 24 Ответов: 708 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 04.05.03 14:47 |
Можно решить проблему в лоб. Т.е. взять 0 и проверить возникнет ли ошибка, если да, то взять 1 и т.д. Конечно тормознуто, но работоспособно. |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор 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 For i% = 1 To 4 If i% <> c% Then If res(c 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 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 2 Ответов: 60 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 05.05.03 04:47 |
В свое время я придумал такой способ - Dim a(3) As Integer Private Sub Command1_Click() |
Страница: 1 |
|