![]() |
Newbie: For schleife wird nicht ausgeführt
Code:
ich will dass bei nem button klick 10 zufallszahlen untereinander in ein memo feld geschrieben werden, die obergrenze legt der benutzer durch eine eingabe fest.
procedure TForm1.Button1Click(Sender: TObject);
var i,Zufallszahl,eingabe : integer; begin RANDOMIZE; eingabe := strtoint (edit1.text); for i:=1 to 10 do begin Zufallszahl := Random(eingabe); memo1.text := inttostr (Zufallszahl ); end; Das funktioniert bis auf die 10 zahlen untereinander. 1 schreibt er immer hin aber keine 10, was mach ich falsch :-( |
Re: Newbie: For schleife wird nicht ausgeführt
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i, Zufallszahl, eingabe: integer; begin RANDOMIZE; eingabe := strtoint(edit1.text); Memo1.Lines.Clear; for i := 1 to 10 do begin Zufallszahl := Random(eingabe); memo1.Lines.Add(inttostr(Zufallszahl)); end; end; |
Re: Newbie: For schleife wird nicht ausgeführt
Delphi-Quellcode:
Hiermit überschreibst du immer wieder den Inhalt deines Memos. Lösung siehe FriFra.
memo1.text := inttostr (Zufallszahl );
|
Re: Newbie: For schleife wird nicht ausgeführt
sowas hatte ich mir gedacht :-(
wie kann ich denn den durchschnitt aller 10 zufallszahlen ausrechnen und in die 15. zeile des memo feldes schreiben`? |
Re: Newbie: For schleife wird nicht ausgeführt
Delphi-Quellcode:
Ungetestet aber ungefähr so müßte es funktionieren, wenn Du es in der 15. Zeile stehen haben möchtest.
procedure TForm1.Button1Click(Sender: TObject);
var i, Zufallszahl, eingabe, summe: integer; durchschnitt: real; begin RANDOMIZE; eingabe := strtoint(edit1.text); Memo1.Lines.Clear; for i := 1 to 10 do begin Zufallszahl := Random(eingabe); memo1.Lines.Add(inttostr(Zufallszahl)); summe := summe + ZufallsZahl; end; durchschnitt := summe / 10; for i := 0 to 3 do memo1.Lines.Add(''); memo1.Lines.Add(IntToStr(durchschnitt)); end; |
Re: Newbie: For schleife wird nicht ausgeführt
Hallo,
@GuenterS: Mit der Ausnahme, dass eine Real-Zahl (igittigitt, Real sollte man schon seit D1 nicht mehr benutzen) nicht mit IntToStr umgewandelt werden kann.
Delphi-Quellcode:
...
// statt // memo1.Lines.Add(IntToStr(durchschnitt)); memo1.Lines.Add(FloatToStr(durchschnitt)); oder memo1.Lines.Add(FormatFloat('#,#0.00', durchschnitt)); |
Re: Newbie: For schleife wird nicht ausgeführt
[OT]
Was soll man denn anstelle von real verwenden und was spricht gegen real? [/OT] |
Re: Newbie: For schleife wird nicht ausgeführt
Zitat:
Man soll Single, Double, Extended und Konsorten verwenden. mfG mirage228 |
Re: Newbie: For schleife wird nicht ausgeführt
Moin!
Was hat das mit Intel zu tun? Reals werden so oder mit der CPU gerechnet, da die FPUs mit dem Real Format nicht arbeiten können. MfG Muetze1 |
Re: Newbie: For schleife wird nicht ausgeführt
Delphi-Quellcode:
jetzt sollte es gehen!
procedure TForm1.Button1Click(Sender: TObject);
var i, Zufallszahl, eingabe, summe: integer; durchschnitt: real; begin RANDOMIZE; eingabe := strtoint(edit1.text); Memo1.Lines.Clear; summe := 0; for i := 1 to 10 do begin Zufallszahl := Random(eingabe); memo1.Lines.Add(inttostr(Zufallszahl)); summe := summe + ZufallsZahl; end; durchschnitt := summe / 10; for i := 0 to 3 do memo1.Lines.Add(''); memo1.Lines.Add(IntToStr(durchschnitt)); end; summe war zuvor nicht auf 0 gesetzt! gruss, iaby |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:51 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