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.372 mal aufgerufen. |
TOP! Unser Nr. 1 Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Buchempfehlung Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||||||||
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. |