AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

color := random(color);

Ein Thema von SvenD · begonnen am 14. Mär 2007 · letzter Beitrag vom 14. Mär 2007
Antwort Antwort
SvenD
(Gast)

n/a Beiträge
 
#1

color := random(color);

  Alt 14. Mär 2007, 20:48
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
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: color := random(color);

  Alt 14. Mär 2007, 20:51
Hast du die Prozedur eventuell nicht aufgerufen?

Übrigens geht es auch so:

color:=Random($1000000);
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#3

Re: color := random(color);

  Alt 14. Mär 2007, 20:53
RNG irgendwann mal initialisiert? -> Delphi-Referenz durchsuchenrandomize

  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: color := random(color);

  Alt 14. Mär 2007, 20:53
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:

Color := mycolor; oder direkt

Color := RGB(Random(256), Random(256), Random(256));
  Mit Zitat antworten Zitat
SvenD
(Gast)

n/a Beiträge
 
#5

Re: color := random(color);

  Alt 14. Mär 2007, 21:04
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!!
Angehängte Dateien
Dateityp: zip clock-schon_184.zip (196,0 KB, 28x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: color := random(color);

  Alt 14. Mär 2007, 21:07
hast du einmalig beim Programmstart "Randomize" aufgerufen?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
SvenD
(Gast)

n/a Beiträge
 
#7

Re: color := random(color);

  Alt 14. Mär 2007, 21:10
Nein hatte ich nicht, funktioniert jetzt!

Warum muss man das denn extra aufrufen, steht doch sozusagen schon im Text..?!
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: color := random(color);

  Alt 14. Mär 2007, 21:14
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.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz