AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Eigenes Zeichen für Zeilenende bei ReadLN
Thema durchsuchen
Ansicht
Themen-Optionen

Eigenes Zeichen für Zeilenende bei ReadLN

Ein Thema von Ginko · begonnen am 21. Mai 2013 · letzter Beitrag vom 23. Mai 2013
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#1

Eigenes Zeichen für Zeilenende bei ReadLN

  Alt 21. Mai 2013, 11:47
Hallo,
Gibt es eine Möglichkeit das Zeichen, welches ein Zeilenende markiert, selbst zu bestimmen.
Es geht dabei um das Zeilenweise einlesen einer Textdatei mit ReadLn. Also ich meine so etwas wie SetLineBreakStyle nur für ein eigenes Zeichen. (Die Textdatei ist sehr groß deshalb wollte ich zeilenweise einlesen)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Eigenes Zeichen für Zeilenende bei ReadLN

  Alt 21. Mai 2013, 11:52
Besteht die Datei denn aus einer einzigen Zeile oder wie?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Eigenes Zeichen für Zeilenende bei ReadLN

  Alt 21. Mai 2013, 11:56
Nein, es sind mehrere Seiten in einer Textdatei (ein paar tausend Seiten), die ich gerne jeweils einzeln einlesen würde . Die Seiten haben auch LineBreaks aber ich möchte immer eine Seite komplett laden. Deshalb habe ich gedacht ich markiere Anfang unde ENde einer Seite mit einem speziellen Zeichen, welches dann als Anfang bzw. Ende des Buffers gilt, der mit ReadLn eingelesen wird.

Geändert von Ginko (21. Mai 2013 um 12:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Eigenes Zeichen für Zeilenende bei ReadLN

  Alt 21. Mai 2013, 12:19
kann man sich die Datei ungefähr so vorstellen?
Code:
Zeile1#13#10
Zeile2#13#10
Zeile3#13#10
EndeSeite$#13#10
Zeile4#13#10
Dann würde ein readln Zeile1 liefern, weiteres readln Zeile2 usw. Wenn Du dann im readln-gelieferten String nachschaust ob ein z.B. "$" am Ende vorkommt, dann wäre die Seite zuende und Du könntest einen neuen Buffer machen.

Geändert von baumina (21. Mai 2013 um 12:23 Uhr)
  Mit Zitat antworten Zitat
Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Eigenes Zeichen für Zeilenende bei ReadLN

  Alt 21. Mai 2013, 12:32
doppelpost sorry

Geändert von Ginko (21. Mai 2013 um 12:37 Uhr)
  Mit Zitat antworten Zitat
Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Eigenes Zeichen für Zeilenende bei ReadLN

  Alt 21. Mai 2013, 12:34
Danke für die Antworten !
Ja so könnte eine Seite aussehen.
Dann würde ein readln Zeile1 liefern, weiteres readln Zeile2 usw. Wenn Du dann im readln-gelieferten String nachschaust ob ein z.B. "$" am Ende vorkommt, dann wäre die Seite zuende und Du könntest einen neuen Buffer machen.
Stimmt so könnte ich es machen.

Wäre es auch möglich ReadLn umzuschreiben (also ein eigenes ReadLn zu schreiben) und wäre das dann schneller im einlesen, wenn man nur das entprechende Zeichen einsetzt ?

Geändert von Ginko (21. Mai 2013 um 12:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Eigenes Zeichen für Zeilenende bei ReadLN

  Alt 21. Mai 2013, 13:51
Wenn du es nicht über ein definiertes Seitenende-Zeichen lösen willst, wäre TFileStream auch noch interessant. Damit könntest du die Blockgröße angeben, die du lesen magst.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#8

AW: Eigenes Zeichen für Zeilenende bei ReadLN

  Alt 21. Mai 2013, 14:08
Also irgendwie verstehe ich die Diskussion nicht so ganz. Wofür benötigt man ein extra Zeichen für Zeilenende, wenn doch bereits eines vorhanden ist? Dann schreibt Baumina plötzlich von einem Zeichen für das Seitenende, was aber von Ginko offenbar übersehen wird, hatte er doch nach dem Zeilenende gefragt, und Baumina schreibt weiterhin lustig vom Seitenende ... Wäre nett, wenn du, Ginko, einmal darüber aufklärst, ob du wirklich Zeilenende meintest oder doch Seitenende ...

Gibt es eine Möglichkeit das Zeichen, welches ein Zeilenende markiert, selbst zu bestimmen.
Wenn du es nicht über ein definiertes Seitenende-Zeichen lösen willst, wäre TFileStream auch noch interessant.
@Ginko: Woher stammt denn der Ursprungstext? Word? OpenOffice? PDF? Ich glaube nämlich nicht, daß du einfach z.B. das von Word generierte Zeilen- oder Absatzende-Zeichen umdefinieren kannst. Wieso sollte eine Textdatei mit einem anderen Zeilenende-Zeichen schneller einlesbar sein?

Und vor allem: Wieso nimmst du nicht einfach eine Stringliste zum Einlesen? Das geht so saumäßig schnell, daß dir die Spucke wegbleibt
  Mit Zitat antworten Zitat
Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Eigenes Zeichen für Zeilenende bei ReadLN

  Alt 21. Mai 2013, 14:28
Die Textdatei resultiert aus der Umwandlung einer PDF-Datei in Text und sieht wie folgt aus.
Code:
Zeilentext #13#10
Zeilentext #13#10
...
§Zeilentext #13#10
Zeilentext #13#10
...
§Zeilentext #13#10
Zeilentext #13#10
...
Wobei hier § (in wirklichkeit ist es #12) einen neuen Seitenanfang kennzeichnet (der urspr. PDF-Datei).
Ich glaube baumina hat es auch richtig verstanden, allerdings gibt es bei mir (mit obiger Lösung) noch das Problem das hinter dem § Zeichen noch der Rest mitübernommen wird (§Zeilentext #13#10).

Geändert von Ginko (21. Mai 2013 um 14:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.007 Beiträge
 
Delphi 12 Athens
 
#10

AW: Eigenes Zeichen für Zeilenende bei ReadLN

  Alt 21. Mai 2013, 14:29
(Die Textdatei ist sehr groß deshalb wollte ich zeilenweise einlesen)
Was ist denn bei dir "sehr groß"?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


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 09:39 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