Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi d. letzten 25 Zeilen aus einem Memo in ein anderes schreiben (https://www.delphipraxis.net/72619-d-letzten-25-zeilen-aus-einem-memo-ein-anderes-schreiben.html)

Mirco 4. Jul 2006 00:44


d. letzten 25 Zeilen aus einem Memo in ein anderes schreiben
 
Hallo
Ich such mir schon einen Wolf.
Wie kann ich die letzten 25 Zeilen aus einem Memo in ein anderes schreiben?
Gruss
Mirco

Cyberbob 4. Jul 2006 00:58

Re: d. letzten 25 Zeilen aus einem Memo in ein anderes schre
 
Versuchs mal so:

Delphi-Quellcode:
For i := Memo1.Lines.Count - 25 to Memo1.Lines.Count do
begin
  Memo2.Lines.Add(Memo1.Lines.Strings[i]);
end;
Es müssen jedoch mindesten 25 Zeilen in Memo1 vorhanden sein, sonst kommt ne AV!

chaosben 4. Jul 2006 05:23

Re: d. letzten 25 Zeilen aus einem Memo in ein anderes schre
 
@Mirco:
Falls du dich fragst: Hä? Was ist das denn? :) ... dann noch folgende Erklärung dazu:
Der Inhalt eines Memo-Feldes wird in seiner Eigenschaft "Lines" gespeichert. Diese Eigenschaft ist vom Typ "TStrings", was eine Liste von String's darstellt.
Ein TStrings-Objekt hat 2 für dich interessante Eigenschaft:
Count -> Anzahl der Strings (bei einem Memo die Anzahl der Zeilen im Memo)
Strings -> Die Eigenschaft mit der du die einzelnen Strings referenzieren kannst.
Wenn du also die letzten 25 Zeilen kopieren willst, dann kannst du die von Cyberbob vorgeschlagene Methode nutzen.
Wichtig: Lass die Schleife nicht bis Memo1.Lines.Count laufen sondern nur bis Memo1.Lines.Count-1 ... sonst gibts eine AV. :)

mkinzler 4. Jul 2006 05:29

Re: d. letzten 25 Zeilen aus einem Memo in ein anderes schre
 
IMHO müßte es aber
Delphi-Quellcode:
For i := Memo1.Lines.Count - 26 to Memo1.Lines.Count-1 do
oder besser

Delphi-Quellcode:
i1 := Memo1.Lines.Count - 26;
if i1 < 0 then i1 := 0;
For i := i1 to Memo1.Lines.Count-1 do
[Edit: zu langsam]

gfjs 4. Jul 2006 06:16

Re: d. letzten 25 Zeilen aus einem Memo in ein anderes schre
 
Delphi-Quellcode:
For i := Memo1.Lines.Count - 26 to Memo1.Lines.Count-1 do
Muss m.E. heißen:

Delphi-Quellcode:
For i := Memo1.Lines.Count - 25 to Memo1.Lines.Count-1 do
Gruß Jürgen

Cyberbob 4. Jul 2006 11:57

Re: d. letzten 25 Zeilen aus einem Memo in ein anderes schre
 
Zitat:

Zitat von chaosben
@Mirco:
Wichtig: Lass die Schleife nicht bis Memo1.Lines.Count laufen sondern nur bis Memo1.Lines.Count-1 ... sonst gibts eine AV. :)

Ich habs ausprobiert, ohne AV!

BlackJack 4. Jul 2006 13:21

Re: d. letzten 25 Zeilen aus einem Memo in ein anderes schre
 
dann war das nur glück ;)
weil eigentlich laufen for-schleifen bei so sachen immer von 0 bis AnzahlEinträge-1.

Mirco 4. Jul 2006 17:33

Re: d. letzten 25 Zeilen aus einem Memo in ein anderes schre
 
vielen Dank für die Hilfe.
Viele Grüsse, Mirco


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:53 Uhr.

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