Rubrik: Variablen/Strings · String-Operationen | VB-Versionen: VB4, VB5, VB6 | 29.03.07 |
String-Abfrage optimieren Dieser Tipp zeigt, wie man String-Abfragen optimieren und somit die Performance der Anwendung steigern kann. | ||
Autor: Dieter Otter | Bewertung: | Views: 11.177 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Wenn man sich einmal seinen eigenen Programmcode anschaut, wird man feststellen, dass String-Abfragen zu den häufigsten Arten von Abfragen gehören.
Beispiel 1:
Anzeigen einer MsgBox, wenn in einem Eingabefeld keine Eingabe gemacht wurde.
Private Sub Command1_Click() ' Eingabe prüfen If txtName.Text = "" Then MsgBox "Bitte geben Sie zunächst Ihren Namen ein." Else ' ... End if End Sub
Beispiel 2:
Ein String enthält Daten, separiert durch ein Komma. Das Aufsplitten / Extrahieren der Daten in die einzelnen Datenfelder soll nur erfolgen, wenn der String nicht
leer ist.
If sDaten <> "" Then vData = Split(sDaten, ";") ' ... End If
Sie werden sich jetzt sicherlich fragen, was an diesen beiden Codebeispielen so "falsch" sein soll bzw. wie man die String-Abfragen optimieren kann.
Grübel... Grübel...
Ok... dann will ich Ihnen einmal auf die Sprünge helfen
Wir ändern die String-Abfragen wie folgt ab:
Beispiel 1 (optimiert):
Private Sub Command1_Click() ' Eingabe prüfen If Len(txtName.Text) = 0 Then MsgBox "Bitte geben Sie zunächst Ihren Namen ein." Else ' ... End if End Sub
Beispiel 2 (optimiert):
If Len(sDaten) > 0 Then vData = Split(sDaten, ";") ' ... End If
Kurze Erläuterung: Ein numerischer Vergleich wird von VB bzw. dem System schneller ausgeführt, als ein Text- bzw. Stringvergleich. Von daher empfiehlt es sich,
bei Abfragen von leeren/nicht leeren Strings die Länge des Strings via Len-Funktion für die Abfrage heranzuziehen.