Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Alle Memos haben gleich viele Zeilen... (https://www.delphipraxis.net/41189-alle-memos-haben-gleich-viele-zeilen.html)

TheMiller 27. Feb 2005 16:33


Alle Memos haben gleich viele Zeilen...
 
Hi,

ich habe ein Problem. Ich versuche mit Hilfe einer repeat-Schleife allen 3 Memos die gleiche Anzahl an Zeilen zu geben. Diese sieht so aus:

Delphi-Quellcode:
  repeat
   Memo1.Lines.Add('') until
   Memo1.Lines.Count=Memo2.Lines.Count;
Doch wenn ich diese Benutze, fügt das Programm tausende Zeilen ein und hängt sich auf...

Wie kann ich das realisieren, dass alle Memos gleich viele Zeilen haben?

Danke im Voraus

Muetze1 27. Feb 2005 16:41

Re: Alle Memos haben gleich viele Zeilen...
 
Moin!

Du darfst diese Schleife auch nur loslassen, wenn Memo2.Lines.Count auch wirklich grösser als Memo1.Lines.Count ist - ansonsten läuft er unendlich (bzw. bis andere Grenzen auftreten).

MfG
Muetze1

TheMiller 27. Feb 2005 16:42

Re: Alle Memos haben gleich viele Zeilen...
 
Nein, die sollen ja gleich groß sein... Wieso soll ich sie erst dann loslassen, wenn memo1 > als Memo2 ist?

Stanlay Hanks 27. Feb 2005 16:47

Re: Alle Memos haben gleich viele Zeilen...
 
Weil, wenn Memo1.Lines.Count größer ist, als Memo2.Lines.Count, die Wahrscheinlichkeit, dass Memo1.Lines.Count durch Hinzufügen von neuen Zeilen kleiner wird, verschwindend gering ist ;) Dann gehst du nämlich nach dem Motto: "Mist, schon wieder ein Stück abgeschnitten und immer noch zu kurz".

Delphi-Quellcode:
while Memo1.Lines.Count < Memo2.Lines.Count do
  begin
    Memo1.Lines.Add('');
  end;
Man liest sich, Stanlay :hi:

Edit: Beim Editieren sollte auch diese "Es gibt neue Beiträge" Nachricht kommen. :mrgreen:

Nikolas 27. Feb 2005 16:48

Re: Alle Memos haben gleich viele Zeilen...
 
Die Mütze hat gemeinst, dass du zuerst überprüfen musst, ob memo1 wirklich kleiner als memo2 ist.

Schreibs eher so:
Delphi-Quellcode:
while memo1.count<=memo2.count do
memo1.lines.add('');
Da kann nichts passieren, wenn memo1 schon größer als memo2 ist.

TheMiller 27. Feb 2005 16:49

Re: Alle Memos haben gleich viele Zeilen...
 
Sorry, stehe grad ein bissl auf dem Schlauch. Also einfach aus dem = ein > machen?

Stanlay Hanks 27. Feb 2005 16:51

Re: Alle Memos haben gleich viele Zeilen...
 
Zitat:

Zitat von Toxman
Die Mütze hat gemeinst, dass du zuerst überprüfen musst, ob memo1 wirklich kleiner als memo2 ist.

Schreibs eher so:
Delphi-Quellcode:
while memo1.count<=memo2.count do
memo1.lines.add('');
Da kann nichts passieren, wenn memo1 schon größer als memo2 ist.

das = Zeichen muss er weglassen, sonst hat er nach der Schleife in Memo1 eine Zeile zu viel ;)

TheMiller 27. Feb 2005 16:54

Re: Alle Memos haben gleich viele Zeilen...
 
Ich habe den Code jetzt bei Memo2 in OnExit geschrieben. Gehe ich wieder in Memo1 zurück, so hat Memo1 3 Zeilen und Memo2 nur 2 Zeilen...

Stanlay Hanks 27. Feb 2005 16:58

Re: Alle Memos haben gleich viele Zeilen...
 
Welchen Code? ;)

TheMiller 27. Feb 2005 16:59

Re: Alle Memos haben gleich viele Zeilen...
 
Diesen:

Delphi-Quellcode:
while memo1.count<=memo2.count do
memo1.lines.add('');


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz