AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeilen löschen

Ein Thema von Tommy1988 · begonnen am 5. Mai 2007 · letzter Beitrag vom 5. Mai 2007
Antwort Antwort
Tommy1988
(Gast)

n/a Beiträge
 
#1

Zeilen löschen

  Alt 5. Mai 2007, 09:47
Hallo kann mir wer sagen, wie ich auf Buttonklick bestimmte Zeilen aus einer TXT-Datei löschen kann?

Wenn ein Label das Caption "10" hat, dann soll aus einer textdatei auch eine zeile die mit "10" anfängt gelöscht werden.

Habe schon im Forum geguckt, auch etwas gefunden, aber leider ist das nicht das was ich suche.
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Zeilen löschen

  Alt 5. Mai 2007, 10:16
Am besten lädst Du die Datei in eine Stringlist und suchst deinen string mit Pos.
Löschen kannst Du mit Lines.Delete mal so als Ansatz.
Blackheart
  Mit Zitat antworten Zitat
SirTwist

Registriert seit: 28. Sep 2006
198 Beiträge
 
Delphi XE Professional
 
#3

Re: Zeilen löschen

  Alt 5. Mai 2007, 10:17
Eigentlich ganz einfach:

Die Datei einlesen, nach Zeilen durchsuchen, die mit dem gewünschten Text anfangen, diese löschen, und die Datei wieder speichern.

Wenn es sich um eine Textdatei handelt, könntest Du eine TStringlist nehmen, um die Datei in den Speicher zu laden (LoadFromFile), dann kannst Du auch relativ einfach durchsuchen und löschen und schlussendlich benutzt Du SaveToFile, um den Text wieder zu speichern.
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#4

Re: Zeilen löschen

  Alt 5. Mai 2007, 10:20
jetzt wo ich beide post durchgelesen habe, kapier ich nix mehr. kann mir wer eine kleines beispiel geben aus dem ich lernen könnte?

es ist eine ini datei aber im prinzip ist es ja fast das selbe..
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Zeilen löschen

  Alt 5. Mai 2007, 10:22
Du erstellst eine TStringlist, lädst mit loadfromfile die Datei in die Stringlist, löschst mit delete die fragliche Zeile und speicherst die Liste mit savetofile ab.
Hoffe geholfen zu haben
Apollonius
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Zeilen löschen

  Alt 5. Mai 2007, 10:37
Hi,

so in etwa war das gemeint:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  loop : integer;
  sl: TStringList;
  Pfad : String;
begin
  Pfad := 'C:\1.txt';
  if FileExists(Pfad) then
  begin
    sl:= TStringList.Create;
    try
      sl.LoadFromFile(Pfad);
      for loop := Pred(sl.Count) downto 0 do
      if Pos(Label1.Caption, sl.Strings[loop])= 1 then
        sl.Delete(loop);
      sl.SaveToFile(Pfad);
    finally
      sl.Free;
    end;
  end;
end;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
5. Mai 2007, 12:04
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Delphi-Frage
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Zeilen löschen

  Alt 5. Mai 2007, 15:02
Hallo,

Zitat von Tommy1988:
es ist eine ini datei aber im prinzip ist es ja fast das selbe..
wenn es eine INI-Datei ist, dann ist das Löschen über einen key prefix etwas seltsam. Wenn du aber den Key '10' aus einer Section löschen möchtest, dann geht das recht einfach:

Delphi-Quellcode:
uses
  IniFiles;

var
  fn: TFileName;
  ini: TMemIniFile;

begin
  fn := ChangeFileExt(ParamStr(0), '.ini');
  with TMemIniFile.Create(fn) do
  begin
    DeleteKey('Section', '10');
    UpdateFile;
    Free;
  end;
end;
Getippt und nicht getestet.

Freundliche Grüße
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:30 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