DerDelphiAnfänger - Mi 07.09.11 20:21
Titel: Button mit verschiedenen Zuweisungen
Hallo,
Ich bin absolouter Neuling mit Delphi. Ich würde gerne wissen wie ich das mache:
ich habe ein button und ein panel. und jedes mal wenn ich den button klicke, soll nun was anderes im panel stehen. also wenn ich auf den button klicke steht da z.B "hallo".
wenn ich dann nochmal klicke, steht da z.B"wie gehts?"
und wenn ich dann noch mal klicke z.B "schön dass es dir gut geht!"
also dass das alles ungefär so funktioniert wie bei diesem spiel:
http://www.bambusratte.com/klickerei.php
ich weis bereits aus meinem informatikunterricht, das ich denn button das zuweisen kann, dass wenn ich ihn klicke das dann etwas im panel sthet.
also so glaube ich: Panel1.Caption:='hallo';
doch wie geht es nun weiter?
danke schoneinmal im voraus
viele grüße, DerDelphiAnfänger
Moderiert von
Narses: Titel geändert, war: "HILFE!!! Button mit verschiedenen Zuweisungen.".Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Mi 07.09.2011 um 22:12
jaenicke - Mi 07.09.11 20:55
Hallo und :welcome: ;-)
Der einfachste Weg ist, zu schauen was drin steht und basierend darauf den nächsten Text hineinzuschreiben.
Kennst du if..else schon? Damit geht das:
Delphi-Quelltext
1: 2: 3: 4: 5:
| if Panel1.Caption = 'Hallo' then Panel1.Caption := 'Hallo Nummer 2' else if Panel1.Caption = 'Hallo Nummer 2' then Panel1.Caption := ... |
und so weiter ;-)
Die schönere Lösung sieht etwas anders aus. Denn eigentlich genügt es ja, wenn du dir speicherst welche Anzeige gerade aktuell ist. Dann kannst du dir nämlich sparen nachzuschauen was in dem Panel steht.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| TForm1 = class(TForm) private FCurrentDisplay: Integer; public end;
case FCurrentDisplay of 0: Panel1.Caption := 'Hallo Nummer 2'; 1: Panel1.Caption := '...'; 2: ... ... end; Inc(FCurrentDisplay); |
Mit case unterscheidest du was der aktuelle Wert in FCurrentDisplay ist.