Главная страница
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.48 MB
Время: 0.012 c
15-1221061690
Tricky_
2008-09-10 19:48
2008.11.02
Удаленная работа, или как заставить программиста работать


2-1222416652
Iris
2008-09-26 12:10
2008.11.02
горячие клавиши на кнопку


1-1202054224
dreamse
2008-02-03 18:57
2008.11.02
Как, зная имя EXE, определить Handle окна этой программы


2-1221985147
Вит__
2008-09-21 12:19
2008.11.02
Имена пользователей в Windows


2-1222171925
neon-w
2008-09-23 16:12
2008.11.02
сохранение - загрузка?