AGB  ·  Datenschutz  ·  Impressum  







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

Textdatei lesen und Inhalt in neuer abspeichern

Ein Thema von MutterGans · begonnen am 31. Aug 2011 · letzter Beitrag vom 31. Aug 2011
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#1

AW: Textdatei lesen und Inhalt in neuer abspeichern

  Alt 31. Aug 2011, 15:58
Kommt darauf an. Wenn ich von einer 1 GB-Textdatei nur 2 Zeilen brauche (z.B. 80 Byte), dann wäre es ja Blödsinn, sie erst komplett in eine Stringliste zu laden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
MutterGans

Registriert seit: 31. Aug 2011
4 Beiträge
 
#2

AW: Textdatei lesen und Inhalt in neuer abspeichern

  Alt 31. Aug 2011, 16:31
Dsa ich bei Delphi n absoluter Neuling bin, wäre es nett wenn jemand mir nen Beispiel-Code hier rein stellen könnte!
Wie der Code so ungefähr gegliedert werden muss, welche Variablen ich dazu noch brauche usw.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli
Online

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Textdatei lesen und Inhalt in neuer abspeichern

  Alt 31. Aug 2011, 16:44
Du könntest zwei Memos verwenden.
Mit Memo1.LoadFromFile kannst Du eine Datei laden.
Dann kannst Du per Memo1.Lines[X] bestimmte Zeilen in Memo2.Linies kopieren und dann mit Memo2.SaveToFile den neuen Text speichern.

Das ist ein einfacher Weg, aber für den Anfang m.E. nicht falsch.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Textdatei lesen und Inhalt in neuer abspeichern

  Alt 31. Aug 2011, 16:46
Stringlist:
Delphi-Quellcode:
var
 sl: TStrings;
...
begin
    sl := TStringList.Create;
    sl.LoadFromFile( '<Quelldatei>');
    ...
    sl.SaveToFile( 'Zieldatei>');
   ...
end;
I/O Routinen:
Delphi-Quellcode:
var
  tfQuelle, tfZiel: TextFile;
  s: string;
...
begin
    AssignFile( tfQuelle, '<Quelldatei>');
    AssignFile( tfZiel, '<Zieldatei>');
    Reset( tfQuelle); //Öffnet zum Lesen
    Rewrite( tfZiel); //Öffnet zum Schreiben
    s := Readln( tf); //Liest eine Zeile ein
    Writeln (tfZiel, s); //Schreibt eine Zeile
    ...
    CloseFile( tfZiel);
    CloseFile( tgQuelle);
end;
Markus Kinzler
  Mit Zitat antworten Zitat
MutterGans

Registriert seit: 31. Aug 2011
4 Beiträge
 
#5

AW: Textdatei lesen und Inhalt in neuer abspeichern

  Alt 31. Aug 2011, 17:31
Vielen Dank schonmal...
ich habe jetzt gerade mal versucht das einzubauen... Leider kommt bei dieser Zeile :" s := Readln(tfQuelle); //Liest eine Zeile ein" noch diese Fehlermeldung :"[Pascal Error] Unit1.pas(39): E2010 Incompatible types: 'string' and 'procedure, untyped pointer or untyped parameter'"!!!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#6

AW: Textdatei lesen und Inhalt in neuer abspeichern

  Alt 31. Aug 2011, 17:39
Markus hat das so wie ich aus dem Kopf getippt und sich dabei wohl vertan. Schau doch einfach in die Hilfe, wie ReadLn aufzurufen ist (ich glaube, ich habe das richtig gemacht, bin aber auch nicht sicher).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#7

AW: Textdatei lesen und Inhalt in neuer abspeichern

  Alt 31. Aug 2011, 16:48
Aus dem Kopf getippt und ohne jegliche Fehlerbehandlung:
Delphi-Quellcode:
procedure KopiereZeilen(const Quelle, Ziel: string; Anzahl: Cardinal);
var
  Src, Dest: TextFile;
  Zeile: Cardinal;
  Inhalt: string;
begin
  AssignFile(Src, Quelle);
  AssignFile(Dest, Ziel);
  Reset(Quelle);
  Rewrite(Ziel);
  Zeile := 0;
  while (Zeile < Anzahl) and not EOF(Src) do
    begin
      ReadLn(Src, Inhalt);
      WriteLn(Dest, Inhalt);
      inc(Zeile);
    end;
  CloseFile(Src);
  CloseFile(Dest);
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 17:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz