Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Stringliste bereinigen , Entferne #$D#$A (https://www.delphipraxis.net/183499-stringliste-bereinigen-entferne-%24d-%24.html)

bernhard_LA 15. Jan 2015 07:57

Stringliste bereinigen , Entferne #$D#$A
 
ich bekomme aus einer XML Datei eine Liste mit Strings, im Debugger wird die Liste im folgendem Format angezeigt

Delphi-Quellcode:
MystringList.Commatext -> '''550'#$D#$A' '', '''770'#$D#$A' ''

Welche Zeichen verbregen sich hinter #$D#$A' , die würde ich gerne entfernen und dann mit IntToStr(..) die Zahl auslesen

Nersgatt 15. Jan 2015 07:59

AW: Stringliste bereinigen , Entferne #$D#$A
 
Ist nur eine andere Darstellung für #13#10, also ein Zeilenumbruch + Carrige Return.

himitsu 15. Jan 2015 08:05

AW: Stringliste bereinigen , Entferne #$D#$A
 
Warum muß man denn unbedingt eine XML manuell zerlegen und keine XML-Lib dafür verwenden, oder sieht das nur zufällig so aus?
Man könnte sich aber auch fragen, warum jemand in diese Liste Komma, Leerzeichen und Zeilenumbrüche einfügt. (drei Mal hält besser)

Genauso, wie beim HTML, werden beim XML ebenfalls die Zeilenumbrüche meistens ignoriert/entfernt/umgewandelt.

Sir Rufo 15. Jan 2015 08:17

AW: Stringliste bereinigen , Entferne #$D#$A
 
Delphi-Quellcode:
'''550'#$D#$A' '', '''770'#$D#$A' ''
ergibt irgedwie keinen Sinn, da hast du wohl etwas beim Kopieren hier ins Forum unterschlagen.

Der schöne Günther 15. Jan 2015 08:42

AW: Stringliste bereinigen , Entferne #$D#$A
 
Ich verstehe zwar nicht wie XML da jetzt mit hineinspielt, aber mich nervt diese komische String-Maskierung im Debugger auch.
Ich gehe dann im Debugger hin und
  • speichere mir den Inhalt in eine Datei:
    Delphi-Quellcode:
    System.Classes.TStringStream.Create(myWeirdString).SaveToFile('x:\myFile.txt');
  • oder kopiere es in die Zwischenablage:
    Delphi-Quellcode:
    Vcl.Clipbrd.Clipboard().AsText := stringConst;
    . Weil wenn man es aus dem Debugger so herauskopiert hat man ja auch den ganzen unleserlichen Wust daranhängen.


Falls es dir darum ging.

bernhard_LA 15. Jan 2015 08:51

AW: Stringliste bereinigen , Entferne #$D#$A
 
Problem gelöst, die Zeichen direkt aus dem String entfernt

himitsu 15. Jan 2015 09:26

AW: Stringliste bereinigen , Entferne #$D#$A
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1286563)
Ich verstehe zwar nicht wie XML da jetzt mit hineinspielt,

Zitat:

ich bekomme aus einer XML Datei eine Liste mit Strings

Zitat:

Zitat von Der schöne Günther (Beitrag 1286563)
aber mich nervt diese komische String-Maskierung im Debugger auch.

Wieso komisch? Man brauchte eine Lösung auch undarstellbare Zeichen darzustellen und da entschied man sich für den Weg, es so darzustellen, wie es aussehen würde, wenn es eine Stringkonstante wäre.

Aber ja, es wäre nett, wenn die "Kopiere Inhalt"-Funktion den Inhalt und nicht die Darstellung kopieren würde. :stupid:
Oder man stellt dort zwei Menüpunkte zur Verfügung. (Inhalt und Konstante/Darstellung)

Der schöne Günther 15. Jan 2015 09:41

AW: Stringliste bereinigen , Entferne #$D#$A
 
Richtig. Ich sage ja nicht dass es Quatsch ist dass er es kann, aber in 90% der Fälle macht mir die nicht abschaltbare Anzeige der Sonderzeichen das Leben nur schwerer.

p80286 15. Jan 2015 11:04

AW: Stringliste bereinigen , Entferne #$D#$A
 
Interessant, ich halte die Darstellung zwar auch nicht für soo gelungen, aber immer noch besser, als würden nicht darstellbare Zeichen verschluckt.
Die Anforderungen sind da wohl unterschiedlich.

Gruß
K-H

himitsu 15. Jan 2015 13:27

AW: Stringliste bereinigen , Entferne #$D#$A
 
Das ist nicht das Problem, denn dank Unicode kann man dem problemlos entgegenwirken.

Man muß nur, vor der Anzeige, die "unsichtbaren" Steuerzeichen konvertieren,
z.B. in http://www.unicode.org/charts/PDF/U2400.pdf


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:11 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