нужен генератор

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Роман Волков
Новичок
Новичок
Аватара пользователя
 
Сообщения: 34
Зарегистрирован: 03.01.2005 (Пн) 18:55

нужен генератор

Сообщение Роман Волков » 03.01.2005 (Пн) 19:00

мен бы код такого типа. когда я нажимаю по книпке в textboxe1 генерируются произвольно несколько цифр или одна. помогите, если кто знает! спасибо!

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 03.01.2005 (Пн) 19:01

А что, RND отменили уже? :)

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

Роман Волков
Новичок
Новичок
Аватара пользователя
 
Сообщения: 34
Зарегистрирован: 03.01.2005 (Пн) 18:55

Сообщение Роман Волков » 03.01.2005 (Пн) 20:19

Что это ещё! Я очень мало знаю VB, совсем мало. Мне просто нужен код. А если мен его пояснят, то это будет просто замечательно!

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 03.01.2005 (Пн) 20:33

Rnd - функция, возвращающая "случайное" число. Для полной "случайности" рекомендую использрвать процедуру Randomize. Пример:
Код: Выделить всё
Sub CommandButton1_Click()
Randomize
TextBox1.Text = RandomNumber(1, 99)
End Sub

Function RandomNumber(ByVal LowerBound As Long, ByVal UpperBound As Long) As Long
RandomNumber = Int((UpperBound - LowerBound + 1) * Rnd + LowerBound)
End Function

'ПОЯСНЕНИЕ
'Процедура нажатия на кнопку CommandButton1
'Генерируем случайные числа заново
'Присваиваем свойству Text объекта TextBox1 значение функции RandomNumber, которая возвращает целое случайное число от 1 до 99 (это задается в ее параметрах)
'Конец процедуры
'
'Функция целого типа RandomNumber(Значение самого маленького возможного целого числа, Значение самого большого возможного целого числа)
'Присваиваем значению этой функции формулу (взятую из http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbenlr98/html/vafctrnd.asp) для получения случайного целого числа из указанного промежутка
'Конец функции
Будет еще что-то непонятно - спрашивай! :)

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 03.01.2005 (Пн) 20:36

Ох, ну не ужели в лом купить книгу и почитать про самые-самые азы??? :?

Чтобы вывести число в диапазоне от LowerBound до UpperBound, следует использовать этот код
Код: Выделить всё
MyValue = Int((UpperBound * Rnd()) + LowerBound)

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 03.01.2005 (Пн) 20:37

Ну вот, опаздал :)

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

ism
Постоялец
Постоялец
 
Сообщения: 337
Зарегистрирован: 12.12.2001 (Ср) 12:59
Откуда: Russia, Saint-Petersburg

Сообщение ism » 03.01.2005 (Пн) 20:44

Randomize лутше поставить на Form_Load(), несколько раз подряд инициализировать генератор случайных чисел некчему

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 03.01.2005 (Пн) 21:41

А еще лучше - использовать Randomize (Timer) ;)

Роман Волков
Новичок
Новичок
Аватара пользователя
 
Сообщения: 34
Зарегистрирован: 03.01.2005 (Пн) 18:55

Сообщение Роман Волков » 04.01.2005 (Вт) 14:04

Спасибо всем - я попробую разобраться. Там ещё кто-то писал, что книгу не могу купить. Я то могу, но я столько книг покупаю, что не на все хватает. Вот недавно купил книгу o php. 200р - отдал. была и по vb, но она стоила 320р. А зачем вообще форумы народ? Вы считаете, что какие-то книжки лучше Вас объяснят? Мне кажется, что нет!!! :D

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.01.2005 (Вт) 14:06

Дык понимаешь, плодотворное общение на форуме получается именно тогда, когда обе стороны немного разбираются в вопросе :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Роман Волков
Новичок
Новичок
Аватара пользователя
 
Сообщения: 34
Зарегистрирован: 03.01.2005 (Пн) 18:55

Сообщение Роман Волков » 04.01.2005 (Вт) 14:24

Всё разобрался!
Использовал чисто этот код:
Sub CommandButton1_Click()
Randomize
TextBox1.Text = RandomNumber(1, 99)
End Sub

Function RandomNumber(ByVal LowerBound As Long, ByVal UpperBound As Long) As Long
RandomNumber = Int((UpperBound - LowerBound + 1) * Rnd + LowerBound)
End Function
Перед тем как писать о том, что Вы думаете - подумайте о том, что Вы хотите написать!

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 04.01.2005 (Вт) 19:37

[off]
Ага :) Значит, я прав, чел в VBA пишет :)
Роман Волков писал(а):когда я нажимаю по книпке в textboxe1

[/off]


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 16

    TopList