AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TFilestream immer vollständige Zeilen einlesen
Thema durchsuchen
Ansicht
Themen-Optionen

TFilestream immer vollständige Zeilen einlesen

Offene Frage von "akko5"
Ein Thema von akko5 · begonnen am 15. Dez 2007 · letzter Beitrag vom 16. Dez 2007
Antwort Antwort
akko5

Registriert seit: 13. Dez 2007
5 Beiträge
 
#1

TFilestream immer vollständige Zeilen einlesen

  Alt 15. Dez 2007, 15:13
Hallo,

Ich habe eine Textdatei, in der untereinander sehr viele Wörter stehen.
Diese will ich nun Blockweise auslesen, der ausgelesene Block darf am Ende aber keine abgeschnittenen Zeilen bzw. Wörter enthalten.
(Also das letzte Zeichen des ausgelesenen Blocks sollte immer ein Zeilenumbruch sein)

Sollte doch eig. irgendwie mit dem TFileStream und der Methode Seek o.ä möglich sein oder?

Danke!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: TFilestream immer vollständige Zeilen einlesen

  Alt 15. Dez 2007, 15:16
Das hatten wir gerade: Hier im Forum suchen zeilen zählen. Sollte die Datei nicht zu groß sein, wäre eine Delphi-Referenz durchsuchenTStringList wohl einfachher.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
akko5

Registriert seit: 13. Dez 2007
5 Beiträge
 
#3

Re: TFilestream immer vollständige Zeilen einlesen

  Alt 15. Dez 2007, 15:30
Ich will ja garnicht die Zeilen zählen, ich will nur, nachdem man einen Block ausgelesen hat, jedes darauf folgende Zeichen solange ausgelsen wird und zum Buffer-String hinzugefügt wird, bis ein Zeilenumbruch erreicht wird, sodass der Buffer nur vollständige Zeilen enthält, mit denen man dann weiterarbeiten kann.

Hoffe das das jmd. verstanden hat.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: TFilestream immer vollständige Zeilen einlesen

  Alt 15. Dez 2007, 16:46
Das Prinzip ist doch das gleiche. Lies dir doch mal die verlinkten Beiträge durch.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: TFilestream immer vollständige Zeilen einlesen

  Alt 15. Dez 2007, 17:08
lade die Datei in eine TStringList, werte Count und Items aus und gut ist,
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.132 Beiträge
 
Delphi 12 Athens
 
#6

Re: TFilestream immer vollständige Zeilen einlesen

  Alt 16. Dez 2007, 17:19
In etwa so:
Delphi-Quellcode:
i := FS.Read(Buffer, BufLen);
i2 := LetztenZeilenumruchSuchen;
i3 := i - i2 - 1{oder -2 ... je nach Länge des Zeilenumbruchs ... #10 / #13#10};
Delete(Buffer, i2 + 1{oder +2}, BisEnde);
FS.Seek(-i3, soCurrent);
und so schwer ist das doch garnicht?
- einfach nachsehn wie lang die letzte Teilzeile ist
- letzte (unvollständige) Teilzeile aus'm Puffer löschen
- um soviele Bytes im Stream zurückgehn, wie diese Zeile lang war
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 08:23 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