Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Nachspielzeit (Fußball) programmieren (https://www.delphipraxis.net/172023-nachspielzeit-fussball-programmieren.html)

Giovinco 8. Dez 2012 16:20

Nachspielzeit (Fußball) programmieren
 
Hey Leute,

bin neu hier, wollte erstmal "Hallo" sagen. Bin nicht so der Experte im Programmieren und hoffe, dass ich ich mich durch dieses Forum und eure Hilfe verbessern kann :)

Nun zu meiner Frage: Muss für die Schule eine "Sportanzeige" meiner Wahl programmieren, habe mich für Fußball entschieden, aber scheiter an der Nachspielzeit. Habe ein Fenster ( Form1 ), auf dem ich auf einen Button klicken will, dann soll ein Label auf Form2 erscheinen und in Sekunden los laufen. Wen ich wieder klicke soll es aufhören und beim dritten Klick soll die Anzeige wieder verschwinden. Dabei soll die Caption auf dem Button von Form1 sich ändern. Irgendwie funktioniert das beu mir aber noch nicht so ganz. Ich stelle euch mal rein was ich bisher eingegeben habe, hoffe ihr könnt mir sagen, wo der Fehler liegt.

Liebe Grüße
Giovinco


procedure TForm1.Button2Click(Sender: TObject);
var s, m: byte;
t : string;
begin
if Button2.Caption = 'Nachspielzeit'
then Form2.Label10.Visible := true;
Button2.Caption := 'Stop';
nach := nach + 1;
s := nach mod 60;
m := (nach div 60) mod 60;
t := Format('%2.2d:%2.2d',[m, s]);
Form2.Label10.Caption := t;
exit;
if Button2.Caption = 'Stop'
then nach := nach + 0;
Button2.Caption := 'Zurücksetzen';
s := nach mod 60;
m := (nach div 60) mod 60;
t := Format('%2.2d:%2.2d',[m, s]);
exit;
if Button2.Caption = 'Zurücksetzen'
then Button2.Caption := 'Nachspielzeit';
nach := 0;
s := nach mod 60;
m := (nach div 60) mod 60;
t := Format('%2.2d:%2.2d',[m, s]);
Form2.Label10.Caption := '00:00';
Form2.Label10.Visible := false;
exit;
end;

IceBube 8. Dez 2012 18:24

AW: Nachspielzeit (Fußball) programmieren
 
Hallo!

Du solltest deine IF Bedingungen mit BEGIN und END einschließen, sonst wird nur die erste Zeile gemacht, wenn diese zutrifft!

Delphi-Quellcode:
 iF A = B Then
 begin
  A := B + C;
  B := A + B;
 end;

 //Bzw. 1 Zeile
 iF A = B Then
  A := B + C;
In deinem Fall würd ich einen Timer hernehmen, mit einem Intervall von 10 oder so, bei diesem Enabled auf FALSE stellen!

Delphi-Quellcode:
var
 Sekunden, Minuten, Nachspielzeit, GesamtZeit : Integer;

 Timer.onTimer;
 begin
  //
  inc(Sekunden); //Sekunden := Sekunden + 1;

  //
  iF Sekunden >= 60 Then
  begin   
   Sekunden := 0;
   inc(Minuten);
  end;

  //
  Label10.Caption := 'Ausgeben';

  //Gesamtzeit = 90 (Normalzeit) + Nachspielzeit(??)
  iF Minuten >= GesamtZeit Then
   Timer1.Enabled := FALSE;
 end;

//ButtonCLICK
Button.onClick;
begin
 iF Button.Caption = 'Starten' Then
 begin
  Sekunden  := 0;
  GesamtZeit := 90:
  Minuten   := 0;
  Timer1.Enabled := TRUE;
  Button.Caption := '';
  exit;
 end ELSE iF BUtton.Caption = 'Nachspiel' Then
 begin
  Nachspielzeit := 3;
  GesamtZeit := GesamtZeit + Nachspielzeit;
  Timer1.Enabled := TRUE;
  Button1.Caption := '';
  EXIT;
 end ELSE
 begin
  //Zurücksetzen
  //...
 end;
end;
lg

Sir Rufo 8. Dez 2012 18:27

AW: Nachspielzeit (Fußball) programmieren
 
Erst mal herulich willkommen hier.

Und eine Bitte gleich vorweg:

Wenn du Source-Code postest, dann schließe den Code bitte in Delphi-Tags ein
Code:
[DELPHI]procedure Foo;
begin
  DoSomething;
end;[/DELPHI]
sieht dann so aus
Delphi-Quellcode:
procedure Foo;
begin
  DoSomething;
end;
Das was ich noch sagen wollte, hat mein Vorredner schon gemacht :)

Giovinco 9. Dez 2012 13:32

AW: Nachspielzeit (Fußball) programmieren
 
Zitat:

Zitat von Sir Rufo (Beitrag 1194790)

Wenn du Source-Code postest, dann schließe den Code bitte in Delphi-Tags ein


Entschuldige, werde ich demnächst selbstverständlich machen ! :)

Und ansonsten danke für eure Hilfe, funktioniert jetzt endlich ;)


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