Einzelnen Beitrag anzeigen

oldmax

Registriert seit: 27. Apr 2006
Ort: Gieboldehausen
167 Beiträge
 
#7

Re: Es ist so einfach komme aber nich drauf - Wert addieren

  Alt 28. Nov 2007, 05:59
Hi
Nun, wie wäre es, wenn du mal über meinen Text chaust. Du brauchst ein Konto, also ein Editfeld Ed_Konto.Text;
Dann ein Editfeld ED_Einsatz.Text.
Nun Schreibst du in das Einsatzfeld deinen Einsatz. Beim onExit Ereignisziehst du den Einsatz vom Konto ab, du hast ja auf das Spielfeld gesetzt. Dieses onExit Ereignis wird bspw.ausgelöst, wenn du dein Button drückst, um die Zufallszahl zu bilden.
also :

Delphi-Quellcode:
Procedure TMyForm.Ed_EinsatzExit(Sender : TObject);
Var Betrag : Real;
Begin
  Betrag:=StrToFloat(ED_Konto.Text)-StrToFloat(Ed_Einsatz.Text);
  Ed_Konto.Text:=FormatFloat('#0.00',Betrag);
end;
Nun setzt du in deiner Spiel-Ergebnisberechnung den Gewinn auf die Gewinnsumme, d.h.

Delphi-Quellcode:
If gewonnen then Gewinn:=StrToFloat(Ed_Einsatz.Text)+StrToFloat(Ed_Einsatz.Text)*Gewinnstufe
else Gewinn:=0;
statt einer Boolean "gewonnen" wäre auch denkbar, die Gewinnstufe auf >0 abzufragen.

Nun brauchst du nur noch den Wert in Gewinn aufs Konto zu schreiben, also

Ed_Konto.Text:=FormatFloat('#0.00',StrToFloat(Ed_Konto.Text)+Gewinn); fertig..........

aber nix anderes hab ich bereits geschrieben, nur nicht im Delphi-Code..
Ach ja, noch ein wenig zur Erleichterung. Nimm Variablennamen, die es dir ermöglichen, auch nach einem halben Jahr ihre Bedeutung zu erkennen, ohne gleich das gesammte Programm nachzuvollziehen. Bei den Editfeldern, wie auch bei anderen Objekten benutze ich eine Abkürzung wie z.B. "Ed_" bei TEdit und dann einen entsprechenden Namen. Auch übe ein wenig die Anwendung von Prozeduren oder Funktionen.
Bspw
Delphi-Quellcode:
Funktion TMyForm.EinSpiel(Einsatzfeld :String): Integer;
Var Kugel : Integer;
    Stufe : Integer;
Begin
  Stufe:=0;
  Kugel:=Random(nn); //nn ist die Anzahl der Felder
  Case Kugel of 1: If Einsatzfeld='1then Stufe :=36; // oder so
                2: If Einsatzfeld='2then Stufe :=36;
                3: ......
                nn: ....
   end; // Case...
   Result :=Stufe;
end; // Function....
Setzen der Gewinnstufe erfolgt durch Aufruf der Function

Gewinnstufe:=Einspiel(Wert der Taste); Wenn du für jedes Roulettfeld ein Button setzt, kannst du in der Ereignisroutine z.B. damit die Gewinnstufe setzen..

Das macht dein Programm übersichtlicher.
Gruß oldmax
Noch ist mein Rechner mir zu Diensten.... ansonsten habe ich die Macht ihn zu vernichten !
  Mit Zitat antworten Zitat