7.7 Random

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем yourname, 13 ноя 2007.

  1. TopicStarter Overlay
    yourname
    Offline

    yourname Опытный в 1С

    Регистрация:
    15 июл 2007
    Сообщения:
    84
    Симпатии:
    0
    Баллы:
    26
    ДобрыйДень!
    Скажите, есть ли в 1С аналог функции RANDOM, т.к. самой функции вроде нет.
    Может быть внеш компонента или др. способы?
  2. AndreySc
    Offline

    AndreySc

    Регистрация:
    11 окт 2007
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    1
    ну как вариант всегда можно извратиться с Секундами/Минтами/Часами, конечно не совсем рандом но более или менее случайное число можно получить.
  3. MaxxaM
    Offline

    MaxxaM Опытный в 1С

    Регистрация:
    16 окт 2007
    Сообщения:
    288
    Симпатии:
    2
    Баллы:
    29
    Как вариант напиши ДДЛ которая будет выполнять простейшие математические функции, возведение в степень, рандом и т.д. и с1 вызывай, я так делал
  4. TopicStarter Overlay
    yourname
    Offline

    yourname Опытный в 1С

    Регистрация:
    15 июл 2007
    Сообщения:
    84
    Симпатии:
    0
    Баллы:
    26
    Нашел выход: vbscript
  5. Grooveliker
    Offline

    Grooveliker

    Регистрация:
    19 ноя 2007
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    ВК: Addon1C.dll
    RndInit();
    Синтаксис:
    RndInit();
    Назначение:
    Производит инициализацию генератора случайных чисел. В качестве инициализационного значения используется значение системного времени. После инициализации становятся возможными вызовы функции Rnd().

    Rnd(<?>);
    Синтаксис:
    Rnd(<max>);
    Назначение:
    возвращает случайное целое число в диапазоне от 0 до mах.
  6. 1Yes
    Offline

    1Yes

    Регистрация:
    15 сен 2007
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Вот нашел в одной игре на 1С:

    Код:
    Перем СлучайноеЧисло;
    
    Функция ПолучитьСлучайноеЧисло( МинЗначение, МаксЗначение )
    СлучайноеЧисло = 16807 * СлучайноеЧисло;
    СлучайноеЧисло = СлучайноеЧисло - Цел( СлучайноеЧисло / 2147483647 ) * 2147483647;
    
    Если ( ( МаксЗначение - МинЗначение + 1 ) > 1 ) Тогда
    Возврат МинЗначение + Цел( ( МаксЗначение - МинЗначение + 1 ) * СлучайноеЧисло / 2147483648 );
    Иначе
    Возврат ( СлучайноеЧисло / 2147483648 );
    КонецЕсли;
    КонецФункции
    
    
    
    как я понял при перезапуске 1с (или точнее этого модуля) последовательность псвдослучайных чисел будет одинаковая. Так что при запуске лучше присваивать переменной СлучайноеЧисло хотя бы текущее время и тогда это будет отдаленно напоминать функцию Randomize Timer
Похожие темы
  1. jaw
    Ответов:
    5
    Просмотров:
    4.645
Загрузка...

Поделиться этой страницей