Генерация случайных чисел (random)

Программирование - Практика программирования

Еще один вариант генерации случайных чисел в 1с 7.7.

Можно использовать следующий вариант для создания случайных чисел (кто-то уже использовал этот алгоритм, но я его немного доработал):
Функция СлучайноеЧисло(ЧислоМин, ЧислоМакс)
 scr=СоздатьОбъект("MSScriptControl.ScriptControl");   
 scr.language="javascript";
 Возврат scr.eval("Math.floor(Math.random()*("+Строка(ЧислоМакс)+"-"+Строка(ЧислоМин)+"+1))+"+Строка(ЧислоМин));   
КонецФункции

а вот функция для генерации уникальной строки:

Функция УникальноеИмяФайла(ДлинаСтроки 
 Символы="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 Цифры="1234567890";             
 ИмяФайла="";
 Длина=0;
 ТипСтроки=0;
 Пока СтрДлина(ИмяФайла)<ДлинаСтроки Цикл
     ТипСимвола=СлучайноеЧисло(1,2);
  Если ТипСимвола=1 Тогда  
   Длина=СлучайноеЧисло(1, СтрДлина(Символы));
   ИмяФайла=ИмяФайла+Сред(Символы,Длина,1);    
  ИначеЕсли ТипСимвола=2 Тогда  
   Длина=СлучайноеЧисло(1, СтрДлина(Цифры));
   ИмяФайла=ИмяФайла+Сред(Цифры,Длина,1);   
  КонецЕсли;  
 КонецЦикла;
           
 Возврат ИмяФайла;
КонецФункции

Скачать файлы

Наименование Файл Версия Размер
Пример использования обработки
.ert 43,50Kb
29.09.11
14
.ert 43,50Kb 14 Скачать

См. также

Комментарии
1. Alex210 (janber) 30.09.11 14:35 Сейчас в теме
Я лично в качестве случайного числа брал секунды из ТекущееВремя()
Следующее значение получалось, если предыдущее возвести в квадрат и вырезать из середки 2 цифры.
Для практических целей (типа заполнить таблицу тестовыми данными) хватало.
2. Александр Лыткин (TrinitronOTV) 30.09.11 18:47 Сейчас в теме
Alex210 пишет:

Я лично в качестве случайного числа брал секунды из ТекущееВремя()
Следующее значение получалось, если предыдущее возвести в квадрат и вырезать из середки 2 цифры.
Для практических целей (типа заполнить таблицу тестовыми данными) хватало.

оригинальное решение...
3. Михаил М (Михаська) 12 06.10.11 08:29 Сейчас в теме
4. Gen Tay (GenTay) 31.10.11 17:55 Сейчас в теме
Доброго времени суток! Очень хорошая идея. Особенно сплав случ.чисел и случ.строк!
5. Ийон Тихий (cool.vlad4) 41 31.10.11 18:04 Сейчас в теме
(4) А в чем оригинальность-то? а как вы думаете пароли формируют?
6. Аркадий Кучер (Abadonna) 3676 23.03.13 13:21 Сейчас в теме
На что только народ не пойдет, вместо того, чтобы ВК использовать
7. Александр (alex_gus) 1 27.07.14 13:09 Сейчас в теме
Заюзал первый вариант, но дает только целые числа, а можно еще как то прилепить чтоб и дробная было?
8. Cooler Silent (Cooler) 2 27.07.14 13:48 Сейчас в теме
(7) Конечно можно, надо только быть хоть чуть-чуть программистом, а не 1Сником.
Оставьте свое сообщение