Entwickler-Ecke
Sonstiges (Delphi) - Pro klick, hochzählen
forcedbydelphi - Fr 05.11.10 11:28
Titel: Pro klick, hochzählen
Hi Leute,
Thema:
wenn man auf ein Button klickt, soll am Zähler hochgezählt werden, also z.B. in 30 sek 100 mal geklickt, und das soll halt angezeigt werden.
Habt ihr tipps wie ich damit anfangen könnte?
Moderiert von
Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 05.11.2010 um 11:02
MaxWurzel - Fr 05.11.10 11:35
Eine globale Variable definieren und die dann bei jedem Klick um eins erhöhen.
HouseGemacht - Fr 05.11.10 11:39
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender: TObject); var Zaehler, NeueZahl : Integer; begin Zaehler:=StrToInt (Label1.Caption); NeueZahl:=Zaehler+1; Label1.Caption:= IntToStr(NeueZahl); end; |
Du braust daZU ein Label (labe1) dessen Caption 0 ist. Dann sollte es Funktionieren.
forcedbydelphi - Fr 05.11.10 11:44
hab ich
Delphi-Quelltext
1: 2:
| icounter := icounter +1; Form1.Caption := 'Anzahl Klicks: '; |
---
Moderiert von
Narses: Beiträge zusammengefasst---
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; ibreite, ihoehe, icounter: integer; scounter: string;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); begin randomize; end;
procedure TForm1.BtFangmichClick(Sender: TObject); begin ibreite := Form1.Width - BtFangmich.Width; ihoehe := Form1.Height - BtFangmich.Height; BtFangmich.Left := random(ibreite - BtFangmich.Width); BtFangmich.Top := random(ihoehe - BtFangmich.Height); icounter := icounter +1; scounter := inttostr (icounter); Form1.Caption := 'Anzahl Klicks: '+scounter; end;
end. |
Danke leute, jetzt bräuchte ich eine Zeit die ab dem ersten Klick anfängt zu zählen (in sekunden)
Moderiert von
Narses: Delphi-Tags hinzugefügt
Nersgatt - Fr 05.11.10 11:56
Siehe Delphi-Hilfe zum Thema SysUtils.Now oder GetTickCount
Bergmann89 - Fr 05.11.10 11:58
Hey,
globale Variablen sind programmiertechnisch immer schlecht. Da du die nur auf deiner Form1 brauchst solltest du die auch im private-Bereich der TForm1 deklarieren.
MfG Bergmann.
p.s: wenn du Code posten willst benutz bitte die Delphi-Tags: <span class="inlineSyntax"><span class="codecomment">{PROTECTTAG2f26daab1a65acf12c70953a5558b7ae}</span></span>
HouseGemacht - Fr 05.11.10 12:17
Du musst nur nen Timer nehmen, den Intervall auf 1000 setzen, Enabled auf False Setzen und Bei "Buttom1.Click" den Befehl Timer1.Enabled:=True ausführen lassen. So fürt er ab dem Klick jede Sekunde etwas aus. z.B. Die Caption eines Labes um 1 erhöhen.
Bergmann89 - Fr 05.11.10 12:58
Hey,
wenn er die Zeitanzeige live aktualisieren will ist das natürlich besser, aber wenn er einfach nur die Zeit ausrechnen will, dann ist GetTickCount die bessere Wahl. Da hat man es Millisekunden genau und der Rechner wird nicht so stark belastet (auch wenn es bei diesem Programm wohl kaum ins Gewicht fällt ^^). Wenn das ganze noch genauer werden soll kann man auch QueryPerformanceCounter nehmen.
MfG Bergmann.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!