AGB  ·  Datenschutz  ·  Impressum  







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

Stringlist ohne Zeilenumbruch speichern

Ein Thema von BMI · begonnen am 30. Mai 2018 · letzter Beitrag vom 31. Mai 2018
Antwort Antwort
Benutzerbild von himitsu
himitsu
Online

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

AW: Stringlist ohne Zeilenumbruch speichern

  Alt 30. Mai 2018, 14:55
Ich hatte zuletzt mit TFile.WriteAllText('dat.ei', TrimRight(SL.Text));
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von BMI
BMI

Registriert seit: 16. Jul 2010
58 Beiträge
 
Delphi 2 Desktop
 
#2

AW: Stringlist ohne Zeilenumbruch speichern

  Alt 30. Mai 2018, 19:03
Dank Euch.

Allerdings sollte die Stringlist dann bei TrimRight(SL.Text)) aber wohl besser auch nicht zu lang (z.B. ein paar hundert MB oder gar GB) sein, oder? (damit das nicht dadurch gebremst wird)

Aber nen sinnvollen Grund seitens Borland/aka Emba gab/gibt es für die Implementierung der Nachgelagerten Zeile nicht, oder?
http://docwiki.embarcadero.com/Libra...ilingLineBreak

oder hatte das damals evtl. Speicher/Ladetechnische Gründe?
aber eigentlich leuchtet mir das nicht ein.
eine Signatur? - in 2022? - WOZU ?!!!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Stringlist ohne Zeilenumbruch speichern

  Alt 30. Mai 2018, 20:29
Immerhin hat dann jede Zeile garantiert ein LineBreak am Ende.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Stringlist ohne Zeilenumbruch speichern

  Alt 30. Mai 2018, 20:57
Aber nen sinnvollen Grund seitens Borland/aka Emba gab/gibt es für die Implementierung der Nachgelagerten Zeile nicht, oder?
Das ist ein Mißverständnis.
Das Ende einer "Textzeile" wird durch x0D0A definiert. Ersatzweise ist ein x1A für die letzte Zeile zulässig.

Das was Du als "nachgelagerte Zeile" identifizierst ist die die erste Position einer noch zu schreibenden Zeile.

Gruß
K-H

@KodeZwerg
für IOResult mußt Du aber unbedingt {$I-} nutzen, und das ist nicht immer bei allen Programmen der Fall.
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector

Geändert von p80286 (30. Mai 2018 um 21:02 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Stringlist ohne Zeilenumbruch speichern

  Alt 30. Mai 2018, 21:09
Das Ende einer "Textzeile" wird durch x0D0A definiert.
EOL / End Of Line
EOF / End Of File

was Du da schreibst ist ein Zeilenumbruch (CRLF).

für IOResult mußt Du aber unbedingt {$I-} nutzen, und das ist nicht immer bei allen Programmen der Fall.
Habs nachgebessert, Danke.
Gruß vom KodeZwerg

Geändert von KodeZwerg (30. Mai 2018 um 21:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Stringlist ohne Zeilenumbruch speichern

  Alt 31. Mai 2018, 08:11
Wie ist denn "EOL" definiert?

Wie wir ja alle wissen ist es reine Interpretationsfrage wie die Steuercodes genutzt werden.
Das "CarriageReturn Linefeed" war ja für viele Drucker/Fernschreiber die Sequenz mit der der Cursor in die 1. Position der nächsten Zeile bewegt wurde. Andere interpretierten das "LineFeed" alleine als die notwendige Aufforderung. Auf diesen Geräten wurde dann gerne "VerticalTab" x0B als reiner Zeilenvorschub genutzt.
Das gilt ja auch nur für Systeme die auf der TTY-Philosophie aufbauen. In HTML oder bei fixen Satzlängen werden die Steuerzeichen meist nur als Whitespaces interpretiert.

vgl.


https://de.wikipedia.org/wiki/Steuerzeichen

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Stringlist ohne Zeilenumbruch speichern

  Alt 31. Mai 2018, 08:41
Ich will auf gar keinen Fall stänkern oder klugscheissen, aber loswerden will ichs trotzdem irgendwie.
EOL = es gibt dafür keine eindeutige Bytesequenz, es sind Faktoren.

Angenommen Du erstellst mit Notepad einen Einzeiler OHNE CRLF. Wie ist da EOL definiert? Richtig, über EOF
Kommen CR oder LF vor, kann das auch ein EOL bedeuten, je nachdem wie die folgebytes ausschauen.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Stringlist ohne Zeilenumbruch speichern

  Alt 31. Mai 2018, 10:18
Sinnvoller Grund: Das Problem bei sowas ist die Erkennung von Leerzeilen.

Ein Programm macht es so (Delphi), ein Anderes so (Notepad).

Bei Delphi ist es eine "Leerzeile!, wenn es zwei Zeilenumbrüche am Ende gibt, und bei allen Anderen wenn es Einen gibt.
Also
* jede Zeile mit LineBreak abgeschlossen ... aber was ist dann, wenn nach der letzten Zeile mal kein Zeilenumbruch gibt?
* oder Zeilenumbrüche zum Trennen der Zeilen, also am Ende ohne
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (31. Mai 2018 um 14:18 Uhr)
  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 15:57 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