Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Генератор случ.чисел?


Автор: Igor Graf 1.10.2005, 22:23
Здрасте уважаемые!

нашел я на форуме код генератора случ.чисел (делаю прогу - "тестирование" на ВБ)
Нашел я кодик , который написал глубокоуважаемый Akina
Код

random = (Rnd * (max - min + 1)) Mod (max - min + 1) + min

но почему то когда вставил этот кусок в свою прогу ничего не получилось smile , точнее получилось не то что надо!

Идея в общем такая была: есть бд с тестами и вариантами правильных ответов, форма куда это дело выводится, соль в том что при загрузке проги каждый раз должны появлятся разные вопросы, а они появ-ся в одинаковом порядке, вот код мой:
Код

Private Sub Form_Load()
Command1.Top = Command1.Top - 10
Command1.Left = Command1.Left - 10
Command1.Visible = False

max = 10
min = 1

random = (Rnd * (max - min + 1)) Mod (max - min + 1) + min
Set cn = New ADODB.Connection
cn.Open "Provider=MSDASQL.1;server=localhost;port=3306;Data Source=nusphere mysql;database=TestsFromDiplom; "", "" "
Set rs = New ADODB.Recordset
rs.Open "select * from tests where id = '" & random & "'", cn, adOpenKeyset, adLockOptimistic
Label2.Caption = rs!Question
Text1.Text = rs!VariantA
Text2.Text = rs!VariantB
Text3.Text = rs!VariantC
Text4.Text = rs!VariantD
Text5.Text = rs!VariantE
rs.Close
End Sub

первым появляется один и тот же вопрос, да и последовательность такая же, может я че не так делаю, не могу понять , прошу помощи!


С уважением Graf

Автор: boevik 1.10.2005, 22:32
Все верно. Если не инициализировать генератора случайных чисел, то порядок чидел один и тот же.
Для инициализации используется команда Randomize.

Автор: Igor Graf 1.10.2005, 22:34
Спасибо boevik
Каким образом это сделать , подскажи пожалуйста

Автор: Spawn™Production® 1.10.2005, 22:39
Igor Graf, просто ставишь в начале процедуры Form_Load команду Randomize...

Автор: Igor Graf 1.10.2005, 22:42
Вот спасибо, помогли очень, теперь все прекрасно работает!! smile

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