Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Schon wieder Arrays... Werte abwechselnd ändern? (https://www.delphipraxis.net/30249-schon-wieder-arrays-werte-abwechselnd-aendern.html)

malo 22. Sep 2004 15:52


Schon wieder Arrays... Werte abwechselnd ändern?
 
Und zwar hab ich ein (recht schwer zu beschreibenes) Problem:

Ich hab ein 2Dimensionales Array erstellt. Jetzt hab ich von Anfang an alle ArrayWerte auf 0 gesetzt.

Jetzt hab ich außerdem für jedes Array einen Button erstellt.

Wenn ich jetzt auf einen Button klicke, hab ich mithilfe eines if-Befehls dafür gesorgt, dass, wenn der jeweilige Array-Wert = 0 ist, ändert sich das Caption des Buttons und der Wert.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if
Array[1,1] = 0 then
Button1.Caption := 'Geklickt!';
if
Array[1,1] = 0 then
Array[1,1] := 1;
So weit, so gut. Jetzt soll aber, wenn ich auf einen beliebigen anderen Button klicke, der jeweilige Wert in 2 geändert werden und es soll eine neue Caption hin. Beim nächsten Klick auf einen weiteren beliebigen anderen Button soll der Wert wieder auf 1 und die erste Caption hin. Nur wie soll ich das anstellen?

Tyrael Y. 22. Sep 2004 16:09

Re: Schon wieder Arrays... Werte abwechselnd ändern?
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 if Array[1,1] = 0 then
 begin
   Button1.Caption := 'Geklickt!';
   Array[1,1] := 1;
 end
 else if Array[1,1] = 1 then
 begin
   Button1.Caption := 'Nicht Geklickt!';
   Array[1,1] := 0;
 end;  
end;

meinst du es so?


mfg

malo 22. Sep 2004 16:17

Re: Schon wieder Arrays... Werte abwechselnd ändern?
 
Nein.

Gesetzt der Fall, als erstes nimmt der jeweilige Nutzer den Button1. Diesen betätigt er. Der jeweilige Array des Button1 (in meinem Fall [1,1] ) kriegt nun den Wert 1. Damit der Button danach nicht mehr aktiviert werden kann, hab ich das ja mit einem if befehl ausgedrückt. Button1 soll nun nicht mehr benutzt werden können.

Wenn jetzt der Nutzer Button2 (bzw. irgendeinen anderen Button) nutzt, soll der jeweilige Array des Buttons den Wert 2 bekommen. Nun soll auch dieser Button nicht mehr zu nutzen sein.

Wenn jetzt Button3 benutzt wird, soll der jeweilige Array wieder den Wert 1 erhalten. Und immer so weiter. Immer abwechselnd.

Das soll jetzt jedoch nicht Buttonspezifisch sein. Der Nutzer soll selbst entscheiden können, welchen Button er benutzt, die Werte sollen immer abwechselnd in 1 und 2 geändert werden.

Ich hoffe, das war jetzt verständlich.

alcaeus 22. Sep 2004 17:30

Re: Schon wieder Arrays... Werte abwechselnd ändern?
 
Hi malo,

dann will ichs mal versuchen.
Du hast drei Buttons: Button1, 2 und 3.
Klickt Benutzer auf den ersten Button, dann soll dieser disabled werden und 1 in das Array geschrieben werden.
Klickt er nun auf den nächsten, so soll auch dieser disabled werden und 2 kommt ins Array.
Und sobald er auf den 3. Klickt, so soll wieder 0 ins Array, aber was geschieht mit den anderen Buttons?

Zum Array:
Delphi-Quellcode:
procedure Button1Click(Sender: TObject);
  TButton(Sender).Enabled := False;
  MeinArray[1,1] := (MeinArray[1,1]+1) mod 3;
end;
Der Code kommt in eine OnClick, welche für alle 3 Buttons die gleiche ist.
Nun bleibt nur noch das Problem mit dem dritten Button, aber die Werte im Array gehen von 0 auf 1, dann auf 2 und anschließend wieder auf 0.

Falls ich dich jetzt komplett falsch verstanden habe, dann musst du dein Problem nochmal erklären ;)

Greetz
alcaeus

ibp 22. Sep 2004 17:49

Re: Schon wieder Arrays... Werte abwechselnd ändern?
 
habs mir nun drei mal durchgelesen :gruebel:

hä?

schreib doch mal bitte welcher button zu welchem array gehört
z.b.
button1 zu array[1,1]
button2 zu array[2,1] oder zu button1 zu array[1,2]

wie groß ist das array?

und welcher status soll von button3 an z.b. button1 gesendet werden?

malo 22. Sep 2004 17:50

Re: Schon wieder Arrays... Werte abwechselnd ändern?
 
grrrr... ich bin doch unverständlicher, als ich dachte...

Es ist im Grunde egal, welchen Button man anklickt. Beim ersten mal soll der Wert des jeweiligen Arrays, auf 1 gesetzt werden. Beim zweiten Mal soll der Wert auf 2 gesetzt werden. Beim dritten mal wieder auf 1.
Wobei es mehr als nur drei Buttons gibt. Insg. hab ich 9 verschiedene Buttons.

Ist das überhaupt möglich? Also immer abwechselnd den jeweiligen Array-Wert auf 1 und 2 zu setzen, wobei man jeden Button nur EINMAL klicken soll.

malo 22. Sep 2004 17:56

Re: Schon wieder Arrays... Werte abwechselnd ändern?
 
@ibp: Ich hab 9 Arrays [1..3, 1..3].
Button1 hat 1,1, Button2 hat 1,2, Button3 hat 1,3, Button4 hat 2,1 usw.

Und in Sachen Status: Ich will nur, dass beim ersten Klick auf einen Button der Arraywert auf 1 gesetzt wird, Klick auf einen zweiten button soll der Arraywert auf 2 gesetzt werden. Dann soll wieder beim nächsten Button der jeweilige Wert auf 1 gesetzt werden. Dann auf 2. Und immer so weiter.

Dabei soll jeder button nur EINMAL zu benutzen sein.

ibp 22. Sep 2004 18:03

Re: Schon wieder Arrays... Werte abwechselnd ändern?
 
Zitat:

Zitat von malo
@ibp: Ich hab 9 Arrays [1..3, 1..3].
Und in Sachen Status: Ich will nur, dass beim ersten Klick auf einen Button der Arraywert auf 1 gesetzt wird, Klick auf einen zweiten button soll der Arraywert auf 2 gesetzt werden.

... welcher array wert soll auf zwei, der von dem button oder der von dem button davor?

malo 22. Sep 2004 19:36

Re: Schon wieder Arrays... Werte abwechselnd ändern?
 
Zitat:

Zitat von ibp
Zitat:

Zitat von malo
@ibp: Ich hab 9 Arrays [1..3, 1..3].
Und in Sachen Status: Ich will nur, dass beim ersten Klick auf einen Button der Arraywert auf 1 gesetzt wird, Klick auf einen zweiten button soll der Arraywert auf 2 gesetzt werden.

... welcher array wert soll auf zwei, der von dem button oder der von dem button davor?

Der erste Button, der angeklickt wird, soll den arraywert 1 vergeben. Der zweite Button, der angeklickt wird, soll den Arraywert 2 vergeben. Wobei es für den Nutzer des Programms egal sien sollte, welchen Button er anklickt: der erste, den der Nutzer anklickt, soll den arraywert 1 vergeben. Der nächste vergibt 2. Dann wieder arraywert 1. Der nächste angeklickte Button arraywert 2. Und immer so weiter.

xineohp 22. Sep 2004 20:14

Re: Schon wieder Arrays... Werte abwechselnd ändern?
 
moin,

wenn ich das jetzt richtig verstanden und mir korrekt vorstelle, dann soll das so eine Art Drei-Gewinnt werden?
Wobei die 9 Buttons die 9 Felder darstellen, der eine Spieler 1en und der zweite 2en verteilt?!

liege ich mit dieser vermutung richtig?

Wenn ja, dann sollen ja 1en und 2en immer abwechseld verteilt werden, somit muss du doch nur prüfen/mitzählen ob die Gesamtzahl an gedrückten Buttons gerade oder ungerade ist und dann jeweils 1 bzw. 2 ein das jeweilige array feld eintragen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:05 Uhr.
Seite 1 von 3  1 23      

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