Rubrik: Variablen/Strings · String-Operationen | VB-Versionen: VB6 | 27.02.12 |
NullTrim einmal anders Eine elegante Lösung, um einen String von NULL Zeichen zu befreien... | ||
Autor: Ralf Schlegel | Bewertung: | Views: 8.039 |
www.vb-zentrum.de | System: Win9x, WinNT, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Um die lästigen Nullzeichen in einem String zu entfernen haben wir in der Regel eine kleine Funktion mit Namen NullTrim oder ähnlich in unserem Programmcode. Diese Funktion entfernt die eventuell vorhandenen Nullzeichen am Ende eines Strings und gibt diesen bereinigt zurück. Sicher kennen Sie diese Funktion, die i.d.R. folgendemaßen aussieht:
Public Function NullTrim(ByVal s As String) As String Dim p As Long p = InStr(s, vbNullChar) If p > 0 Then NullTrim = Left$(s, p - 1) Else NullTrim = s End If End Function
Erhalten wir nun aus einem API-Aufruf einen String zurück, so wird dieser in der Regel folgendermaßen bereinigt:
retString = NullTrim(retString)
Diese Funktion ist allerdings gar nicht nötig, da wir das auch mit einem internen VBA Befehl als Einzeiler lösen können:
Hierbei handelt es sich um die Funktion Split, die wir bitten unseren String in ein durch Nullzeichen getrenntes Array zu zerlegen und gleichzeitig das erste Element (Index 0) zurückzuliefern. Wir müssen also kein Array
für die Funktionsrückgabe anlegen! Das Ganze sieht dann als Einzeiler folgendermaßen aus:
retString = Split(retString, vbNullChar, 2)(0)
Enthält der übergeben String keine Nullzeichen, so wird dennoch ein Element durch die Funktion Split angelegt, das dem übergebenen String entspricht! - Eine absolut sichere Sache, nicht wahr?