Hallo,
gibt es eine Möglichkeit ein ListView nach einem bestimmten Wort zu durchsuchen (in einer Spalte), sodass er mir am Ende die Anzahl der gefundenen Wörter rausgibt?
Danke schon mal in Vorraus für eure Antworten,
Egon577
Hallo,
gibt es eine Möglichkeit ein ListView nach einem bestimmten Wort zu durchsuchen (in einer Spalte), sodass er mir am Ende die Anzahl der gefundenen Wörter rausgibt?
Danke schon mal in Vorraus für eure Antworten,
Egon577
Nen bisschen Code würde helfen, damit man das direkt an deins anpassen kann.
Ansonsten würd ich
#Include <GuiListView.au3>
_GUICtrlListView_GetItemText($hWnd, $iIndex[, $iSubItem = 0])
in ner Schleife durchlaufen lassen
Den Code findest du im Anhang. Jetzt sollte aus der zweiten Spalte die Menge der mit "Urlaub" versehenen Spalten ermittelt werden.
Egon577
3 Sachen geändert
1. neue Globale Variable
2. In der Load Funktion wird der Counter hochgezählt
3. Neue Funktion Wortzaehlen mit Returnwert
Global $counter = 0
Func Load() ; Datenbank-Datei laden
Local $sItem, $aTmp
Local $hFile = FileOpen($sDBFile, 0) ; Datei zum lesen öffnen
$nGesamt = 0
If $hFile <> -1 Then ; wenn das öffnen erfolgreich war, dann...
_GUICtrlListView_BeginUpdate($hLVHandle) ; Listview sperren
While True ; Endlosschleife
$sItem = FileReadLine($hFile) ; Zeile aus der Datei lesen
If @error Then ExitLoop ; wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
$counter += 1
$aTmp = StringSplit($sItem,"|") ;<=============
;_ArrayDisplay($aTmp)
$nGesamt += $aTmp[5] ;<=========== Tagesarbeitszeit hinzuaddieren
GUICtrlCreateListViewItem($sItem, $hListView) ; mit den eingelesenen Daten einen neuen Listview-Eintrag erstellen
WEnd
_GUICtrlListView_EndUpdate($hLVHandle) ; Listview wieder freigeben
FileClose($hFile) ; Datei schließen
EndIf
GUICtrlSetData($Summe,$nGesamt) ;<=========== Summe anzeigen
EndFunc ;==>Load
Func Wortzaehlen($Wort)
Local $wortcounter = 0
For $i = 1 To $counter
If _GUICtrlListView_GetItemText($hListView, $i, 2) = $Wort Then $wortcounter += 1
Next
Return $wortcounter
EndFunc
Müsstest du jetzt nurnoch an der Stelle einbauen, an der du das haben willst ![]()
$Wort ist dann das wort das ich suche, oder?
Gruß,
Egon577
ja, du rufst die Funktion dann mit dem Wort auf, also bei nem Inputfeld wäre es
[autoit]$inputwert = InputBox ( "title", "prompt" , "default")
$Anzahlwort = Wortzaehlen($inputwert)
Danke, dann denke ich das ich alles verstanden habe.
Egon577