Показать сообщение отдельно
  #5  
Старый 31.12.2015, 00:51
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,105
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, например, как-то так:
Код:
const
  n = 16777216; // 2^24
var
  x : double;
  rgb_raw : integer;
  r, g, b : byte;
  rgb : TColor;
begin
  x := Random; // Get [0..1) number
  rgb_raw := round(x * n); // normalize, so, got value [0..n-1)
  
  // extract chanels
  b := rgb_raw mod 256;
  rgb_raw := rgb_raw div 256;
  g := rgb_raw mod 256;
  r := rgb_raw div 256;
  
  // Get TColor
  rgb := RGB(r,g,b);
end;

Мог где-то немножко напутать, но не думаю, что принципиально.
Ответить с цитированием