Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.11.02;
Скачать: CL | DM;

Вниз

RandomRange   Найти похожие ветки 

 
DFT   (2008-09-25 23:47) [0]

Добрый вечер!
Вот обнаружил для себя, что функция RandomRange работает не так как должна.

выдержка из справки:
RandomRange returns a random integer from the range that extends between AFrom and ATo (inclusive).

однако мои опыты показывают, что она возвращает число из диапазона от (AFrom) до (ATo-1).

Может здесь есть какая-то процессорная зависимость?


 
Медвежонок Пятачок ©   (2008-09-25 23:52) [1]

Caption := IntToStr(RandomRange(1,1));


 
DFT   (2008-09-25 23:55) [2]

Частный случай я оспаривать не стану


 
Медвежонок Пятачок ©   (2008-09-25 23:56) [3]

А вообще вот оно
function RandomRange(const AFrom, ATo: Integer): Integer;
begin
 if AFrom > ATo then
   Result := Random(AFrom - ATo) + ATo
 else
   Result := Random(ATo - AFrom) + AFrom;
end;

Дальше смотрим что возвращает рандом


 
Palladin ©   (2008-09-26 00:01) [4]

никакой зависимости нет
просто ошибка. либо в справке либо в функции


 
DFT   (2008-09-26 00:14) [5]

Да, действительно ошибка в описании именно этой фукции.

Описание функции Random, более похоже на правду

function Random [ ( Range: Integer) ];

In Delphi code, Random returns a random number within the range 0 <= X < Range


 
Германн ©   (2008-09-26 01:10) [6]


> DFT   (26.09.08 00:14) [5]
>
> Да, действительно ошибка в описании именно этой фукции.
>

В BDS2006 этой ошибки уже нет. Но есть неясность.
RandomRange returns a random integer from the range that extends between AFrom and ATo (non-inclusive). Не понятно к чему относится "(non-inclusive)". Только к ATo или к обеим границам диапазона.
Да справка одно из самых больных мест Дельфи. (Конечно не только Дельфи. Скорее трудно найти программу, где справка не является больным местом). Но уж очень это печалит.



Страницы: 1 вся ветка

Текущий архив: 2008.11.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
15-1220456509
Сергей М.
2008-09-03 19:41
2008.11.02
Скайповоды обделались)


1-1201774076
Still Swamp
2008-01-31 13:07
2008.11.02
Мультиязыковая поддержка


6-1194779658
Costy
2007-11-11 14:14
2008.11.02
Органицая обмена большого коичества такста


1-1202115800
Андрей Пл
2008-02-04 12:03
2008.11.02
Вопрос по Report вывод итоговой суммы!!!


2-1222075683
Nameziz
2008-09-22 13:28
2008.11.02
Обработка исключений