AGB  ·  Datenschutz  ·  Impressum  







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

Zeilenumbrüche entfernen

Ein Thema von Jan · begonnen am 13. Okt 2003 · letzter Beitrag vom 17. Okt 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#1

Zeilenumbrüche entfernen

  Alt 13. Okt 2003, 18:02
Hallo DP,
ich muss einen Text aus einem Memofeld zu zurechtformatieren, dass er ohne Zeilenumbrüche gespeichert wird, ich aber die Zeilenumbrüche später wiederherstellen kann, weil sonst das Einlesen des Textes nach dem speichern nichtmehr funktioniert. Kann ich das mit Stringreplace() machen? Und wenn ja, welches muss dann der oldstring sein, den ich ersetzen muss?
Wenn das nicht geht, wie dann?
Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
Benutzerbild von Wormid
Wormid

Registriert seit: 26. Aug 2003
Ort: Steinfurt
292 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Zeilenumbrüche entfernen

  Alt 13. Okt 2003, 18:15
Z.B. so:

Memo1.Text := StringReplace(Memo1.Text, #13#10, '\\N', [rfReplaceAll]); Für '\\N' kannst Du natürlich auch was anderes nehmen...


Gruß

Wormid
Debuggers don't remove Bugs, they only show them in Slow-Motion.
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Zeilenumbrüche entfernen

  Alt 13. Okt 2003, 18:21
Danke, klappt, wobei ich mich natürlich wieder schlagen könnt, hab #10#13 versucht gehabt, und hat natürlich net gefunzt.
Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
Tom

Registriert seit: 7. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#4

Re: Zeilenumbrüche entfernen

  Alt 13. Okt 2003, 18:26
Ab D6 sollte man gleich auf sLineBreak zurückgreifen. Dann kann man sich nicht so leicht vertun.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Zeilenumbrüche entfernen

  Alt 13. Okt 2003, 18:47
Moin Jan,

nur mal eine Verständnisfrage:
Wozu musst Du die Zeilenumbrüche entfernen, wenn Du sie zum Einlesen wieder hinzufügen musst?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#6

Re: Zeilenumbrüche entfernen

  Alt 13. Okt 2003, 18:50
Hallo Jan,
das was Christian gern wissen würde, würde mich auch interessieren ...
bye
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Zeilenumbrüche entfernen

  Alt 15. Okt 2003, 18:39
Ich muss die Zeilenumbrüche entfernen, weil meine Anwendung auf einem einfachen Prinzip der Datenspeicherung basiert, nämlich einer CSV-Datei. Daher würde ein abgespeicherter Text, in dem sich ein Zeilenumbruch befindet eine neue Zeile beim Auslesen erstellen und die Struktur wäre dahin.
Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Zeilenumbrüche entfernen

  Alt 15. Okt 2003, 18:45
lösche besser gleich alle Steuerzeichen im String (#0 bis #31)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#9

Re: Zeilenumbrüche entfernen

  Alt 16. Okt 2003, 06:15
Hallo Jan,
da ein Memo auf ein TStrings Object basiert, solltest Du Dir mal die Properties (Eigenschaften) von TStrings ansehen. Da gibt es zum Beispiel die Eigenschaft

Delimiter:
Zitat von Delphi Hilfe:
Die Eigenschaft Delimiter legt das Trennzeichen für die Eigenschaft DelimitedText fest.

Delphi-Syntax:

property Delimiter: Char;

C++ Syntax:

__property char Delimiter = {read=GetDelimiter, write=SetDelimiter};

Beschreibung

Mit Delimiter können Sie das Trennzeichen ermitteln oder festlegen, das von der Eigenschaft DelimitedTextverwendet wird. DelimitedText führt alle Strings im TStrings-Objekt zu einem String zusammen, in dem die einzelnen Strings durch das in Delimiter festgelegte Zeichen voneinander getrennt sind.
DelimitedText:
Zitat von Delphi Hilfe:
TStrings ist die Basisklasse für Objekte, die eine Liste mit Strings darstellen.

Unit

Classes

Beschreibung

Von TStrings abgeleitete Objekte ermöglichen die Speicherung und Bearbeitung von String-Listen. TStrings enthalten abstrakte bzw. rein virtuelle (C++ Terminologie) Methoden und sollten nicht direkt instantiiert werden.

Nachkommen von TStrings können entweder unterschiedliche Zeichenketten (wie z.B. die einzelnen Zeilen eines Listenfeldes) oder eine einzige lange Texteinheit repräsentieren, deren Elemente dann separat bearbeitet werden können. Die Eigenschaften und Methoden von TStrings bieten zahlreiche Werkzeuge zur String-Listenbearbeitung an.

Folgende Möglichkeiten stehen zur Verfügung:

Strings können mittels Index in die Liste eingefügt bzw. gelöscht werden.
Die Reihenfolge der String-Einträge lässt sich verändern.
Strings können über ihre Listenposition angesprochen werden.
Strings können aus bzw. in eine Datei oder einen Stream gelesen bzw. geschrieben werden.
String-Einträge können mit Objekten verbunden werden.
Strings können als Namens/Wertepaare gespeichert und abgerufen werden.

Bei der Eigenschaft NameValueSeparator finden Sie eine Erläuterung zu Namens/Wertepaaren.
und noch CommaText:
Zitat von Delphi Hilfe:
Die Eigenschaft CommaText führt die Strings eines TStrings-Objekts auf. Sie wird im SDF-Format (System Data Format) dargestellt.

Delphi-Syntax:

property CommaText: string;

C++ Syntax:

__property AnsiString CommaText = {read=GetCommaText, write=SetCommaText};

Beschreibung

Die Eigenschaft CommaText bietet beim Schreiben oder Lesen die Möglichkeit, sämtliche Listeneinträge eines Objekts von TStrings wie einen einzigen, durch Kommas getrennten String zu behandeln.

Wenn die Eigenschaft CommaText gelesen wird, gelten folgende Konventionen: Jeder Eintrag der String-Liste, der Leerzeichen, Kommas oder Anführungszeichen enthält, wird in Anführungszeichen (") gesetzt. Ist ein Anführungszeichen (") selbst Teil eines Strings, wird es verdoppelt. Ein Beispiel: Die String-Liste

Stri,ng 1
Stri"ng 2
String 3
String4

wird von der Eigenschaft CommaText in der folgenden Form zurückgegeben:

"Stri,ng 1","Stri""ng 2","String 3",String4

Wenn eine Wertzuweisung an CommaText erfolgt, wird der Wert entsprechend dem SDF-Format zerlegt. Dies setzt voraus, dass Zeichenketten durch Kommas oder Leerzeichen getrennt und optional in Anführungszeichen eingeschlossen sind. Anführungszeichen, die Teil des Strings sind, müssen zweimal hintereinander stehen (""), sonst werden sie als Begrenzungszeichen interpretiert. Leerzeichen und Kommas, die nicht von Anführungszeichen eingeschlossen sind, werden als Trennzeichen behandelt. Zwei aufeinander folgende Kommas gelten als Leer-String. Leerzeichen, die unmittelbar vor oder nach einem Trennzeichen stehen, werden dagegen ignoriert. Angenommen, CommaText wird folgendermaßen gesetzt:

"Stri,ng 1", "Stri""ng 2" , String 3,String4

Die String-Liste enthält danach folgende Einträge:

Stri,ng 1
Stri"ng 2
String
3
String4

Hinweis: Die Eigenschaft CommaText entspricht der Eigenschaft DelimitedText, wenn diese mit einem Komma als Trennzeichen und dem Zeichen " als Anführungszeichen verwendet wird.

Wird an den Ausgangsstring ein Komma angefügt, erscheint in der Stringliste ein leerer Eintrag. Ein Beispiel für CommaText:

"String1, String 2, String 3,"

Die Stringliste hat dann folgenden Inhalt:

String1
String2
String3
<Blank>
bye
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Zeilenumbrüche entfernen

  Alt 16. Okt 2003, 11:37
Moin Jan,

Zitat von Jan:
Daher würde ein abgespeicherter Text, in dem sich ein Zeilenumbruch befindet eine neue Zeile beim Auslesen erstellen und die Struktur wäre dahin.
Bislang kannte ich CSV Dateien nur als Dateien mit Sätzen, die eine feste Anzahl von Feldern je Datensatz enthalten, wobei jeder Satz eine Zeile darstellte.

@Himitsu:
#09 (TAB) sollte wohl besser bleiben.
Der wird ja u.U. als Trennzeichen gebraucht.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 19:56 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