hallo zusammen,
ich möchte bei einem rechenprogramm per checkbox aktivieren könenen, welche grundrechenarten bei der zufallsgenerierten aufgabenstellung verwendet werden
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45:
| procedure TForm1.NeueAufgabeButtonClick(Sender: TObject); begin
ErgebnisLabel.visible:=false;
randomize; Zahl1:=random(20)+1; Zahl2:=random(20)+1;
//das wäre nun für eine stinknormale aufgabenstellung, bei der alle 4 grundrechenarten verwendet werden
randomize; Vorzeichen:=random(4)+1;
LabelZahl1.caption:=IntToStr(a); LAbelZahl2.caption:=IntToStr(b);
if Vorzeichen=1 then VorzeichenLabel.caption:='+'; if Vorzeichen=2 then VorzeichenLLabel.caption:='-'; if Vorzeichen=3 then VorzeichenLLabel.caption:='*'; if Vorzeichen=4 then VorzeichenLLabel.caption:='/';
//"Zahl1" und "Zahl2" werden dann eben zusammen mit dem "Vorzeichen" mit einem klick auf den lösungs-button ausgerechnet und in ein ErgebnisLabel eingetragen
procedure TForm1.loesungClick(Sender: TObject); begin ErgebnisLabel.visible:=true; if e=1 then ErgebnisLabel.caption:=intToStr(a+b); if e=2 then ErgebnisLabel.caption:=intToStr(a-b); if e=3 then ErgebnisLabel.caption:=intToStr(a*b); if e=4 then ErgebnisLabel.caption:=FloatToStr(a/b);
end; end; |
ich möchte jetzt allerdings, dass der benutzer selbst auswählen kann, welche rechenarten er benutzen möchte.
also müsste ich für jede kombination der 4 checkboxes dann einen neuen randomize-befehl schreiben und das wird sehr sehr viel.
mit "if-then" bedingungen wird das absolut nichts, denke ich.
wie bekomme ich es dennoch hin, ohne mich totzutippen.
habe in der hilfe in delphi zu "case" nachgelesen, nur bringt mich das nicht besonders weiter...
wer weiß rat oder kann erläutern ?
gruß