Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Darstellung Memo Box? (https://www.delphipraxis.net/159391-darstellung-memo-box.html)

dustz33 25. Mär 2011 22:01

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!

DeddyH 25. Mär 2011 22:04

AW: Darstellung Memo Box?
 
Hallo und Willkommen in der DP :dp:,

Zitat:

Zitat von dustz33 (Beitrag 1091084)
Was mache ich falsch?

Das wird Dir niemand sicher beantworten können, da Du uns nur das Ergebnis zeigst, aber nicht, wie Du dorthin gekommen bist ;)

himitsu 25. Mär 2011 22:08

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?

DeddyH 25. Mär 2011 22:09

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.

scrat1979 25. Mär 2011 22:20

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...

dustz33 25. Mär 2011 22:22

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;

-187- 25. Mär 2011 22:30

AW: Darstellung Memo Box?
 
Delphi-Quellcode:
    if zahl[i] > 0 then
      AusgabeBox.Text:=AusgabeBox.Text+','+(IntToStr(i));
Oder hab ich das Problem falsch verstanden ?


Edit:

Problem2: TPageControl

dustz33 25. Mär 2011 22:37

AW: Darstellung Memo Box?
 
Zitat:

Delphi-Quellcode:
if zahl[i] > 0 then
AusgabeBox.Text:=AusgabeBox.Text+','+(IntToStr(i)) ;
Oder hab ich das Problem falsch verstanden ?

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!

himitsu 25. Mär 2011 22:41

AW: Darstellung Memo Box?
 
Zitat:

Zitat von DeddyH (Beitrag 1091087)
Naja, Add wäre ja schon richtig, sonst bliebe das Memo ja leer,

Es gibt auch andere Möglichkeiten, um einem Memo neuen Text zuzuweisen. :wink:

Zitat:

Zitat von -187- (Beitrag 1091093)
Oder hab ich das Problem falsch verstanden ?

Nee.
(wenn/falls es dann irgendwann mal zu langsam wird, dann kann man es noch ein bissl optimieren)

-187- 25. Mär 2011 22:42

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 19:31 Uhr.
Seite 1 von 2  1 2      

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