Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Timer & Farbverlauf (https://www.delphipraxis.net/21901-timer-farbverlauf.html)

rossinie00 9. Mai 2004 18:27


Timer & Farbverlauf
 
Hallo,
mit dem der prozedur:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  panel1.color := rgb(100,100,100);
end;
Wechselt die Farbe des Panel1 auf den rgb wert 100,100,100.
Ich will aber dass bei jedem timerstart (also jede sekunde zb) die farbe um jeweils einen wert höher wird...bsp
1.sek rgb (100,100,100)
2.sek rgb (101,101,101)
3.sek rgb (102,102,102)
4.sek rgb (103,103,103)

usw, wie geht denn sowas?

toms 9. Mai 2004 18:29

Re: Timer & Farbverlauf
 
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
const
 {$j+}
  r: Integer = 100;
  g: Integer = 100;
  b: Integer = 100;
 {$j-}
begin
  panel1.color := rgb(r,g,b);
  Inc(r);
  Inc(g);
  Inc(b);
end;

rossinie00 9. Mai 2004 18:35

Re: Timer & Farbverlauf
 
danke aber der behällt dann nur eine farbe (ich hab delphi 5) also der änder die nicht

rossinie00 9. Mai 2004 18:42

Re: Timer & Farbverlauf
 
Also jetzt geht er, danke ich hab dieses:
{$j+} {$j-}
Weg gemacht, wozu war das gut?
Geht das auch dass er erst r voll macht dann g voll dann b?

toms 9. Mai 2004 18:48

Re: Timer & Farbverlauf
 
Zitat:

Geht das auch dass er erst r voll macht dann g voll dann b?
Probier's mal so:

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
const
  r: Integer = 100;
  g: Integer = 100;
  b: Integer = 100;
begin
  panel1.color := rgb(r,g,b);
  if r < 255 then
    Inc(r)
  else
  if g < 255 then
    Inc(g)
  else
  if b < 255 then
    Inc(b)
  else
   Timer1.Enabled := False;
end;

Robert_G 9. Mai 2004 18:52

Re: Timer & Farbverlauf
 
Ohne die Compilerschalter wird er woll meckern, dass er einer Konstante nichts zuweisen darf. ;)

rossinie00 9. Mai 2004 19:05

Re: Timer & Farbverlauf
 
comperlierschalter? kann mir das jmd erklären? ohne die dinger gings aber nur

Matze 9. Mai 2004 19:10

Re: Timer & Farbverlauf
 
Hi! :hi:

Noch herzlich willkommen in der DP ;)

Normalerweise kann man einer Konstanten keinen Wert zuweisen, wie der Name schon sagt. Deshalb diese Kompilerschaltung, diese erlaubt es.

Wenn du im ersten beispiel anstatt
Delphi-Quellcode:
const
einfach
Delphi-Quellcode:
var
schreibst, und diese 3 Konstanten jetzt nicht mehr als solche, sondern als variablen deklarierst, dann geht es ohne die Kompilerschaltung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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