Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi color := random(color); (https://www.delphipraxis.net/88369-color-%3D-random-color-%3B.html)

SvenD 14. Mär 2007 19:48


color := random(color);
 
Hi..
ich bin gerade dabei mir sone Art Bildschirmschoner zu machen, jedoch nicht mit einer Form1 sondern in der Konsole-Form von Delphi..

naja meine Frage:
Wie kann ich wenn ich eine Farbe brauche eine Zufallsfarbe benutzen?

Delphi-Quellcode:
     Parent := self;
     top := 250;
     left := 0;
     font.Height :=50 ;
     font.Style := [fsbold];
     font.color := clwhite;
     font.Name := 'Comic Sans MS';
     color := [color=#ff0000]random(color)[/color];
Ich habe es mit einer neuen Prozedur ausprobiert die mir eine Farbe ermischt:
Delphi-Quellcode:
procedure mycolor;
begin
 cRed:=Random(256);
 cGreen:=Random(256);
 cBlue:=Random(256);

 CC:=RGB(cRed, cGreen, cBlue);
end;
Jedoch auch wenn ich die variable CC bei Color einbinde habe ich immer schwarz als Farbe



Also was tun??

mfg Sven

3_of_8 14. Mär 2007 19:51

Re: color := random(color);
 
Hast du die Prozedur eventuell nicht aufgerufen?

Übrigens geht es auch so:

Delphi-Quellcode:
color:=Random($1000000);

Meflin 14. Mär 2007 19:53

Re: color := random(color);
 
RNG irgendwann mal initialisiert? -> Delphi-Referenz durchsuchenrandomize


Matze 14. Mär 2007 19:53

Re: color := random(color);
 
Hi,

eine Prozedur ist hierfür nicht geeignet, mach eine Funktion draus und dann passt dein Vorgehen:

Delphi-Quellcode:
function mycolor: TColor;
begin
  result := RGB(Random(256), Random(256), Random(256));
end;
Der Aufruf erfolgt dann so:

Delphi-Quellcode:
Color := mycolor;
oder direkt

Delphi-Quellcode:
Color := RGB(Random(256), Random(256), Random(256));

SvenD 14. Mär 2007 20:04

Re: color := random(color);
 
Liste der Anhänge anzeigen (Anzahl: 1)
hmm.. joar.. also die verschiedenen Versionen Funktionieren..

hatte übrigens tatsächlich nur vergessen mycolor aufzurufen :(


neues Problem.. er tut zwar Farben machen.. aber ich kann das Projekt so oft ausführen wie ich möchte, er generiert immer die selbe Farbe

Habs mal angehängt, ist nicht sehr groß und auch nicht besonders toll (aber das braucht es auch nicht ;-))

Doe problemstellen hab ich an den rand kommentiert!!

SirThornberry 14. Mär 2007 20:07

Re: color := random(color);
 
hast du einmalig beim Programmstart "Randomize" aufgerufen?

SvenD 14. Mär 2007 20:10

Re: color := random(color);
 
Nein hatte ich nicht, funktioniert jetzt!

Warum muss man das denn extra aufrufen, steht doch sozusagen schon im Text..?!

3_of_8 14. Mär 2007 20:14

Re: color := random(color);
 
Wie, "im Text"?

Randomize initialisiert den Zufallsgenerator mit der Anzahl der seit dem Systemstart vergangenen Millisekunden. Wenn man das nicht macht, kriegt man ständig die gleichen Werte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz