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
Seite 1 von 2  1 2      
jdiephaus

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

4 Buttons abfragen

  Alt 6. Apr 2017, 18: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, 20: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, 20: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.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: 4 Buttons abfragen

  Alt 6. Apr 2017, 20: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.
$2B or not $2B
  Mit Zitat antworten Zitat
jdiephaus

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

AW: 4 Buttons abfragen

  Alt 6. Apr 2017, 21: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 22:03 Uhr)
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#6

AW: 4 Buttons abfragen

  Alt 6. Apr 2017, 22: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
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: 4 Buttons abfragen

  Alt 6. Apr 2017, 22:31
Setz doch mal einen Haltepunkt und guck, ob er da überhaupt rein springt. Dann weißt du es doch.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#8

AW: 4 Buttons abfragen

  Alt 7. Apr 2017, 12:43
Hallo,
muss das nicht
if (Sender as TButton).name=Button1 then oder
if TButton(Sender).name=Button1 then heißen?

Geändert von XXcD ( 7. Apr 2017 um 12:45 Uhr)
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#9

AW: 4 Buttons abfragen

  Alt 7. Apr 2017, 12:52
Bei mir funktioniert es ohne as TButton.

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
 if Sender = Button2 then
  begin
  end;
end;
.name kann gar nicht funktionieren, da name ein String ist.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

AW: 4 Buttons abfragen

  Alt 7. Apr 2017, 13:45
Nur, wenn du es so vergleichst, erzeugst du ein Schwarzes Loch auf deinem Schreibtisch, wenn der Sender mal nicht vom Typ TButton ist.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz