Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Prism Satz aus .txt file löschen (https://www.delphipraxis.net/71955-satz-aus-txt-file-loeschen.html)

Andidreas 22. Jun 2006 22:17


Satz aus .txt file löschen
 
hi @ all

bin mal wieder bei meinem lieblingsthema .txt file verarbeitung :D

weiß jemand wie ich aus nem .txt file nen satz löschen kann???

hab mal in der hilfe bei denn standard i/o routinen nachgeschaut und bin da aber net fündig geworden :(

wer net wenn mir mal wieder jemand auf die sprünge helfen kann...

mkinzler 22. Jun 2006 22:20

Re: Satz aus .txt file löschen
 
Ein Satz aus einer Textdatei zu löschen wird wohl schwer. Du kannst aber den Text in eine andere Textdatei kopieren und den ungewünschten satz auslassen.

Andidreas 22. Jun 2006 22:24

Re: Satz aus .txt file löschen
 
hmmm des is aber unschön...

wenn ich wegen einem satz z.b. ca. 200 andere sätze kopieren muss :(

muss ich mir wahrscheinlich was anderes einfallen lassen wie sätze aus nem .txt file los werd...

Nicolai1234 22. Jun 2006 22:26

Re: Satz aus .txt file löschen
 
Geht es wirklich um einen Satz oder um eine Zeile.
Wenn es ein Satz ist: Kennst du denn seine Position oder hören die Sätze alle mit "." auf? WEnn du den SAtz selber kennst, dann geht es evtl. auch über Stringreplace. Vorher kannst du dir mit copy den entsprechenden TExt holen..
Wenn es eine Zeile ist, dann kannst du es über ein Memo machen.

Andidreas 22. Jun 2006 22:28

Re: Satz aus .txt file löschen
 
sry hab mich bischen falsch ausgedrückt...
ja ich meinte eine komplette zeile...

meinst du das ichs dann ungefähr so machen soll...
txt file in ein memo kopier und gewünschte zeile über memo.line.clear löschen????

Nicolai1234 22. Jun 2006 22:36

Re: Satz aus .txt file löschen
 
Zitat:

Zitat von Andidreas
sry hab mich bischen falsch ausgedrückt...
ja ich meinte eine komplette zeile...

meinst du das ichs dann ungefähr so machen soll...
txt file in ein memo kopier und gewünschte zeile über memo.line.clear löschen????

Das wäre auf jeden Fall am einfachsten und am schnellsten umzusetzen.
Ich denke auch, dass das von der Performance her nicht so schlimm sein kann. Jedenfalls nicht so, dass sich da viel (und sinnvoll) verbessern lässt.

Andidreas 22. Jun 2006 22:43

Re: Satz aus .txt file löschen
 
hmm naja ich hätte mir jetzt halt nen flag auf denn zu löschenden satz gesetzt, und beim programm schließen alles sätze in ein neues .txt file kopiert...

des wäre jetzt meine vorgehensweise auf die schnelle gewesen...

naja muss mal kucken was "sinnvoller" is...

aber danke für deinen tipp...

Namenloser 24. Jun 2006 20:41

Re: Satz aus .txt file löschen
 
Zitat:

Zitat von Andidreas
sry hab mich bischen falsch ausgedrückt...
ja ich meinte eine komplette zeile...

meinst du das ichs dann ungefähr so machen soll...
txt file in ein memo kopier und gewünschte zeile über memo.line.clear löschen????

Wenn, dann schon
Delphi-Quellcode:
memo.lines.delete(zeilennummer)
:wink:

Alexander 25. Jun 2006 11:49

Re: Satz aus .txt file löschen
 
Ich würde da ja auf keinen Fall über ein Memo gehen. Zumal die doch unter .NET auch keine LoadFromFile-Methoden mehr haben...
Mal so schnell zusammengebastelt:
Delphi-Quellcode:
procedure deleteLine(path, line : String);
var
  reader : StreamReader;
  writer : StreamWriter;
  s, tmp : String;
begin
  reader := StreamReader.Create(path, Encoding.Default);
  s := reader.ReadLine;
  while (s <> nil) do
  begin
    if not s.equals(line) then
      tmp := tmp + s + #13#10;
    s := reader.ReadLine;
  end;
  reader.close;
  writer := StreamWriter.Create(path, false, Encoding.Default);
  tmp := tmp.Substring(0,tmp.Length-2);
  writer.Write(tmp);
  writer.Close;
end;
Sicher nicht optimal, aber dafür 2 Minuten :). Z.B. könnte man noch den Stringbuilder (?) einbauen, um die Stringaddition noch zu verbessern:
tmp := tmp + s + #13#10;


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