![]() |
AW: Zufallszaheln generieren und in Memo feld ausgeben funktioniert nicht
Ok hatt geklappt. Vielen Dank
|
AW: Zufallszaheln generieren und in Memo feld ausgeben funktioniert nicht
Ich befürchte ihr habt den Fragesteller mit euren Lösungen etwas überfordert.
Er hat jetzt zwar funktionierende Lösungen, versteht aber vieleicht nicht wie diese funktionieren. Deshalb gehe ich noch einmal auf die ursprüngliche Frage ein. Zahlen ist ein dynamisches Array. Nach "setlength(zahlen, max);" enthält das Array Elemente für "0" bis "max - 1". Deine Schleife läuft von "1" bis "max", ein Zugriff "zahlen[max]" ist aber unzulässig. Bei aktiver Bereichsprüfung gäbe es an dieser Stelle bereits eine Fehlermeldung. Mein Tip: Gib allem einen verständlichen Namen (Steuerelemente, Methoden, Variablen). Zerlege grosse Aufgaben in einzelne kleine Funktionen bzw. Methoden. Die kann man unabhängig von einander Entwickeln und Testen.
Delphi-Quellcode:
procedure TForm1.ZahlenErstellen(Anzahl, Zahlenbereich: Integer);
var i: Integer; begin SetLength(Zahlen, Anzahl); for i := 0 to Anzahl - 1 do begin Zahlen[i] := Random(Zahlenbereich); end; end; procedure TForm1.ZahlenBubbleSort; begin { TODO : } end; function TForm1.ZahlenAlsTextZeilen(MaxProZeile: Integer): string; var i, n: Integer; begin Result := ''; n := 0; for i := 0 to Length(Zahlen) - 1 do begin {am Anfang der Zeile kein Komma} if n <> 0 then Result := Result + ','; Result := Result + IntToStr(Zahlen[i]); n := n + 1; if n = MaxProZeile then begin {neue Zeile, Zähler zurücksetzen} Result := Result + System.sLineBreak; n := 0; end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin ZahlenErstellen(StrToInt(edit1.Text), StrToInt(edit2.Text)); ZahlenBubbleSort; memo1.Lines.Text := ZahlenAlsTextZeilen(10); showmessage(IntToStr(memo1.Lines.Count)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:00 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