![]() |
Re: Buttons abfragen
Zitat:
Also: Zeig mal dein Onclick. Wie schon gesagt: Hier kriegt man Hilfen, aber keine fertigen Sachen :mrgreen: Wär ja auch langweilig und könnte peinlich werden. Dein Lehrer sieht dein tolles Programm, du darfst es mal der Klasse zeigen und dann fragt er dich wie du das so toll gemacht hast. Und dann stehst du vor der Klasse und wirst rot oder bleich, je nach persönlicher Vorliebe :zwinker: |
Re: Buttons abfragen
also:
procedure TForm1.Button2Click(Sender: TObject); begin i:=1; end; müsste doch gehn |
Re: Buttons abfragen
Also, in der OnClick der 4 Buttons:
Delphi-Quellcode:
Die Tags der Buttons musst du natürlich unterschiedlich setzen. Außerdem bekommen alle 4 Buttons dieselbe OnClick-Routine
procedure ButtonClick(Sender: ....);
begin SpezButton.Tag := Sender.Tag; end; Dann der Spezialbutton:
Delphi-Quellcode:
Das Tag des Spezialbuttons wird im Objektinspektor mit -1 initialisiert, so nützt ein Klick auf diesen Button nichts, außer wenn ein anderer Button angeklickt wurde.
procedure SpezButtonClick(Sender: ....);
begin case SpezButton.Tag of 0: //So dann alles machen end; SpezButton.Tag := -1; end; Greetz alcaeus |
Re: Buttons abfragen
Grmbl Grmpf. Hier:
Delphi-Quellcode:
Nun gut, und damit Du etwas lernst, hier noch einige Erklärungen:
implementation
var {variable der wir die Farbe übergeben} Colour: Byte; Const {Die Werte die die obige Farbe annehmen kann} ColRed = 0; ColBlue = 1; ColYellow = 2; {Die folgenden Prozeduren sind die OnClick Ereignisse Deiner Buttons. Der Label dient nur zur Farbausgabe} Procedure InitCol; Begin {Zufällige Farbe zuweisen. Random liefert einen Wert zwischen 0 und der angegebenen Zahl.} Colour:= Random(2) + 1; Case Colour of ColRed: ColLbl.Caption:= 'Rot'; ... End; End; Procedure StartBtn.Click; Begin InitCol; End; Procedure RedBtn.Click; Begin If Colour = ColRed then Begin {Richtig geraten. Erstmal eine Box mit nem schönen Text ausgeben.} MessageBox(0, 'Sehr gut, Du hast gewonnen.', 'Super!', mb_ok+mb_taskmodal); InitCol; End Else Begin {Falsch geraten} MessageBox(0, 'Falsch geraten, Du hast verloren.', 'Schlech!', mb_ok+mb_taskmodal); End; End; Du hast also die Procedure
Delphi-Quellcode:
, welche eine zufällige Farbe ermittelt und diese dann in text umwandelt der in einem Label ausgegeben wird. Der Benutzer weis also was er drücken muss.
InitCol
Dann klickt der auf den Knopf auf dem steht "Rot" (z.B.). Im OnClick wird nun die Farbe überprüft (das ist die IF-THEN-Anweisung), und je nach Richtigkeit eine Meldung ausgegeben. Ausserdem wird, wenn es richtig war, eine neue Farbe ausgegeben. Zur Procedure MessageBox. Habe sie gearde nicht im Kopf, aber die 0 ist glaube ich, weil Du keinen Besitzer angibst, dann kommt ein Text und ein Titel für das Fenster (oder umgekehrt), dann kommen ein paar Anweisungen zur Formatierung: mb_ok: Es wird nur ein OK-Knopf gezeigt mb_taskmodal: Das programm steht so lange, bis der Benutzer auf OK gedrückt hat. So, noch Fragen? |
Re: Buttons abfragen
danke das is schonmal super kann ich das auch irgendwie machen das er die farbe speichert und dann die gespeicherte und eine neue farbe ausgibt und dann jedesmal wenns richtig ist eins dazu(simonprinzip)?
gruß |
Re: Buttons abfragen
Zitat:
Edit: Hab grad dein letzes post gesehen. Klar geht's. :mrgreen: Nimm dir 'n array und schreib einfach die Farben hintereinander rein. |
Re: Buttons abfragen
@Schnurballo:
Die Vögel in meinem Vorgarten haben mir grad' zugezwitschert, dass Delphi sogar eine Online-Hilfe hat. Da gibbet sogar ein Anfänger-Tut. Sry, aber ein gewisses Basiswissen sollte man vielleicht schon haben. BTW: Wieso verlangt dein Lehrer eigentlich von dir Sachen, von denen du anscheinend noch nie etwas gehört hast? |
Re: Buttons abfragen
So Schnurballo.
Aller Anfang ist schwer, mach Dir nix draus. Wenn du die Farbe speichern willst, dann erstelle doch einfach eine Liste, in der Du Zeile um Zeile die Farben eingibst, die Du schon simuliert hast. Das geht ganz einfach und sieht gut aus. Grüße Zortiander |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:12 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