Autor Beitrag
Dede16
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mi 14.09.05 19:27 
Hali Hallo:)

Ich meld mich ma wieder mit einer Frage:)

Ich wollte mal ein nerviges Programm schreiben mit dem man auf Knopfdruck erreicht das der Hintergrund eines Formulars alle sagen wir 0.1 Sekunden die Farbe wechselt:).

Also die farben sollten die Delphi standartfarben sein.....z.B clwhite,clblack usw.
nur wie kriege ich das mit der Schleife hin? Das ist mein Problem . Habe mal was von einem Timer gehört habe aber darüber Recht wenig Ahnung.

Danke schonmal für Antworten :)

Mfg Dede
Spaceguide
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 552


(D3/D7/D8) Prof.
BeitragVerfasst: Mi 14.09.05 19:36 
Vorsicht: Trocken-Pfusch!

Setz nen Timer auf das Formular, seine Eigenschaften auf Enabled=False, Interval=100 und dann machst du nen Doppelklick auf den Timer.

Schreib dann in die Timer1Timer Prozedur:
ausblenden Delphi-Quelltext
1:
2:
 Timer1.Tag:=Timer1.Tag+1;
 Color := clWhite*(Timer1.Tag and 1);


und im OnClick-Ereignis eines Knopfes

ausblenden Delphi-Quelltext
1:
Timer1.Enabled:=True;					
Dede16 Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mi 14.09.05 19:43 
Könntest du mir mal die Zeile:
ausblenden Quelltext
1:
Color := clWhite*(Timer1.Tag and 1);					

erläutern?
Amateur
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 777

(Win98, WinMe) WinXP Prof
D3 Prof, D6 Pers, D2k5 Pers., Turbo C++ Explorer
BeitragVerfasst: Mi 14.09.05 19:53 
wie wäre es wenn du einfach nen array mit den farben machst die du willst und dann einfach random um eine farbe zu bekommen. und im timer dann form1.color:=farbarray[random(..)].
is zwar dann nur zufällig aber du kannst bestimmen welche farben benutzt werden sollen.
ansonsten kannste auch ne variable machen, inc(variable) und wenn die größer is als length(farbarray) wird sie wieder auf 0 gesetzt.

_________________
"Kein dummes Gerede. Kein Rumrätseln. Denkt an nichts anderes mehr, nur noch an das, was vor euch liegt. Das ist die wahre Herausforderung. Ihr müßt euch vor euch selbst schützen, Leute." (Rennes in "Cube")
Beiträge: >700
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mi 14.09.05 19:56 
oder einfach nur

Color := clwhite and not color;

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: Mi 14.09.05 20:09 
Oder wer's kryptisch mag:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
const
 Color1 = clWhite;
 Color2 = clBlack;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Color := Color1; // Startfarbe
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Color := Color xor Color1 xor Color2; // Farbe wechseln
end;
Dede16 Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mi 14.09.05 20:11 
DAnke ich hab es mit dem Array und Random gelößt:)
Vielen dank!!! :lol: :lol: :lol: :lol: