AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

4 Buttons abfragen

Ein Thema von jdiephaus · begonnen am 6. Apr 2017 · letzter Beitrag vom 8. Apr 2017
Antwort Antwort
jdiephaus

Registriert seit: 29. Nov 2016
15 Beiträge
 
#1

4 Buttons abfragen

  Alt 6. Apr 2017, 17:54
Hallo liebe Community,

Folgendes Problem:

Gegeben ist ein Programm mit 4 Buttons.
Ein Button ist der Startbutton, ein Button ist der Endbutton.

Welcher der Buttons der Start und Endbutton ist, lege ich vorher beliebig fest (Startbutton kann aber nicht gleich Endbutton sein).

Mit einem Klick auf einen beliebigen Button möchte ich dann erkennen, ob es der von mir festgelegte Startbutton ist. Wenn true, folgt nun die Suche nach dem richtigen Endbutton. Wenn ich den richtigen Endbutton erwische, Aufgabe erledigt. Wenn ich jedoch den falschen Button drücke, soll das Programm auch den bereits gefunden Startbutton zurücksetzen.

Die Aufgabenstellung klingt so verdammt einfach aber mir explodiert gleich der Kopf ...

Anregungen/Lösungsansätze?
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#2

AW: 4 Buttons abfragen

  Alt 6. Apr 2017, 19:41
Ich habe das nicht ganz verstanden. Klingt irgendwie wie ein Spiel?

Ich würde allen 4 Buttons ein einzigartiges Tag geben (0,1,2,3) und allen Buttons denselben OnClick verpassen und dann im OnClick prüfen:
Delphi-Quellcode:
 if TButton(Sender).Tag = iButtonStart then
  begin
   // tue etwas, wenn der gedrückte Button der Startbutton ist
  end
 else if TButton(Sender).Tag = iButtonEnd then
  begin
   // tue etwas, wenn der gedrückte Button der Endbutton ist
  end;
Irgendwo dann noch in Variablen festlegen, welcher Button der Start- und Endbutton ist:
Delphi-Quellcode:
iButtonStart := 2;
iButtonEnd := 1;
  Mit Zitat antworten Zitat
jdiephaus

Registriert seit: 29. Nov 2016
15 Beiträge
 
#3

AW: 4 Buttons abfragen

  Alt 6. Apr 2017, 19:47
Erstmal vielen Dank für die schnelle Antwort!
Du hast recht, es soll ein Spiel werden.
Ist als Minimalbespiel gedacht, für ein Schachspiel mit 1-Zug-Matt Aufgaben.

Vielen Dank erstmal, ich werde mal versuchen das so zu implementieren!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.363 Beiträge
 
Delphi 12 Athens
 
#4

AW: 4 Buttons abfragen

  Alt 6. Apr 2017, 19:49
Oder direkt
Delphi-Quellcode:
cButtonStart := DerStartbutton;
cButtonEnd := DerEndbutton;



if Sender = cButtonStart then
.

Aber wenn man die 1-4 per Random erzeigen will, dann kann das mit dem .Tag auch ganz praktisch sein.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
jdiephaus

Registriert seit: 29. Nov 2016
15 Beiträge
 
#5

AW: 4 Buttons abfragen

  Alt 6. Apr 2017, 20:29
Vielen Dank auch an dich!

Die Methode mit Sender gefällt mir sehr gut! Auch einfach umzusetzen ohne alle Buttons taggen zu müssen.

Habe den Code jetzt so eingebaut, funktioniert aber leider nicht

Code:
procedure TForm1.ButtonClick(Sender: TObject);
begin
  if Sender = Button1 then
  begin
    Memo1.Text:='Hallo';
  end;
end;
Bekomme keine Ausgabe. Anscheinend erkennt er nicht ob der Button geklickt wurde oder nicht.

Geändert von jdiephaus ( 6. Apr 2017 um 21:03 Uhr)
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#6

AW: 4 Buttons abfragen

  Alt 6. Apr 2017, 21:09
Hast du ALLEN 4 Buttons das Event "ButtonClick" zugewiesen? Hast du das Event selber geschrieben oder kommt das über den Objektinspektor?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz