Samstag, 30. November 2013

TM-SmartString: Clear, IsEmpty

Mit diesem Beitrag wird das Klassenmodul TM-SmartString um eine Methode und eine Eigenschaft erweitert: Clear und IsEmpty.

Methode: Clear
Diese Methode sorgt dafür, dass der Inhalt der Klasse geleert wird.

Implementierung
Die Implementierung erfolgt mit folgendem Code:
1:  Public Function Clear()  
2:    m_String = vbNullString  
3:  End Function  
In der zweiten Zeile wird die Variable m_String, die den der Klasse zugewiesenen Text speichert, durch Zuweisung der Konstante vbNullString geleert.

Bisheriger Code
Bisher wird ein String auf dem folgenden Weg geleert:
1:  Dim myString As String  
2:  myString = "Hello"  
3:  myString = vbNullString  
4:  MsgBox Len(myString)  
In der dritten Zeile wird die Variable geleert. Dazu wird der Variable der Wert vbNullString zugewiesen.

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"  
4:  myString.Clear  
5:  MsgBox Len(myString.Value)  
In der vierten Zeile wird die Methode Clear aufgerufen. Diese Methode leert die Klasse. Das ist einfach und übersichtlich und Bedarf keiner weiteren Interpretation.

Eigenschaft: IsEmpty
Diese Eigenschaft gibt an, ob die Klasse leer ist oder nicht.

Implementierung
Die Implementierung erfolgt mit folgendem Code:
1:  Public Property Get IsEmpty() As Boolean  
2:    If (Len(m_String) = 0) Then  
3:      IsEmpty = True  
4:    Else  
5:      IsEmpty = False  
6:    End If  
7:  End Property  
In der zweiten Zeile wird die Länge des enthaltenen Textes ermitteln. Wenn diese Null ist, ist der Text leer und der Wert für IsEmpty wird auf True gesetzt.

Bisheriger Code
Bisher wurde folgender Code verwendet, um zu ermitteln, ob ein String leer ist:
1:  Dim myString As String  
2:  myString = "Hello World"  
3:  If (Len(myString) > 0) Then  
4:    MsgBox "Nicht leer"  
5:  End If  
In der dritten Zeile wird die Länge des Textes ermittelt und mit Null verglichen. Dieser Code funktioniert einwandfrei. Der Nachteil dabei ist, dass man beim Lesen interpretieren muss, was hier passiert.

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:  If (myString.IsEmpty = False) Then  
5:    MsgBox "Nicht leer"  
6:  End If  
In der vierten Zeile wird die Eigenschaft IsEmpty abgerufen. Dieser Code ist klar und eindeutig. Es Bedarf keiner weiteren Interpretation, um herauszufinden, was hier passiert.


Die nächsten Schritte sind gemacht. Mit der Implementierung der Methode Clear und der Eigenschaft IsEmpty werden die Vorteile einer eigenen Klasse sichtbar: der entstehende Code ist wesentlich leichter lesbar.

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

Keine Kommentare: