![]() |
Darstellung Memo Box?
Liste der Anhänge anzeigen (Anzahl: 2)
Hi,
ich erstelle zur Zeit ein Sieb des Eratosthenes mit Delphi 5. Die Zahlen werden erfolgreich in einer Memo-Box ausgegeben, allerdings werden sie untereinander angezeigt, was bei einigen hundert Zahlen recht ineffizient ist. Ich will, dass sie die Box neben- und untereinander ausfüllen, am besten durch Kommata getrennt. Was mache ich falsch? Eine zweite Frage hätte ich noch; ich will eine zweite ”Seite” erstellen, die entweder über eine Registerkarte oder einen Button aufgerufen wird (eine Info Seite mit einer kurzen Biografie des Eratosthenes). Wie mache ich das am einfachsten bzw. gibt es dazu Tutorials oder Stichwörter nach denen ich googlen kann? Entschuldigt bitte die vermutlich trivialen Fragen, ich bin noch sehr neu auf dem Gebiet. Vielen Dank im Voraus! |
AW: Darstellung Memo Box?
Hallo und Willkommen in der DP :dp:,
Zitat:
|
AW: Darstellung Memo Box?
Dann darfst du diese Zahlen eben nicht via Add hinzufügen.
Add fügt eine neue Zeile hinzu. Also, was soll man dann erwarten? |
AW: Darstellung Memo Box?
Naja, Add wäre ja schon richtig, sonst bliebe das Memo ja leer, aber der Zeitpunkt und die Daten sind entscheidend.
|
AW: Darstellung Memo Box?
Nehm doch einfach ein TStringGrid. So habe ich damals - genau dasselbe Problem :) - gelöst. Source habe ich leider nicht mehr, da > 8 Jahre her...
|
AW: Darstellung Memo Box?
Danke schonmal für die schnellen Antworten, anbei der Quelltext, vielleicht hilft der uns weiter.
Code:
procedure TForm1.BerechnenClick(Sender: TObject);
var zahl : array[2..100] of integer; p,i,v : integer; begin for i := 2 to 100 do zahl[i] := i; p := 2; while p <= 100 do begin v := 2; while v*p <= 100 do begin zahl[v*p] := 0; v := v+1; end; i := p+1; while (i<=100) and (zahl[i] = 0) do i := i + 1; p := i; end; for i := 2 to 1000 do if zahl[i] > 0 then AusgabeBox.Lines.Add(IntToStr(i)); end; |
AW: Darstellung Memo Box?
Delphi-Quellcode:
Oder hab ich das Problem falsch verstanden ?
if zahl[i] > 0 then
AusgabeBox.Text:=AusgabeBox.Text+','+(IntToStr(i)); Edit: Problem2: TPageControl |
AW: Darstellung Memo Box?
Zitat:
Perfekt, das hat mein Problem gelöst! Vielen Dank an alle! :thumb: Der Hinweis mit TPageControl sieht vielversprechend aus, ich versuche gerade das Ganze umzusetzen und melde mich wenn es klappt! |
AW: Darstellung Memo Box?
Zitat:
Zitat:
(wenn/falls es dann irgendwann mal zu langsam wird, dann kann man es noch ein bissl optimieren) |
AW: Darstellung Memo Box?
Um dir eine weitere Methode vorzustellen hab ich noch eine Lösung für dich. Du behälst deinen alten Code und nach der Schleife fügst du diesen Code ein: (Natürlich ist die andere Lösung sinnvoller - Dient nur zur Demonstration)
Delphi-Quellcode:
AusgabeBox.Text:=StringReplace(AusgabeBox.Text, sLineBreak, ',',[rfReplaceAll, rfIgnoreCase]);
Zum PageControl gibts erstmal nicht viel zu sagen. Einfach auf die Form ziehen, die Subpages erstellen (Rechtsklick auf die Komponente) und joa, die Subpages befüllen :P |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 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