Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

AW: Ressourcen pro Sekunde generieren

  Alt 27. Jan 2017, 13:27
Okay Timer kurz erklärt:

Du willst ein Stück Code regelmäßig ausführen?

1) Zieh dir einen Timer aufs Formular (Name "Timer1" als Beispiel)
2) Setze die Eigenschaft "Interval" auf das Zeitinterval in Millisekunden in dem du deinen Code ausgeführt haben willst. (1000 = 1x pro Sekunde)
3) Wechsel auf das "Ereignisse" Tabsheet des Timers im Objektinpektor und klicke doppelt auf die leere Fläche rechts von "OnTimer".
4)

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  // Hier kommt der Code hin der jede Sekunde ausgeführt werden soll
end;
In deinem Fall also so:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Luxusgueter:=Luxusgueter+Luxusgueterproduktion;
  Stein:=Stein+Steinproduktion;
  Nahrung:=Nahrung+Nahrungproduktion;
  Gold:=Gold+Goldproduktion;
  label13.caption:=floattostrf(Stein,fffixed,10,0);
  label14.caption:=floattostrf(luxusgueter,fffixed,10,0);
  label15.caption:=floattostrf(Nahrung,fffixed,10,0);
  label16.caption:=floattostrf(gold,fffixed,10,0);
  label17.caption:=inttostr(einwohner);
end;
5) Ein Timer ist standardmäßig angeschaltet, würde also sobald du das Formular bzw. die Anwendung öffnest anfangen den Code auszuführen.
Wenn du das nicht willst stell die Eigenschaft "Enabled" im Objektinspektor erst mal auf false und um den Timer zu aktivieren setzt du dann einfach irgendwo
im Quelltext (also da wo du ihn an/aus schalten willst) Timer1.Enabled := true (oder auch wieder auf false, falls du die Rohstoffproduktion wieder abschalten willst).

HINWEIS: Mach es NICHT mit dieser Schleife und Application.ProcessMessages! Das ist auf unendlich viele Arten schlecht und falsch!
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General (27. Jan 2017 um 13:31 Uhr)
  Mit Zitat antworten Zitat