Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi leere Zeilen in Textdateien erkennen und löschen? (https://www.delphipraxis.net/30722-leere-zeilen-textdateien-erkennen-und-loeschen.html)

Sunny123 28. Sep 2004 14:43


leere Zeilen in Textdateien erkennen und löschen?
 
Hallo ihr!
Wie der Titel schon beschreibt, möchte ich wissen, wie man in einer Textdatei leere Zeilen finden und entfernen kann. Kann mir jemand helfen?
Gruß Sunny

Dax 28. Sep 2004 14:46

Re: leere Zeilen in Textdateien erkennen und löschen?
 
Du lädst sie in ein Memo und löschst die leeren Zeilen:
Delphi-Quellcode:
Memo.Lines.LoadFromFile(DeineDatei);
i := 0;
while i < Memo.Lines.Count do
begin
  if Memo[i] = '' then
    Memo.Lines.Delete[i]
  else
    Inc(i);  
end;
SPäter musst du es nur speichern und es ist von Leerzeilen bereinigt.

Sunny123 28. Sep 2004 14:50

Re: leere Zeilen in Textdateien erkennen und löschen?
 
hmm, Danke erstmal! die idee is jut.
aber könnt ich das eigentlich auch irgendwie über strings oder stringlists machen?

Luckie 28. Sep 2004 14:51

Re: leere Zeilen in Textdateien erkennen und löschen?
 
Dann lad das ganze in eine Stringlist. Code ist mehr oder wneiger identisch, da die eigenschaft Lines von TMemo vom Typ Strings ist.

Aenogym 28. Sep 2004 14:53

Re: leere Zeilen in Textdateien erkennen und löschen?
 
hi,

über stringlist gehts genauso:

Delphi-Quellcode:
var sl: TStringList;
begin
  sl := TStringList.Create;
  try
    sl.loadfromfile(Deinedatei);
    i := 0;
    while i < sl.Count do
    begin
      if sl[i] = '' then
        sl.Delete[i]
      else
        Inc(i);  
    end;
  finally
    sl.free;
  end;
end;
Aenogym

Sunny123 28. Sep 2004 14:56

Re: leere Zeilen in Textdateien erkennen und löschen?
 
Danke euch!!!

oki 28. Sep 2004 14:59

Re: leere Zeilen in Textdateien erkennen und löschen?
 
Hi,

kreiere eine StringList, lade das File, Prüfe Lines[x] auf '' und lösche die gegebenenfalls. Kurzer Code:
Delphi-Quellcode:
procedure TForm1.ClearLineBtnClick(Sender: TObject);
var List : TStringList;
    Counter : Integer;
begin
  List := TStringList.Create;
  try
    List.LoadFromFile(FFileName);
    IF List.Count = 0 then Exit; // nichts geladen dann raus
    For Counter := List.Count - 1 downto 0 to begin
      IF List.Strings[Counter] = '' then
        List.Delete(Counter);
    end;
    // hier alles tun was mit der bereinigten Liste getan werden soll
    // z.B.:
    List.SaveToFile(FFileName);
  finally
    List.Free;              // List definitiv frei geben
end;
Ich hab das hier mal einfach auf einen Button gelegt, wobei ich davon ausgehe, dass FFileName als Member deklariert ist (String) und ein Dateiname woanders zugewiesen wurde. Gegenüber einem Memo müßte auch nicht unbedingt eine visuelle Kompo genutzt werden.

Andere Möglichkeiten bestehen sicher auch noch.

Gruß oki

oki 28. Sep 2004 15:01

Re: leere Zeilen in Textdateien erkennen und löschen?
 
Uppps

ich zu lahm und Aenogym schneller :shock:

gruß

Aenogym 28. Sep 2004 15:03

Re: leere Zeilen in Textdateien erkennen und löschen?
 
OT:
dein code ist aber interessant. du schreibst beide if's groß und beide then's klein :stupid:

Aenogym

edit: ...und ich schreibe deutsche wörter falsch :?
edit2: nichtmal berichtigen kann ich :shock:

malo 28. Sep 2004 15:10

Re: leere Zeilen in Textdateien erkennen und löschen?
 
Zitat:

Zitat von Aenogym
OT:
dein code ist aber interessant. du schreibst beide if's groß und beide then's klein :stupid:

Aenogym

edit: ...und ich schreibe deutsche wörter falsch :?
edit2: nichtmal berichtigen kann ich :shock:

Naja, über guten Programmierstil kann man sich streiten... manche Leute machen das nunmal so, finden sie schöner oder sonstwas ;)


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