Deklaration: Declare Function CompareString Lib "kernel32.dll" _ Alias "CompareStringA" ( _ ByVal Locale As Long, _ ByVal dwCmpFlags As Long, _ ByVal lpString1 As String, _ ByVal cchCount1 As Long, _ ByVal lpString2 As String, _ ByVal cchCount2 As Long) As Long Beschreibung: Parameter:
Locale Konstanten: Const LOCALE_SYSTEM_DEFAULT = &H400 ' Standard-Systemsprache Const LOCALE_USER_DEFAULT = &H800 ' Standard-Benutzersprache Rückgabewert: Const CSTR_LESS_THAN = 1 ' Kleiner als Const CSTR_EQUAL = 2 ' Gleich Const CSTR_GREATER_THAN = 3 ' Größer als Beispiel: Private Declare Function lstrcmpi Lib "kernel32.dll" _ Alias "lstrcmpiA" ( _ ByVal lpString1 As String, _ ByVal lpString2 As String) As Long Private Declare Function lstrcmp Lib "kernel32.dll" _ Alias "lstrcmpA" ( _ ByVal lpString1 As String, _ ByVal lpString2 As String) As Long Private Declare Function CompareString Lib "kernel32.dll" _ Alias "CompareStringA" ( _ ByVal Locale As Long, _ ByVal dwCmpFlags As Long, _ ByVal lpString1 As String, _ ByVal cchCount1 As Long, _ ByVal lpString2 As String, _ ByVal cchCount2 As Long) As Long ' CompareString Rückgabe-Konstanten Private Const CSTR_LESS_THAN = 1 ' Kleiner als Private Const CSTR_EQUAL = 2 ' Gleich Private Const CSTR_GREATER_THAN = 3 ' Größer als ' CompareString Locale-Konstanten Private Const LOCALE_SYSTEM_DEFAULT = &H400 ' Standard-Systemsprache Private Const LOCALE_USER_DEFAULT = &H800 ' Standard-Benutzersprache ' CompareString dwCmpFlags-Konstanten Private Const NORM_IGNORECASE = &H1 ' Groß und Kleinschreibung nicht beachten Private Const NORM_IGNOREKANATYPE = &H10000 ' Für Japanischen Zeichensatz. ' Macht keine Unterschiede zwischen Hiragana und Katakana Private Const NORM_IGNORENONSPACE = &H2 ' Ignoriert Leerzeichen Private Const NORM_IGNORESYMBOLS = &H4 ' Ignoriert Sonderzeichen Private Const NORM_IGNOREWIDTH = &H20000 ' Ignoriert den Unterschied ' zwischen Unicode und normalen Strings Private Const SORT_STRINGSORT = &H1000 ' Benutzt eine String-Sort-Methode ' anstatt einer Wort Sortierung. In einer String-Sort-Sortierung kommen ' Sonderzeichen wie "?,#;*..." vor den Buchstaben ' Listbox mit zu sortierenden Einträgen füllen Private Sub Form_Load() With List1 .Clear .AddItem "Diese Liste" .AddItem "wird jetzt" .AddItem "GROSS" .AddItem "gross" .AddItem "auf verschiedenste" .AddItem "Weise Sortiert." .AddItem "Ö Test Ö" .AddItem "? Test2 ?" End With End Sub ' Liste sortieren, Groß- und Kleinschreibung spielt dabei keinerlei Rolle Private Sub Command1_Click() Dim Retval As Long, i As Integer, j As Integer, TmpStr As String With List1 For i = 0 To .ListCount - 1 For j = i + 1 To .ListCount - 1 ' Strings vergleichen und eventuell verschieben Retval = lstrcmpi(.List(i), .List(j)) If Retval <= 0 Then ' Stellung halten Else ' Zurückversetzen in der Liste TmpStr = .List(j) .RemoveItem j .AddItem TmpStr, i End If Next j Next i End With End Sub ' Liste sortieren, Groß- und Kleinschreibung wird beachtet Private Sub Command2_Click() Dim Retval As Long, i As Integer, j As Integer, TmpStr As String With List1 For i = 0 To .ListCount - 1 For j = i + 1 To .ListCount - 1 ' Strings vergleichen und eventuell verschieben Retval = lstrcmp(.List(i), .List(j)) If Retval <= 0 Then ' Stellung halten Else ' Zurückversetzen in der Liste TmpStr = .List(j) .RemoveItem j .AddItem TmpStr, i End If Next j Next i End With End Sub ' Liste sortieren, Groß- und Kleinschreibung wird beachtet Private Sub Command3_Click() Dim Retval As Long, i As Integer, j As Integer, TmpStr As String With List1 For i = 0 To .ListCount - 1 For j = i + 1 To .ListCount - 1 ' Strings vergleichen und eventuell verschieben Retval = CompareString(0&, NORM_IGNORESYMBOLS Or _ SORT_STRINGSORT, .List(i), Len(.List(i)), .List(j), Len(.List(j))) If Retval = CSTR_LESS_THAN Or Retval = CSTR_EQUAL Then ' Stellung halten Else ' Zurückversetzen in der Liste TmpStr = .List(j) .RemoveItem j .AddItem TmpStr, i End If Next j Next i End With End Sub Diese Seite wurde bereits 10.122 mal aufgerufen. |
sevWizard für VB5/6 ![]() Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Buchempfehlung Tipp des Monats ![]() Dieter Otter PopUp-Menü wird nicht angezeigt :-( In diesem Tipp verraten wir Ihnen, wie Sie Probleme mit PopUp-Menüs umgehen können, wenn diese unter bestimmten Umständen einfach nicht angezeigt werden. [email protected] CD Vol.6 ![]() ![]() Geballtes Wissen aus mehr als 8 Jahren [email protected]! Online-Update-Funktion Entwickler-Vollversionen u.v.m. |
||||||||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |