Модераторы: Akina
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Использование randomize в VB 6.0 
V
    Опции темы
Ksusha_pussycat
Дата 23.1.2007, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 23.1.2007

Репутация: нет
Всего: нет



Подскажите, пожалуйста, кто хорошо разбирается в randomize, как избежать повторения.
Нужно чтобы случайным образом из таблицы (Access) загружались в лейблы слова, и вот хочется чтоб они не повторялись )))
PM MAIL   Вверх
cardinal
Дата 23.1.2007, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



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


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
~FoX~
Дата 23.1.2007, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 10
Всего: 68



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


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Akina
Дата 23.1.2007, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



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


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Ksusha_pussycat
Дата 23.1.2007, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 23.1.2007

Репутация: нет
Всего: нет



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

order by rnd()




. 


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

Добавлено @ 23:59 
Akina, просто я сомневаюсь, что это поможет избежать повторения smile 
PM MAIL   Вверх
Akina
Дата 24.1.2007, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Код

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 
Метод гарантирует отсутствие повторений - если, конечно, таковых нет в таблице.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Ksusha_pussycat
Дата 24.1.2007, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 23.1.2007

Репутация: нет
Всего: нет



Akina,  спасибо огромное!!!
А можно ещё вопрос (раз уж начала smile ), как сюда впихнуть проверку. Я сделала отдельно загрузку, отдельно по кнопке проверку, а как их объединить до меня не доходит...
PM MAIL   Вверх
Akina
Дата 24.1.2007, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



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

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


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Ksusha_pussycat
Дата 24.1.2007, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 23.1.2007

Репутация: нет
Всего: нет



Akina,  ок! Всё равно спасибки )))
PM MAIL   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.3832 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.