Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <GUIConstants.au3>
- #include <Excel.au3>
- #include <Array.au3>
- #include <GuiListview.au3>
- Global $filter1, $filter2, $filter3, $filter4
- $oExcel = _ExcelBookOpen(@ScriptDir & "\test.xls", 0, False, "", "")
- $aSheet = _ExcelReadSheetToArray($oExcel, 2, 1, 5, 4, True)
- _ExcelBookClose($oExcel)
- GUICreate("", 450, 200)
- GUICtrlCreateLabel("Test 01", 10, 10)
- GUICtrlCreateLabel("Test 02", 120, 10)
- GUICtrlCreateLabel("Test 03", 230, 10)
- GUICtrlCreateLabel("Test 04", 340, 10)
- $01 = GUICtrlCreateInput("", 10, 25, 100, 22)
- $02 = GUICtrlCreateInput("", 120, 25, 100, 22)
- $03 = GUICtrlCreateInput("", 230, 25, 100, 22)
- $04 = GUICtrlCreateInput("", 340, 25, 100, 22)
- $ListView = GUICtrlCreateListView("Test 01|Test 02|Test 03|Test 04", 10, 60, 430, 130)
- For $i = 1 To UBound($aSheet) - 1
- GUICtrlCreateListViewItem($aSheet[$i][0] & "|" & $aSheet[$i][1] & "|" & $aSheet[$i][2] & "|" & $aSheet[$i][3], $ListView)
- Next
- GUISetState()
- While 1
- $iMsg = GUIGetMsg()
- Switch $iMsg
- Case $GUI_EVENT_CLOSE
- Exit
- EndSwitch
- If GUICtrlRead($01) <> $filter1 Or GUICtrlRead($02) <> $filter2 Or GUICtrlRead($03) <> $filter3 Or GUICtrlRead($04) <> $filter4 Then ; Wenn sich der Text in einem der Inputs geändert hat dann
- $filter1 = GUICtrlRead($01) ; werden diese
- $filter2 = GUICtrlRead($02) ; vier Variablen
- $filter3 = GUICtrlRead($03) ; auf den Inhalt
- $filter4 = GUICtrlRead($04) ; des jeweiligen Inputs gesetzt.
- _GUICtrlListView_DeleteAllItems($ListView) ; Dann werden alle Listview items gelöscht.
- For $i = 1 To UBound($aSheet) - 1
- If (StringInStr($aSheet[$i][0], $filter1) Or $filter1 = "") And (StringInStr($aSheet[$i][1], $filter2) Or $filter2 = "") And (StringInStr($aSheet[$i][2], $filter3) Or $filter3 = "") And (StringInStr($aSheet[$i][3], $filter4) Or $filter4 = "") Then ; Hier wird für jeden Filter einzeln überprüft ob er im jeweiligen String drin ist.
- GUICtrlCreateListViewItem($aSheet[$i][0] & "|" & $aSheet[$i][1] & "|" & $aSheet[$i][2] & "|" & $aSheet[$i][3], $ListView)
- EndIf
- Next
- EndIf
- WEnd
- ;Filter Erklärung
- ; Wenn der Filter1 im String1 enthalten ist oder Filter1 garnichts ist UND der Filter2 im String2 enthalten ist oder Filter2 garnichts ist UND ...
Add Comment
Please, Sign In to add comment