Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Использование randomize в VB 6.0


Автор: Ksusha_pussycat 23.1.2007, 00:40
Подскажите, пожалуйста, кто хорошо разбирается в randomize, как избежать повторения.
Нужно чтобы случайным образом из таблицы (Access) загружались в лейблы слова, и вот хочется чтоб они не повторялись )))

Автор: cardinal 23.1.2007, 01:38
Ksusha_pussycat, записывай цифры какие уже были и если выпавшая цифра уже есть в списке записанных - значит просто запускай генератор случайных чисел еще раз...

Автор: ~FoX~ 23.1.2007, 09:13
ИМХО проще создать массив чисел заполнить его по порядку и при помощи рандома переставить элементы массива нужное число раз. Таким образом отпадает надобность в проверке на совпадение, да и красивше выглядит.

Автор: Akina 23.1.2007, 16:08
Для MS Access достаточно в запрос-источник добавить 
Код
order by rnd()
.

Автор: Ksusha_pussycat 23.1.2007, 23:56
Цитата(Akina @  23.1.2007,  16:08 Найти цитируемый пост)
Для MS Access достаточно в запрос-источник добавить 
код SQL
1:

order by rnd()




. 


А можно немного подробнее?

Добавлено @ 23:59 
Akina, просто я сомневаюсь, что это поможет избежать повторения smile 

Автор: Akina 24.1.2007, 00:04
Код

strSQL = "Select * From MyTable Order By RND();"
Set rs = OpenRecordset(strSQL)
With rs
   .MoveFirst
   For i = 1 To 10
      If .EOF Then
         MyLabel(i).Caption = ""
      Else
         MyLabel(i).Caption = ![MyText]
         .MoveNext
      End If
   Next i
End With
rs.Close
Set rs = Nothing


Добавлено @ 00:06 
Метод гарантирует отсутствие повторений - если, конечно, таковых нет в таблице.

Автор: Ksusha_pussycat 24.1.2007, 00:09
Akina,  спасибо огромное!!!
А можно ещё вопрос (раз уж начала smile ), как сюда впихнуть проверку. Я сделала отдельно загрузку, отдельно по кнопке проверку, а как их объединить до меня не доходит...

Автор: Akina 24.1.2007, 11:00
Цитата(Ksusha_pussycat @  24.1.2007,  01:09 Найти цитируемый пост)
А можно ещё вопрос 

Нельзя. Одна тема - один вопрос. Создай новую тему со всем необходимым описанием и кодами (краткость - сестра таланта, но враг помощи). Если первый вопрос закрыт - пометь тему как решенную.

Автор: Ksusha_pussycat 24.1.2007, 12:12
Akina,  ок! Всё равно спасибки )))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)