Hallo,
(1) offen
nach langer Suche habe ich hier
eine Array Suche gefunden, die fast genau das macht, was ich suche.
Was muss ich in Zeile 59 ändern, damit instring ein Suchbegriff (Teilzeichenkette) gefunden wird, z.B. das Wort "Spezial"?
so geht es nicht
If StringInStr (StringSplit($aFile[$i], "|", 3)[1], StringLen($sOldInput)) = $sOldInput Then ; instring Suche
AutoIt
$sFile = "1|007 Die Welt ist nicht genug|dvd|ja" & @CRLF & _
"2|12 Uhr Mittags|dvd|ja" & @CRLF & _
"3|A.I.|dvd|ja" & @CRLF & _
"4|Akte X- Der Film|dvd|ja" & @CRLF & _
"5|Aladdin 2 Disk Spezial Edition|dvd|ja" & @CRLF & _
"6|Bad Boys|dvd|ja" & @CRLF & _
"8|Biodata|dvd|ja" & @CRLF & _
"395|Sex and the City|dvd|" & @CRLF & _
"463|Shutter Island|dvd|" & @CRLF & _
"546|Cloud Atlas|dvd|"
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
$Form1 = GUICreate("Form1", 378, 298, 192, 124)
$Input1 = GUICtrlCreateInput("", 8, 8, 361, 21)
$ListView1 = GUICtrlCreateListView("hurr|durr|burr|surr", 8, 32, 362, 254)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 30)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 220)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 50)
GUISetState(@SW_SHOW)
Local $aLVItems[0]
$aFile = StringSplit($sFile, @CRLF, 3)
For $i = 0 To UBound($aFile) - 1
ReDim $aLVItems[UBound($aLVItems) + 1]
$aLVItems[UBound($aLVItems) - 1] = GUICtrlCreateListViewItem($aFile[$i], $ListView1)
Next
$sOldInput = ""
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
EndSwitch
$sNewInput = GUICtrlRead($Input1)
If $sOldInput <> $sNewInput Then
$sOldInput = $sNewInput
$aFile = StringSplit($sFile, @CRLF, 3)
For $i = 0 To UBound($aLVItems) - 1
GUICtrlDelete($aLVItems[$i])
Next
Local $aLVItems[0]
For $i = 0 To UBound($aFile) - 1
If StringLeft(StringSplit($aFile[$i], "|", 3)[1], StringLen($sOldInput)) = $sOldInput Then
ReDim $aLVItems[UBound($aLVItems) + 1]
$aLVItems[UBound($aLVItems) - 1] = GUICtrlCreateListViewItem($aFile[$i], $ListView1)
EndIf
Next
EndIf
WEnd
Alles anzeigen
(2) edit: erledigt -Dank Kanashius verstanden (Script aus der Hilfe funktioniert, daher das Beispiel gelöscht)
Danke