AGB  ·  Datenschutz  ·  Impressum  







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

Leerzeilen aus Ini-Datei entfernen

Ein Thema von Ralf Stehle · begonnen am 26. Nov 2005 · letzter Beitrag vom 27. Nov 2005
 
Ralf Stehle

Registriert seit: 8. Aug 2003
124 Beiträge
 
Delphi 7 Professional
 
#1

Leerzeilen aus Ini-Datei entfernen

  Alt 26. Nov 2005, 23:46
Ich lege in einer Ini-Datei Sections mit Datum als Namen an und lösche diese auch wieder, wenn Sie älter als 7 Tage sind

[15.10.2005]
TXT1=Value1
TXT2=Value2

[16.10.2005]
TXT1=Value1
TXT2=Value2

usw.


beim Löschen der Section
Ini.EraseSection([16.10.2005]) wird aber die Leerzeile nicht gelöscht. Nach einigen Wochen entsteht so eine Ini-Datei mit ganz vielen Leerzeilen

Ich habe eine umständliche Programmierung gefunden, die Leerzeilen löscht

Delphi-Quellcode:
  {*****    Leerzeilen herausschneiden, d.h. Ascii-Folge 13 10 13 10      *****}
  fs := TFilestream.Create(BefundListe + 'EKGBefunde.txt' ,fmopenread or fmShareDenyNone);
  SetLength(ba, fs.Size);
  fs.Read(ba[0], Length(ba));
  fs.Free;

  i := 0; j := 0;
  for i := 0 to Length(ba) do begin
    if NOT ((ba[i] = 10) AND (ba[i-1] = 13) AND (ba[i-2] = 10))
    AND NOT ((ba[i] = 13) AND (ba[i-1] = 10) AND (ba[i-2] = 13))
    then
    begin
      SetLength(bn, j + 1); bn[j] := ba[i]; //s := s + ' ' + IntToStr(ba[i]);
      inc(j);
    end;
  end;
  fs := TFileStream.Create(BefundListe + 'EKGBefunde.txt', fmCreate);
  fs.Writebuffer(bn[0], Length(bn));
  fs.Free;
  {****************************************************************************}

In dem Code wird Byte-weise abgefragt, ob die Ascii-Folge 13 10 mehr als einmal hintereinander vorkommt und nur dann der zweite Puffer gefüllt, wenn das nicht der Fall ist

Hat jemand einen Tipp wie das ohne FileStream direkt mit Ini.EraseStream geht?

Übrigens wurde mal die Frage gepostet, wie man Leerzeilen einfügt, das geht einfach so
Ini.WriteString(FormatDateTime('dd.mm.yyyy',now), 'TXT1' , s + #13#10) Ralf
Ralf Stehle
ralfstehle@yahoo.de
  Mit Zitat antworten Zitat
 


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 02:20 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