gifts2017

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

Опубликовал Руслан Богомолов (Rusel2009) в раздел Программирование - Практика программирования

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