Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Rich Edit/löschen von Zeilen (https://www.delphipraxis.net/2077-rich-edit-loeschen-von-zeilen.html)

LeXx 5. Jan 2003 22:28


Rich Edit/löschen von Zeilen
 
Hallo Leute ..

Ich habe ca. 3.500 Textdateien, alle unterschiedlich groß, und in jeder Datei soll die letzte Zeile gelöscht werden.

Ich möchte mir ein Programm machen,das diese Dateien nacheinander in ein Richedit einliest,die Zeile löscht und neu speichert.

Mein Problem,

wie automatisiere ich das löschen der letzten Zeile ??

Danke für jeden Schippsel Code...

Der Verzweifelnde

Lexx

nailor 5. Jan 2003 23:33

Mein Problem: Wenn es Textdateien sind, wozu dann der Weg über ein RichEdit?

Christian Seehase 5. Jan 2003 23:53

Moin Lexx,

erst einmal herzlich willkommen.

Das ganze dürfte, wie Nailor schon so richtig bemerkte, auch ganz gut ohne RichEdit funktionieren.
Allerdings bietet es sich aus Gründen der Einfachheit an das Ganze mit einer TStringList zu lösen.
Diese beinhalten die Methode LoadFromFile, mit der Du dann auf einen Rutsch jeweils eine ganze Textdatei laden kannst (bzw. SaveToFile um sie wieder zu speichern).

Nach dem Laden dann einfach die letzte Zeile (Index ist Count-1) mit der Methode Delete löschen und wieder wegspeichern.

Reicht Dir diese Variante? Das dürfte nämlich mit der Zeit, auch in Abhängigkeit der Grösse der Dateien, ziemlich langsam werden.

RomanK 5. Jan 2003 23:57

Also hier mal die Umsetzung von Christians Lösung:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
str:TStringList;
begin
str:= TStringlist.Create;
str.LoadFromFile('C:\test.txt');
str.Delete(str.Count-1);
str.SaveToFile('C:\test.txt');
str.Free;
end;

LeXx 6. Jan 2003 01:37

Tausend Dank für die schnellen Antworten !!

Das Richedit hatte Ich benutzt,weil noch einige unerwünschte Zeichen aus den Texten entfernt werden sollten. Klappte auch alles ganz gut
bis auf halt die letzte Zeile..

Zitat:

str.Delete(str.Count-1);
Diese Zauberformel bewahrt mich vor tagelanger Plagerei ...

:hello:

Mfg

Lexx


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:37 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