Sonntag, 5. Oktober 2014

TM-SmartString: IsLike

In diesem Beitrag wird das Klassenmodul TM-SmartString um eine Eigenschaft erweitert, die es erlaubt, einen String einem (einfachen) Mustervergleich zu unterziehen, ohne das dazu eine externe Bibliothek für Regular Expressions eingebunden werden muss: IsLike.

Eigenschaft: IsLike
Diese Eigenschaft unterzieht den String einem einfachen Mustervergleich.

Implementierung
Die Implementierung erfolgt mit folgendem Code:
1:  Public Property Get IsLike(ByVal Expression As String) As Boolean  
2:    IsLike = m_String Like Expression  
3:  End Property  
In der zweiten Zeile wird der enthaltene String mit dem Befehl Like mit dem übergebenen Ausdruck verglichen. Als Ergebnis liefert die Methode True oder False zurück.

Bisheriger Code
Bisher war folgender Code notwendig, um einen Mustervergleich mit Like durchzuführen:
1:  Dim myString As String  
2:  myString = "Hello World"  
3:  MsgBox myString Like "*ll*"  
In der dritten Zeile erfolgt der Mustervergleich. Der Befehl Like prüft, ob das als Parameter übergebene Muster auf den String passt.

Künftiger Code
Bei Verwendung der Klasse TM_SmartString sieht der Code wie folgt aus:
1:  Dim myString As TM_SmartString  
2:  Set myString = New TM_SmartString  
3:  myString = "Hello World"  
4:  MsgBox myString.IsLike("*ll*")  
In der vierten Zeile erfolgt der Mustervergleich. Dazu wird die Eigenschaft IsLike aufgerufen. Als Parameter wird das gesucht Muster übergeben.


Die Implementierung der Eigenschaft IsLike spart keine Codezeilen. Sie macht den Code in meinen Augen aber einfacher lesbar. Außerdem rückt Sie den Befehl Like in den Fokus des Nutzers, da dieser über Intellisense angeboten wird.

Die neue Version 1.29.02 steht (wie immer) auf meiner Webseite zum Download bereit.

Keine Kommentare: