Генератор случайных чисел инициализируется начальным числом из параметра:
1 2 3 |
НачальноеЧисло = 167; ГСЧ = Новый ГенераторСлучайныхЧисел(НачальноеЧисло); СлучайноеЧисло = ГСЧ.СлучайноеЧисло(0, 1000); |
Последовательность случайных чисел для одного и того же начального числа будет одинакова.
При создании генератора случайных чисел можно не передавать ему начальное число. В этом случае он инициализируется временем работы операционной системы с момента старта.
1 2 |
ГСЧ = Новый ГенераторСлучайныхЧисел(); СлучайноеЧисло = ГСЧ.СлучайноеЧисло(0, 1000); |
Еще примеры самодельных функций:
1 2 3 4 5 6 7 8 9 10 |
Функция Рандом() Экспорт UID=Новый УникальныйИдентификатор(); UID = СтрЗаменить(UID,"-",""); Значение = ""; Для Н=1 По СтрДлина(UID) Цикл Симв = Сред(UID,Н,1); Значение = Значение+Прав(КодСимвола(Симв),1); КонецЦикла; Возврат Число("0."+Значение); КонецФункции |
1 2 3 4 5 6 7 8 9 10 11 12 |
Функция Ранд(Парам=0) Если Парам<>0 Тогда Случай=Парам; КонецЕсли; Если Число(Случай)=0 Тогда Случай=Число(СтрЗаменить(""+ТекущееВремя(),":","")); Случай=(16807*Случай)%2147483647; КонецЕсли; Случай=(16807*Случай)%2147483647; Случай=макс(Случай,-Случай); Возврат(Случай/2147483647); КонецФункции |
Для 7.7 можно использовать генератор случайностей
1 2 |
ремоте=СоздатьОбъект("rcbdyctl.setting"); Сообщить(ремоте.CreatePassword); |