Autor Beitrag
Aryanracer85
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 09.11.05 07:05 
Hallo,

bin durch Zufall auf euer Forum gestoßen.

Wie sollen in der Schule ein Spiel programmieren und ich soll mich um die Telaspekte Timer und Mediaplayer kümmern...

Wie mach ich das...

Der Timer soll von 60 Sekunden bis auf null runterzählen...

Danke schonmal..

Moderiert von user profile iconraziel: Titel geändert.
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Mi 09.11.05 09:03 
Also zu Mediaplayer nur soviel: Mediaplayer for Dummies (ist net bös gemeint ;) )

Tja und Timer löst ebend nach der in Intervall eingestellten Zeit sein Ereignis OnTimer aus.
Da kannst für dein Problem eine globale Variable/Label die/das die Zeit anzeigt runterzählen.
Und wenn sie 0 ist kannst du den Timer selbst ausschalten.

Wenn ihr damit die Spielzeit anzeigen wollt ist das aber glaube ich nicht so der beste Weg...
Aryanracer85 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 09.11.05 20:53 
Ihr redet hier mit einem der NULL-AHNUNG hat...

bitte etwas erführlicher...
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Do 10.11.05 04:07 
user profile iconAryanracer85 hat folgendes geschrieben:
bitte etwas erführlicher...

ja, das gilt aber für dich ! du schmeisst hier zwei stichworte in den raum und wir sollen dir dabei helfen, ohne zu wissen was du genau willst.
falls du nur wissen willst wie ein countdown programmiert wird guck dir mal den source meiner eieruhr an, da zählt ein timer runter.
www.delphi-forum.de/download.php?id=1646

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Do 10.11.05 08:37 
O.k. also Timer ist eine Komponente und auf der Palettenseite System zu finden.
Komponenten haben Ereignisse, in denen ein Programmierer seinen Code für seinen speziellen Anwendungsfall reinbauen kann(Ereignisbehandlung).
Der Timer löst sein Ereignis OnTimer immer nach einem bestimmten in Timer.Intervall angegebenen Wert aus.
Er muss natürlich vorher noch mit Timer.enabled:=true; aktiviert werden.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
var
  Form1: TForm1;
  zaehler:integer;

implementation

{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);
begin
  timer1.Interval := 1000;
  timer1.Enabled := true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  zaehler:=zaehler+1;
  showmessage('On Timer zum '+inttostr(zaehler)+' Mal');
end;
Aryanracer85 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 11.11.05 08:59 
danke euch schonmal...

also muss ich bei zähler statt + -1 hinpacken und bei Interval 60 statt 1000 für eine Minute???
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Fr 11.11.05 09:28 
Hallo !
Beim Runterzählen musst Du einen Anfangswert setzen Nochmal ein kleines Bsp.


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
var
  Form1: TForm1;
  Counter:Integer; {Variablen Typ}

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 Timer1.Enabled:=False;{Timer aus geht auch im OI}
 Counter:=60; {Anfangswert vorgeben}
 Label1.Caption:='60';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled:=True;{Timer anstellen}
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Timer1.Interval:=1000; {Geschwindigkeit des Timers 1000=1sec. oder im OI}
  Counter:=Counter-1; {Immer 1 abziehen vom Wert}
  if Counter=0 then Timer1.Enabled:=False; {Wenn der Wert 0 ist Timer abschalten}
  if Counter=0 then Counter:=60; {Wenn Wert 0 ist wieder auf 60 hochsetzen}
  Label1.Caption:=IntToStr(Counter);{Den Integerwert in String umwandeln zum Anzeigen}
end;