Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Trim entfernt führende Tabulatoren??? (https://www.delphipraxis.net/203398-trim-entfernt-fuehrende-tabulatoren.html)

hoika 13. Feb 2020 20:55

Trim entfernt führende Tabulatoren???
 
Hallo,
ich lese per gstat aus Firebird die ODS-Version,
nein ;) das ist kein DB-Thema

Ergebnis z.B.
#9'ODS version'#9#9'11.0 '

Ein Trim ergibt
'ODS version'#9#9'11.0'

Das hintere Leerzeichen wird entfernt, OK, ist ja Trim,
aber: wieso wird auch das erste #9 entfernt???

In den Quellen zum Trim steht das auch so drin
S[I] <= ' '
und Ord(#9) ist kleiner als Ord(' ') ist

venice2 13. Feb 2020 21:01

AW: Trim entfernt führende Tabulatoren???
 
Nun ja ich würde das korrekte Trim verwenden und nicht rumraten warum weswegen Trim das tut.
TrimRight sollte für deinen Fall das richtige sein.

Trim schneidet beide seiten ab.
Siehe http://www.delphibasics.co.uk/RTL.asp?Name=TrimRight

(EDIT)
Zitat:

The Trim function removes blank and control characters (such as line feed) from the start and end of a string.

Luckie 13. Feb 2020 21:03

AW: Trim entfernt führende Tabulatoren???
 
TrimLeft: nur links bereinigen
TrimRight: nur rechts bereinigen
Trim: links und rechts bereinigen

Was passiert bei TrimLeft?

Trim scheint einen Tabulator auch als Leerzeichen zu behandeln.

hoika 13. Feb 2020 21:12

AW: Trim entfernt führende Tabulatoren???
 
Hallo,
TrimLeft schneidet den linken Tab ab.

Es wird ebend nicht auf =" " geprüft, sondern auf < " ".

Ich war jetzt nur dolle verblüfft.


Aber:
http://www.delphibasics.co.uk/RTL.asp?Name=Trim
The Trim function removes blank and control characters (such as line feed) from the start and end of a string.

Also zählt #9 zu den control characters.
Gut zu wissen.


Mein Code funktioniert. Zufällig wollte ich alle #9 verschwinden lassen.
Ich war halt nur verdutzt, dass das Trim auch das erste #9 verschwinden läßt.


Also:
Alles gut.

venice2 13. Feb 2020 21:18

AW: Trim entfernt führende Tabulatoren???
 
Zitat:

Aber:
http://www.delphibasics.co.uk/RTL.asp?Name=Trim
The Trim function removes blank and control characters (such as line feed) from the start and end of a string.
So wie ich schrieb.
Aber funktioniert ja wie du sagst. Alles gut. ;)

bcvs 14. Feb 2020 06:47

AW: Trim entfernt führende Tabulatoren???
 
Zitat:

Zitat von hoika (Beitrag 1457436)
Also zählt #9 zu den control characters.
Gut zu wissen.

In der Delphi-Hilfe steht es noch genauer und eindeutig:

Zitat:

Trim entfernt alle am Anfang und Ende des mit S angegebenen Strings vorhandenen Leer- und Steuerzeichen.

Im 7-Bit-ASCII-Zeichensatz, der in ANSI X3.4-1977 (C0 und G0) definiert ist, sind "Steuerzeichen" als die Zeichen definiert, deren Code zwischen 0 und 31 liegt.

hoika 14. Feb 2020 07:05

AW: Trim entfernt führende Tabulatoren???
 
Hallo,
tja, wieder was Neues gelernt ;)

freimatz 14. Feb 2020 07:30

AW: Trim entfernt führende Tabulatoren???
 
https://en.wikipedia.org/wiki/Control_character

p80286 14. Feb 2020 08:40

AW: Trim entfernt führende Tabulatoren???
 
Ich hab mal in den sourcen von D7 nachgeschaut
Delphi-Quellcode:
Trim
entfernt alles was kleinergleich " " ist. Es könnten also auch "normale" Zeichen verschwinden, die in diesem Bereich angesiedelt wurden. (es gibt da mind. einen ASCII-Dialekt). Und die Steuerzeichen im Bereich x80..9F sind nicht betroffen.

Gruß
K-H

freimatz 14. Feb 2020 08:45

AW: Trim entfernt führende Tabulatoren???
 
ASCII-Dialekt? Was soll das sein? Ich kenne dazu nur https://de.wikipedia.org/wiki/Americ...on_Interchange und da finde ich sowas nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 Uhr.
Seite 1 von 2  1 2      

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