Visual Basic World - Programmierung und BeispieleVisual Basic World - Tipps und TutorialsVisual Basic World - Source-Code und Forum

<leer>

Tipp 039: ListBox auf einen bestimmten Eintrag überprüfen

Autor: Alexander Kopatz  VB-Version: Visual Basic 6.0   Download: Beispielprojekt Tipp-039

Beschreibung

Dieses Source Code Beispiel demonstriert zwei unterschiedliche Verfahren mit Hilfe derer Sie prüfen können ob ein spezifischer Eintrag in einem ListBox-Steuerelement vorhanden ist. Variante Eins arbeitet mit einer einfachen Schleife, welche von Anfang bis Ende durchlaufen wird. Hierbei wird ein jedes Element in der Liste überprüft und verglichen. Da Abfrage auf Steuerelement-Eigenschaften idR nur recht gemächlich ablaufen, ist mit diesem Vorgehen keine Preise für Geschwindigkeit zu erzielen. Wenn es etwas zügiger vonstattengehen darf ist daher Variante Zwei zu empfehlen. Diese bedient sich der Möglichkeiten der Windows API. Unter Zuhilfenahme der Windows API-Funktion SendMessageByString wird dabei die Sucharbeit direkt an das System ausgelagert. Dies erhöht die Geschwindigkeit und die Effizienz deutlich.

Quellcode

frmProgRun
CommandButton            cmdPrüfen
CommandButton            cmdPrüfen
CommandButton            lstListeFüllen
Form                     frmListBox
ListBox                  lstSuche
' VISUAL BASIC WORLD
' ===========================================
' Das große Portal zum Thema Visual Basic.
'
' Wenn Ihnen dieser Source Code gefallen hat,
' dann empfehlen Sie Visual Basic World bitte
' weiter und/oder setzen Sie einen Link auf:
'
' http://www.visualbasicworld.de/
'
' Vernetzen Sie sich mit uns:
'
' http://twitter.com/visualbasicwrld

Option Explicit Private Declare Function SendMessageByString Lib _ "user32" Alias "SendMessageA" (ByVal hwnd As Long, _ ByVal wMsg As Long, ByVal wParam As Long, _ ByVal lParam As String) As Long Private Const LB_FINDSTRING = &H18F Private Zähler As Long
Private Sub cmdPrüfen_Click(Index As Integer) Select Case Index Case 0 For Zähler = 0 To lstSuche.ListCount If lstSuche.List(Zähler) = txtSuche.Text Then MsgBox "Eintrag vorhanden", 64, "Suche" Exit Sub End If Next MsgBox "Eintrag nicht vorhanden", 64, "Suche" Case 1 If SendMessageByString(lstSuche.hwnd, LB_FINDSTRING, 0, txtSuche.Text) = -1 Then MsgBox "Eintrag nicht vorhanden", 64, "Suche" Else MsgBox "Eintrag vorhanden", 64, "Suche" End If End Select End Sub
Private Sub lstListeFüllen_Click() For Zähler = 32000 To 0 Step -1 lstSuche.AddItem Zähler Next End Sub

ANZEIGE <leer>
<leer> Aktuelle Seite Back To Top
Druckansicht | Feedback | Favoriten
Copyright © Visual Basic World, 2000-2014 | Kontakt | Impressum

Visual Basic World @ Twitter

Folgen Sie Visual Basic World!

Visual Basic World @ Twitter
Wenn Ihnen Visual Basic World gefällt, dann folgen Sie uns doch bei Twitter (@visualbasicwrld).
Vielen Dank!



Fragen & Forum

Wenn Sie offene Fragen zur Programmierung mit Visual Basic haben und in der Tipps & Tricks Sektion oder bei den Tutorials nicht fündig wurden, dann werfen Sie doch einen Blick ins Visual Basic World Forum.


Visual Basic World Forum

Im Forum erhalten Sie schnell Hilfe und finden eine Vielzahl an bereits beantworteten Fragen und Problemen.

Viel Vergnügen bei der Benutzung!


Unterstützen Sie VB-World!

Wenn Ihnen Visual Basic World gefällt, dann unterstützen Sie uns!



Das geht am einfachsten, indem Sie einen Link auf visualbasicworld.de setzen oder senden Sie doch folgende QR-Grafik an Ihre Freunde:

Visual Basic World

Außerdem würden wir uns sehr freuen, wenn Sie uns bei Twitter (@visualbasicwrld) folgen.
Vielen Dank!


Fotografie & Design

Fotograf in Mannheim und Heidelberg.