Seite 1 von 1

RemoveString nicht für Steuerzeichen?

Verfasst: 07.01.2005 19:46
von Sven
Warum entfernt RemoveString() keine Steuerzeichen (CR, LF, TAB) aus dem Text? Wäre doch nett, um überflüssige CR+LF oder so zu entfernen.

Und warum zum Henker steht das nicht in der Hilfe, dass es nur für normale Zeichen (ab Chr(32)?) geht. Bei StringField() kann man doch auch mit TABs und co arbeiten. :evil:

Sven

Verfasst: 07.01.2005 20:57
von GPI
geht doch?!

Code: Alles auswählen

a$=Chr(13)+Chr(10)+"hallo"+Chr(13)+Chr(10)

b$=ReplaceString(a$,Chr(13)+Chr(10),"")

For i=1 To Len(b$)
  c$=Mid(b$,i,1)
  Debug Str(Asc(c$))+" "+c$
Next

Verfasst: 07.01.2005 21:24
von ORANGE
Weil Steuerzeichen(CR, LF,usw) keine Strings.s sondern Bytes.b sind.
In einen String umgewandelt kommt immer ◙ als Ergebnis.
Nimm einfach WriteByte() oder ReadByte(). :wink:

Verfasst: 07.01.2005 21:42
von Donald
kannst auch folgenden Code nehmen:

Code: Alles auswählen

;  Inhalt definieren
a$=Chr(13)+Chr(10)+"T E S T E I N T R A G"+Chr(13)+Chr(10) 

; Nur zur Kontrolle im Debug Fenster
b$=a$

;  Filtern
a$=RemoveString(a$,Chr(10),"")   ; löscht alle <LF>
a$=RemoveString(a$,Chr(13),"")   ; löscht alle <CR>
a$=RemoveString(a$,Chr(32),"")   ; löscht alle <SPACE>
; ... usw.
 
Debug b$
Debug a$

Verfasst: 09.01.2005 20:45
von Sven
Aua, sorry, meine Schuld, ich hab den Wert gar nicht übergeben. :oops:

ReplaceString() ohne Übergabe funktioniert zwar, wenn man direkt im Speicher ersetzt, aber bei RemoveString() geht das natürlich nicht.

Dazu noch: Ist es eigentlich gefährlich, bei ReplaceString() und direktem Ersetzen im Speicher trotzdem noch die Übergabe in den gleichen String zu machen, also: text = ReplaceString(text, ",", ".", 2)

Sven

Verfasst: 09.01.2005 21:44
von Deeem2031
Gefährlich ist es mit Sicherheit nicht, musst nur gucken ob's funktioniert. Wenn's geht kannste das so machen, obwohl das ohne "text = ..." paar Nanosekunden schneller sein dürfte.