Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Label soll Anzahl der Klicke anzeigen


Daniboy - Sa 04.10.08 23:34
Titel: Label soll Anzahl der Klicke anzeigen
hallo zusammn, ich bin neu her im board und hoffe das ich richtig gepostet habe.

nun zu meinem problem: ich bin neuling bei delphi und möchte jezt gerne das bei einem klick auf einen button der wert eines labels +1 wird. (also 1,2,3..)
ich weiss überhaupt nicht wie ich dies anstellen soll.
hab nur volgendes hinbekommen: Label2.Caption := Label2.Caption+'1' wobei sich das label natürlich so verändert: 1,11,111 x(
ich hoffe ihr könnt mein problem verstehen und mir helfen..

mfg daniboy


bflegel - Sa 04.10.08 23:54

Hallo,

mach Dir eine Variable vom Typ Integer.

Bei jedem Klick erhöhst Du die Variable und lässt diese im Label anzeigen:

Bei button1OnClick

inc(anz_klicks);
Label2.Caption := InttoStr(anz_klicks);

Bye bflegel


platzwart - Sa 04.10.08 23:56

hallo und willkommen in der delphi welt ;)

Label.Caption hat die Eigenschaft "String", also Zeichenkette. Zeichenketten kann man natürlich nicht addieren ;) Daher musst du die Zeichenkette in eine Zahl umwandeln, diese +1 rechnen und dann wieder in eine Zeichenkette zurückwandeln und dem Label zuweisen. Z.b. folgendermaßen:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
...
var
 zahl: Integer;
...
 zahl:= StrToInt(Label1.Caption);
 zahl:= zahl + 1;
 Label1.Caption:= IntToStr(zahl);
...



in kurzform kannst du auch schreiben:


Delphi-Quelltext
1:
2:
3:
...
 Label1.Caption:= IntToStr(StrToInt(Label1.Caption) + 1);
...



ist dann aber leider nicht mehr so übersichtlich ;)

außerdem wird in den Beispielen vorausgesetzt, dass der Caption des Labels eine Zahl zugeordnet ist!


Daniboy - So 05.10.08 00:36

hey danke!
hat super funktioniert x)
vielen dank..

mfg daniboy