AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Nur die erste Zeile aus einer Textdatei löschen
Thema durchsuchen
Ansicht
Themen-Optionen

Nur die erste Zeile aus einer Textdatei löschen

Ein Thema von Tyrael Y. · begonnen am 28. Jul 2003 · letzter Beitrag vom 29. Jul 2003
Antwort Antwort
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#1

Nur die erste Zeile aus einer Textdatei löschen

  Alt 28. Jul 2003, 17:29
Hi,
ich habe eine etwa 1MB große Textdatei.
Aus dieser Text Datei muss ich jetzt die erste Zeile löschen und die Datei unter dem selben Namen wieder speichern.
Es soll dabei keine neue Datei angelegt werden, sondern wirklich nur die erste Zeile soll gelöscht werden.
In eine Stringlist kann ich die Datei nicht einlesen, ad eine Stringlist nicht mit 1MB grossen Dateien umgehen kann.

Gbt es irgend eine geschickte Lösung dafür?
Ich werde es auf alle Fälle weiter probieren, wäre aber sehr dankbar für Vorschläge.

Danke euch allen

Tyrael
Levent Yildirim
  Mit Zitat antworten Zitat
Illuminator-23-5
(Gast)

n/a Beiträge
 
#2

Re: Nur die erste Zeile aus einer Textdatei löschen

  Alt 28. Jul 2003, 22:36
ich hab mal ein ähnliches problem gehabt, da hab ich folgendes gemacht:
ich hab ein TMemo aufs formular gestellt, (width=0, height=0, visible=false)
Memo1.Lines.LoadFromFile(DateiName);
Memo1.Lines.Delete(0);
Memo1.Lines.SaveToFile(DateiName);

Dann hab ichs mit TStrings probiert, da hat's nicht geklappt, keine ahnung, wieso!

Es ist nicht eine schöne u. saubere methode, aber bei mir funzt es so!
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Nur die erste Zeile aus einer Textdatei löschen

  Alt 29. Jul 2003, 09:14
Danke für deinen Hilfeversuch, aber das klappt bei mir nicht da meine Datei 1MB groß ist. TMemo kann nicht mit Dateien umgehen, die größer als 64K sind. Genauso siehts es bei TStrings aus, auch leider die Grenze bei 64K.

Hat irgend jemand einen anderen Vorschlag bitte ???

Grüße Tyrael
Levent Yildirim
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Nur die erste Zeile aus einer Textdatei löschen

  Alt 29. Jul 2003, 09:31
TStringlist. Oder mit assignfile und readline und writeln einlesen und schreiben und dabei die erste Zeile überspringen.
Mal so aus dem Kopf:
Delphi-Quellcode:
var
  s: String;
  InF, OutF: Textfile;
begin
  Assignfile(InF, InFile);
  reset(InF);
  AssignFile(OutF, OutFile);
  rewrite(OutF, OutFile);
  readline(InF, s);
  while not EOF(InF) do
  begin
    readlne(InF, s);
    writeln(OutF, s);
  end;
  CloseFile(InF);
  CloseFile(OutF);
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: Nur die erste Zeile aus einer Textdatei löschen

  Alt 29. Jul 2003, 09:33
Das ist nicht weiter schlimm. Du must dann halt mit 2 Dateien hantieren. Aus der einen liest Du und in die zweite wird geschrieben. Die erste Zeile aus der "Lesedatei" mußt Du dann eben weglassen. Also
Delphi-Quellcode:
readln (Datei1,st);
writeln (Datei2,st);
Gruß
Hansa
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Nur die erste Zeile aus einer Textdatei löschen

  Alt 29. Jul 2003, 10:29
Hm, ich habe es jetzt so ausprobiert und es klappt auch....

...aber, jetzt muss ich ja jedesmal wenn ich die erste Zeile löschen will 1MB Daten von einer Datei zur anderen transportieren, was zeitaufwendig ist. Klappen tut es, aber ich frage mich, ob es nicht die Möglichkeit gibt,

1. Datei öffen
2. erste Zeile ansprechen
3. erste Zeile löschen
4. Date speichern

ohne einen Datentransport durchzuführen.

Danke vielmals für eure Bemühungen

Grüße

Tyrael
Levent Yildirim
  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 03:47 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