Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Eigenes Zeichen für Zeilenende bei ReadLN (https://www.delphipraxis.net/174953-eigenes-zeichen-fuer-zeilenende-bei-readln.html)

Ginko 21. Mai 2013 11:47

Eigenes Zeichen für Zeilenende bei ReadLN
 
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)

Luckie 21. Mai 2013 11:52

AW: Eigenes Zeichen für Zeilenende bei ReadLN
 
Besteht die Datei denn aus einer einzigen Zeile oder wie?

Ginko 21. Mai 2013 11:56

AW: Eigenes Zeichen für Zeilenende bei ReadLN
 
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.

baumina 21. Mai 2013 12:19

AW: Eigenes Zeichen für Zeilenende bei ReadLN
 
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.

Ginko 21. Mai 2013 12:32

AW: Eigenes Zeichen für Zeilenende bei ReadLN
 
doppelpost sorry

Ginko 21. Mai 2013 12:34

AW: Eigenes Zeichen für Zeilenende bei ReadLN
 
Danke für die Antworten !
Ja so könnte eine Seite aussehen.
Zitat:

Zitat von baumina (Beitrag 1215923)
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 ?

baumina 21. Mai 2013 13:51

AW: Eigenes Zeichen für Zeilenende bei ReadLN
 
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.

Perlsau 21. Mai 2013 14:08

AW: Eigenes Zeichen für Zeilenende bei ReadLN
 
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 ...

Zitat:

Zitat von Ginko (Beitrag 1215916)
Gibt es eine Möglichkeit das Zeichen, welches ein Zeilenende markiert, selbst zu bestimmen.

Zitat:

Zitat von baumina (Beitrag 1215932)
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 :wink:

Ginko 21. Mai 2013 14:28

AW: Eigenes Zeichen für Zeilenende bei ReadLN
 
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).

Uwe Raabe 21. Mai 2013 14:29

AW: Eigenes Zeichen für Zeilenende bei ReadLN
 
Zitat:

Zitat von Ginko (Beitrag 1215916)
(Die Textdatei ist sehr groß deshalb wollte ich zeilenweise einlesen)

Was ist denn bei dir "sehr groß"?


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:42 Uhr.
Seite 1 von 5  1 23     Letzte »    

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