Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
2-1222116408
ShyricK
2008-09-23 00:46
2008.11.02
Вопрос по функционированию ЭВМ (дешифратор)


15-1221210821
Ламо777
2008-09-12 13:13
2008.11.02
Flash 3D - ролик "на лету"


15-1220615795
Пробежал...
2008-09-05 15:56
2008.11.02
D2007 умеет делать приложения для win9x?


3-1208416193
Раиса
2008-04-17 11:09
2008.11.02
Выбрать записи ближайшие к определенному интервалу


15-1220884420
axis_of_evil
2008-09-08 18:33
2008.11.02
IE тормозит систему




   Наверх