Thema: Delphi Buttons abfragen

Einzelnen Beitrag anzeigen

Zortiander

Registriert seit: 29. Jan 2004
13 Beiträge
 
#34

Re: Buttons abfragen

  Alt 23. Jun 2004, 18:27
Grmbl Grmpf. Hier:

Delphi-Quellcode:
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;
Nun gut, und damit Du etwas lernst, hier noch einige Erklärungen:

Du hast also die Procedure InitCol , 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.

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?
  Mit Zitat antworten Zitat