Jump to content
Kartada

My GUI is getting slow

Recommended Posts

Kartada
Posted (edited)

Hi, can you help me with my script? everytime I used Add New  my GUI started to slow.

Func Addnewsub()
    Global $sub1 = _Metro_CreateGUI("AddSub", 450, 300, -1, -1, True)
    WinSetOnTop($sub1, "", 1)
    _GUICtrlCreateGIF("SimplerBin\dmci.dll", "", 36, 3, 378, 120)
    $GUI_Button_X = _Metro_CreateButtonEX("Close", 168, 240, 120, 40)
    GUICtrlSetFont(-1, 20, 800, 1, "Times New Roman")
    $normal = _Metro_CreateButtonEX("Normal" & @CRLF & "Transaction", 20, 150, 200, 75)
    GUICtrlSetFont(-1, 20, 800, 1, "Times New Roman")
    $offline = _Metro_CreateButtonEX("Offline" & @CRLF & "Transaction", 230, 150, 200, 75)
    GUICtrlSetFont(-1, 20, 800, 1, "Times New Roman")
    GUISetState(@SW_SHOW)
    While 1
        _Metro_HoverCheck_Loop($sub1)
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                _Metro_GuiDelete($sub1)
                ExitLoop
            Case $GUI_Button_X
                _Metro_GuiDelete($sub1)
                ExitLoop
            Case $normal
                _Metro_GuiDelete($sub1)
                Addnew()
                ExitLoop
            Case $offline
                _Metro_GuiDelete($sub1)
                Addnew()
                ExitLoop
        EndSwitch


    WEnd

EndFunc   ;==>Addnewsub


Func Addnew()
    Local $LatestArray = _GUICtrlListView_CreateArray($hListView_Right, '|')
    _ArrayDelete($LatestArray, 0)
    Local $iWidthCell = 150
    Local $iRows = UBound($LatestArray, $UBOUND_ROWS)
    $legitRows = $iRows - 1
    $RowtoPut = $iRows


    ;MsgBox(0,$RowtoPut,$legitRows)
    ;Local $hNewGUIStation = GUICreate("Add New User", 400, 630, -1, -1)
    $hNewGUIStation = _Metro_CreateGUI("Add New User", 500, 600, -1, -1)
    _GUICtrlCreateGIF("SimplerBin\dmci.dll", "", 58, 3, 378, 120)
    GUICtrlCreateLabel("Doc Type: ", 75, 130, 90) ; first cell 70 width
    GUICtrlCreateGroup("", 180, 110, 185, 40)
    Local $idRadioMRIS = GUICtrlCreateRadio("MRIS", 210, 125, 70, 20)
    Local $idRadioSTO = GUICtrlCreateRadio("STO", 280, 125, 70, 20)
    GUIStartGroup()

    GUICtrlCreateLabel("Doc #: ", 75, 165, 90) ; first cell 70 width
    $inputnumber = GUICtrlCreateInput("", 180, 160, 185, 25)
    Local $Search1 = _Metro_CreateButtonEX("Search", 365, 160, 70, 25)

    GUICtrlCreateLabel("Driver's ID: ", 75, 195, 90) ; first cell 70 width
    $inputdriverid = GUICtrlCreateInput("", 180, 190, 185, 25)
    Local $Search2 = _Metro_CreateButtonEX("Search", 365, 190, 70, 25)

    GUICtrlCreateLabel("Property #: ", 75, 225, 90) ; first cell 70 width
    $inputproperty = GUICtrlCreateInput("", 180, 220, 185, 25)
    Local $Search3 = _Metro_CreateButtonEX("Search", 365, 220, 70, 25)

    GUICtrlCreateLabel("Project Code: ", 75, 255, 90) ; first cell 70 width
    $inputproject = GUICtrlCreateInput("", 180, 250, 185, 25)
    Local $Search4 = _Metro_CreateButtonEX("Search", 365, 250, 70, 25)

    GUICtrlCreateLabel("Odometer: ", 75, 285, 90) ; first cell 70 width
    $inputpreodometer = GUICtrlCreateInput("", 180, 280, 185, 25)

    GUICtrlCreateLabel("Hour Meter: ", 75, 314, 90) ; first cell 70 width
    $inputhourmeter = GUICtrlCreateInput("", 180, 310, 185, 25)

    GUICtrlCreateLabel("Liters: ", 75, 345, 90) ; first cell 70 width
    $inputliter = GUICtrlCreateInput("", 180, 340, 185, 25)

    GUICtrlCreateLabel("Target Destination: ", 75, 375, 90) ; first cell 70 width
    $inputtarget = GUICtrlCreateInput("", 180, 370, 185, 25)
    Local $Search5 = _Metro_CreateButtonEX("Search", 365, 370, 70, 25)

    GUICtrlCreateLabel("Origin: ", 75, 405, 90) ; first cell 70 width
    $inputorigin = GUICtrlCreateInput("", 180, 400, 185, 25)
    Local $Search6 = _Metro_CreateButtonEX("Search", 365, 400, 70, 25)

    GUICtrlCreateLabel("Approved by: ", 75, 435, 90) ; first cell 70 width
    $inputpapprove = GUICtrlCreateInput("", 180, 430, 185, 25)

    GUICtrlCreateLabel("Remarks: ", 75, 465, 90) ; first cell 70 width
    $inputremark = GUICtrlCreateInput("", 180, 460, 185, 25)

    GUICtrlCreateLabel("Measurements: ", 75, 495, 90) ; first cell 70 width
    $inputpmeasure = GUICtrlCreateInput("", 180, 490, 185, 25)
    Local $idComboBox = GUICtrlCreateCombo("", 365, 490, 70, 25)
    ;Local $aFileList = _FileListToArray(@ScriptDir & "\account\")
    GUICtrlSetData($idComboBox, "Gauge|Dipstick|Sensor", "Gauge")


    ;Local $idLogin = GUICtrlCreateButton("Login", 40, 75, 60, 20)
    Local $idAddNew = _Metro_CreateButtonEX("Add", 75, 550, 200, 35)

    Local $close = _Metro_CreateButtonEX("Close", 350, 550, 80, 35)
    Local $iRadioVal = 0
    Local $iComboVal = "Gauge"

    GUISetState(@SW_SHOW, $hNewGUIStation)

    ; Loop until the user exits.
    While 1

        _Metro_HoverCheck_Loop($hNewGUIStation)
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                UpdateTimeLeft()
                GUIDelete($hNewGUIStation)
                ExitLoop

            Case $idRadioMRIS
                $iRadioVal = "MRIS"

            Case $idRadioSTO
                $iRadioVal = "STO"

            Case $idComboBox
                $iComboVal = GUICtrlRead($idComboBox)

            Case $close
                UpdateTimeLeft()
                ;_GUIDisable($hGUI)
                GUIDelete($hNewGUIStation)
                ExitLoop

            Case $Search1
                $curSearchOpen = 1

                Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\mris_num.txt'
                $sInput1q = FileRead($sFilePath1q)
                $aInput1q = StringSplitW2($sInput1q, ";")
                $aOutput1q = Compact2DArray2($aInput1q)
                Local $reav1q = $aOutput1q


                ;_ArrayDisplay($reav1q)
                $searchgui1 = _Metro_CreateGUI("Search", 400, 300, -1, -1)
                Local $inputsearch1 = GUICtrlCreateInput("", 50, 20, 185, 25)
                GUICtrlCreateLabel("Search Result(s): ", 50, 60, $iWidthCell) ; first cell 70 width

                Local $hListView_Search1 = _GUICtrlListView_Create($searchgui1, "", 50, 80, 300, 150, BitOR($LVS_DEFAULT, $WS_BORDER))

                _GUICtrlListView_SetExtendedListViewStyle($hListView_Search1, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES))
                _GUICtrlListView_AddColumn($hListView_Search1, 'MRIS Number', 150)
                _GUICtrlListView_AddArray($hListView_Search1, $reav1q)
                $aLV_List_Search1 = _GUIListViewEx_ReadToArray($hListView_Search1, 1)
                $iLV_Search1_Index = _GUIListViewEx_Init($hListView_Search1, $aLV_List_Search1, 1, 0xFF0000, True, 2 + 4 + 8 + 16 + 32)

                Local $Searching1 = _Metro_CreateButtonEX("Search", 245, 20, 50, 25)
                Local $Reset1 = _Metro_CreateButtonEX("Reset", 300, 20, 50, 25)
                Local $Select1 = _Metro_CreateButtonEX("Select", 100, 255, 70, 25)
                Local $close1 = _Metro_CreateButtonEX("Close", 250, 255, 70, 25)

                GUISetState()

                While 1
                    If $curSearchOpen = 0 Then ExitLoop

                    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
                    Switch GUIGetMsg()
                        Case $Select1
                            $iIndex = _GUICtrlListView_GetSelectedIndices($hListView_Search1)
                            If $curSearchOpen == 1 Then
                                $rowerk = $iIndex
                                Local $LatestArray = _GUICtrlListView_CreateArray($hListView_Search1, '|')
                                _ArrayDelete($LatestArray, 0)


                                GUIDelete($searchgui1)
                                GUICtrlSetData($inputnumber, $LatestArray[$rowerk][0])
                                $curSearchOpen = 0
                            EndIf

                        Case $Searching1
                            Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\mris_num.txt'
                            $sInput1q = FileRead($sFilePath1q)
                            $aInput1q = StringSplitW2($sInput1q, ";")
                            $aOutput1q = Compact2DArray2($aInput1q)
                            Local $reav1q = $aOutput1q


                            Local $rowz = UBound($reav1q, $UBOUND_ROWS)
                            $realRows = $rowz - 1
                            Local $colz = UBound($reav1q, $UBOUND_COLUMNS)
                            $realCols = $colz - 1
                            $currentcol = 0
                            $currentrow = 0
                            $setrow = 0

                            _GUICtrlListView_DeleteAllItems($hListView_Search1)

                            Dim $arruy = _ArrayExtract_Mod($reav1q, 0, $realRows, 0, 0)

                            For $g = 0 To UBound($arruy) - 1
                                If StringInStr($arruy[$g], GUICtrlRead($inputsearch1)) Then


                                    _GUICtrlListView_AddItem($hListView_Search1, $arruy[$g], $setrow)

                                    $setrow = $setrow + 1


                                EndIf
                            Next

                        Case $Reset1
                            Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\mris_num.txt'
                            $sInput1q = FileRead($sFilePath1q)
                            $aInput1q = StringSplitW2($sInput1q, ";")
                            $aOutput1q = Compact2DArray2($aInput1q)
                            Local $reav1q = $aOutput1q
                            _GUICtrlListView_DeleteAllItems($hListView_Search1)
                            _GUICtrlListView_AddArray($hListView_Search1, $reav1q)

                        Case $close1
                            GUIDelete($searchgui1)
                            ExitLoop

                    EndSwitch
                WEnd


            Case $Search2
                $curSearchOpen = 2
                Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\requestor.txt'
                $sInput1q = FileRead($sFilePath1q)
                $aInput1q = StringSplitW2($sInput1q, ";")
                $aOutput1q = Compact2DArray2($aInput1q)
                Local $reav1q = $aInput1q


                $searchgui2 = _Metro_CreateGUI("Search", 400, 300, -1, -1)
                Local $inputsearch2 = GUICtrlCreateInput("", 50, 20, 185, 25)
                GUICtrlCreateLabel("Search Result(s): ", 50, 60, $iWidthCell) ; first cell 70 width

                Local $hListView_Search2 = _GUICtrlListView_Create($searchgui2, "", 50, 80, 300, 150, BitOR($LVS_DEFAULT, $WS_BORDER))
                _GUICtrlListView_SetExtendedListViewStyle($hListView_Search2, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES))
                _GUICtrlListView_AddColumn($hListView_Search2, 'ID', 80)
                _GUICtrlListView_AddColumn($hListView_Search2, 'First Name', 80)
                _GUICtrlListView_AddColumn($hListView_Search2, 'Middle Name', 80)
                _GUICtrlListView_AddColumn($hListView_Search2, 'Last Name', 80)
                _GUICtrlListView_AddArray($hListView_Search2, $reav1q)
                $aLV_List_Search2 = _GUIListViewEx_ReadToArray($hListView_Search2, 1)
                $iLV_Search2_Index = _GUIListViewEx_Init($hListView_Search2, $aLV_List_Search2, 1, 0xFF0000, True, 2 + 4 + 8 + 16 + 32)

                Local $Searching2 = _Metro_CreateButtonEX("Search", 245, 20, 50, 25)
                Local $Reset2 = _Metro_CreateButtonEX("Reset", 300, 20, 50, 25)
                Local $Select2 = _Metro_CreateButtonEX("Select", 100, 255, 70, 25)
                Local $close2 = _Metro_CreateButtonEX("Close", 250, 255, 70, 25)
                GUISetState()

                While 1
                    If $curSearchOpen = 0 Then ExitLoop
                    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
                    Switch GUIGetMsg()
                        Case $Select2
                            $iIndex = _GUICtrlListView_GetSelectedIndices($hListView_Search2)
                            If $curSearchOpen == 2 Then
                                $rowerk = $iIndex
                                Local $LatestArray = _GUICtrlListView_CreateArray($hListView_Search2, '|')
                                _ArrayDelete($LatestArray, 0)


                                GUIDelete($searchgui2)
                                GUICtrlSetData($inputdriverid, $LatestArray[$rowerk][0])
                                $curSearchOpen = 0
                            EndIf

                        Case $Searching2
                            Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\requestor.txt'
                            $sInput1q = FileRead($sFilePath1q)
                            $aInput1q = StringSplitW2($sInput1q, ";")
                            $aOutput1q = Compact2DArray2($aInput1q)
                            Local $reav1q = $aInput1q


                            Local $rowz = UBound($reav1q, $UBOUND_ROWS)
                            $realRows = $rowz - 1
                            Local $colz = UBound($reav1q, $UBOUND_COLUMNS)
                            $realCols = $colz - 1
                            $currentcol = 0
                            $currentrow = 0
                            $setrow = 0

                            _GUICtrlListView_DeleteAllItems($hListView_Search2)


                            While $currentcol <= $realCols

                                Dim $arruy = _ArrayExtract_Mod($reav1q, 0, $realRows, $currentcol, $currentcol)
                                For $k = 0 To UBound($arruy) - 1

                                    If StringInStr($arruy[$k], GUICtrlRead($inputsearch2)) Then

                                        Local $aiResult = _ArrayFindAll($reav1q, $arruy[$k], 0, 0, 0, 0, -1, False)

                                        For $i = 0 To UBound($aiResult) - 1
                                            Local $aExtract = _ArrayExtract_Mod($reav1q, $aiResult[$i], $aiResult[$i], 0)

                                            For $j = 0 To UBound($aExtract) - 1

                                                _GUICtrlListView_AddItem($hListView_Search2, $aExtract[$j][0], $setrow)
                                                _GUICtrlListView_AddSubItem($hListView_Search2, $setrow, $aExtract[$j][1], 1, 1)
                                                _GUICtrlListView_AddSubItem($hListView_Search2, $setrow, $aExtract[$j][2], 2, 2)
                                                _GUICtrlListView_AddSubItem($hListView_Search2, $setrow, $aExtract[$j][3], 3, 3)
                                                $setrow = $setrow + 1


                                            Next

                                        Next

                                    EndIf


                                Next

                                $currentcol = $currentcol + 1
                            WEnd

                            Local $LatestArrayness = _GUICtrlListView_CreateArray($hListView_Search2, '|')

                            Local $UniqueArrayed = _ArrayUnique($LatestArrayness)

                            _ArrayDelete($UniqueArrayed, 0)
                            _ArrayDelete($UniqueArrayed, 0)
                            $setrow = 0

                            _GUICtrlListView_DeleteAllItems($hListView_Search2)
                            For $k = 0 To UBound($UniqueArrayed) - 1
                                Local $aiResult = _ArrayFindAll($reav1q, $UniqueArrayed[$k], 0, 0, 0, 0, -1, False)

                                For $i = 0 To UBound($aiResult) - 1
                                    Local $aExtract = _ArrayExtract_Mod($reav1q, $aiResult[$i], $aiResult[$i], 0)

                                    For $j = 0 To UBound($aExtract) - 1

                                        _GUICtrlListView_AddItem($hListView_Search2, $aExtract[$j][0], $setrow)
                                        _GUICtrlListView_AddSubItem($hListView_Search2, $setrow, $aExtract[$j][1], 1, 1)
                                        _GUICtrlListView_AddSubItem($hListView_Search2, $setrow, $aExtract[$j][2], 2, 2)
                                        _GUICtrlListView_AddSubItem($hListView_Search2, $setrow, $aExtract[$j][3], 3, 3)
                                        $setrow = $setrow + 1


                                    Next

                                Next

                            Next
                            ;_GUICtrlListView_DeleteAllItems($hListView_Search2)
                            ;_GUICtrlListView_AddArray($hListView_Search2, $UniqueArrayed)
                            ;$LatestArraynessEdited = _ArrayRemoveDuplicate($LatestArrayness)
                            ;_ArrayDisplay($LatestArraynessEdited)

                        Case $Reset2
                            Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\requestor.txt'
                            $sInput1q = FileRead($sFilePath1q)
                            $aInput1q = StringSplitW2($sInput1q, ";")
                            $aOutput1q = Compact2DArray2($aInput1q)
                            Local $reav1q = $aInput1q
                            _GUICtrlListView_DeleteAllItems($hListView_Search2)
                            _GUICtrlListView_AddArray($hListView_Search2, $reav1q)

                        Case $close2
                            GUIDelete($searchgui2)
                            ExitLoop

                    EndSwitch
                WEnd

            Case $Search3
                $curSearchOpen = 3
                Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\property_num.txt'
                $sInput1q = FileRead($sFilePath1q)
                $aInput1q = StringSplitW2($sInput1q, ";")
                $aOutput1q = Compact2DArray2($aInput1q)
                Local $reav1q = $aInput1q

                $searchgui3 = _Metro_CreateGUI("Search", 400, 300, -1, -1)
                Local $inputsearch3 = GUICtrlCreateInput("", 50, 20, 185, 25)
                GUICtrlCreateLabel("Search Result(s): ", 50, 60, $iWidthCell) ; first cell 70 width

                Local $hListView_Search3 = _GUICtrlListView_Create($searchgui3, "", 50, 80, 300, 150, BitOR($LVS_DEFAULT, $WS_BORDER))
                _GUICtrlListView_SetExtendedListViewStyle($hListView_Search3, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES))
                _GUICtrlListView_AddColumn($hListView_Search3, 'Property Number', 110)
                _GUICtrlListView_AddColumn($hListView_Search3, 'Description', 100)
                _GUICtrlListView_AddColumn($hListView_Search3, 'Plate Number', 80)
                _GUICtrlListView_AddArray($hListView_Search3, $reav1q)
                $aLV_List_Search3 = _GUIListViewEx_ReadToArray($hListView_Search3, 1)
                $iLV_Search3_Index = _GUIListViewEx_Init($hListView_Search3, $aLV_List_Search3, 1, 0xFF0000, True, 2 + 4 + 8 + 16 + 32)

                Local $Searching3 = _Metro_CreateButtonEX("Search", 245, 20, 50, 25)
                Local $Reset3 = _Metro_CreateButtonEX("Reset", 300, 20, 50, 25)
                Local $Select3 = _Metro_CreateButtonEX("Select", 100, 255, 70, 25)
                Local $close3 = _Metro_CreateButtonEX("Close", 250, 255, 70, 25)
                GUISetState()

                While 1
                    If $curSearchOpen = 0 Then ExitLoop
                    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
                    Switch GUIGetMsg()
                        Case $Select3
                            $iIndex = _GUICtrlListView_GetSelectedIndices($hListView_Search3)
                            If $curSearchOpen == 3 Then
                                $rowerk = $iIndex
                                Local $LatestArray = _GUICtrlListView_CreateArray($hListView_Search3, '|')
                                _ArrayDelete($LatestArray, 0)


                                GUIDelete($searchgui3)
                                GUICtrlSetData($inputproperty, $LatestArray[$rowerk][0])
                                $curSearchOpen = 0
                            EndIf

                        Case $Searching3
                            Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\property_num.txt'
                            $sInput1q = FileRead($sFilePath1q)
                            $aInput1q = StringSplitW2($sInput1q, ";")
                            $aOutput1q = Compact2DArray2($aInput1q)
                            Local $reav1q = $aInput1q


                            Local $rowz = UBound($reav1q, $UBOUND_ROWS)
                            $realRows = $rowz - 1
                            Local $colz = UBound($reav1q, $UBOUND_COLUMNS)
                            $realCols = $colz - 1
                            $currentcol = 0
                            $currentrow = 0
                            $setrow = 0

                            _GUICtrlListView_DeleteAllItems($hListView_Search3)


                            While $currentcol <= $realCols

                                Dim $arruy = _ArrayExtract_Mod($reav1q, 0, $realRows, $currentcol, $currentcol)
                                For $k = 0 To UBound($arruy) - 1

                                    If StringInStr($arruy[$k], GUICtrlRead($inputsearch3)) Then

                                        Local $aiResult = _ArrayFindAll($reav1q, $arruy[$k], 0, 0, 0, 0, -1, False)

                                        For $i = 0 To UBound($aiResult) - 1
                                            Local $aExtract = _ArrayExtract_Mod($reav1q, $aiResult[$i], $aiResult[$i], 0)

                                            For $j = 0 To UBound($aExtract) - 1

                                                _GUICtrlListView_AddItem($hListView_Search3, $aExtract[$j][0], $setrow)
                                                _GUICtrlListView_AddSubItem($hListView_Search3, $setrow, $aExtract[$j][1], 1, 1)
                                                _GUICtrlListView_AddSubItem($hListView_Search3, $setrow, $aExtract[$j][2], 2, 2)

                                                $setrow = $setrow + 1


                                            Next

                                        Next

                                    EndIf


                                Next

                                $currentcol = $currentcol + 1
                            WEnd

                            Local $LatestArrayness = _GUICtrlListView_CreateArray($hListView_Search3, '|')

                            Local $UniqueArrayed = _ArrayUnique($LatestArrayness)

                            _ArrayDelete($UniqueArrayed, 0)
                            _ArrayDelete($UniqueArrayed, 0)
                            $setrow = 0

                            _GUICtrlListView_DeleteAllItems($hListView_Search3)
                            For $k = 0 To UBound($UniqueArrayed) - 1
                                Local $aiResult = _ArrayFindAll($reav1q, $UniqueArrayed[$k], 0, 0, 0, 0, -1, False)

                                For $i = 0 To UBound($aiResult) - 1
                                    Local $aExtract = _ArrayExtract_Mod($reav1q, $aiResult[$i], $aiResult[$i], 0)

                                    For $j = 0 To UBound($aExtract) - 1

                                        _GUICtrlListView_AddItem($hListView_Search3, $aExtract[$j][0], $setrow)
                                        _GUICtrlListView_AddSubItem($hListView_Search3, $setrow, $aExtract[$j][1], 1, 1)
                                        _GUICtrlListView_AddSubItem($hListView_Search3, $setrow, $aExtract[$j][2], 2, 2)

                                        $setrow = $setrow + 1


                                    Next

                                Next

                            Next
                            ;_GUICtrlListView_DeleteAllItems($hListView_Search2)
                            ;_GUICtrlListView_AddArray($hListView_Search2, $UniqueArrayed)
                            ;$LatestArraynessEdited = _ArrayRemoveDuplicate($LatestArrayness)
                            ;_ArrayDisplay($LatestArraynessEdited)

                        Case $Reset3
                            Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\property_num.txt'
                            $sInput1q = FileRead($sFilePath1q)
                            $aInput1q = StringSplitW2($sInput1q, ";")
                            $aOutput1q = Compact2DArray2($aInput1q)

                            Local $reav1q = $aInput1q
                            _GUICtrlListView_DeleteAllItems($hListView_Search3)
                            _GUICtrlListView_AddArray($hListView_Search3, $reav1q)

                        Case $close3
                            GUIDelete($searchgui3)
                            ExitLoop

                    EndSwitch
                WEnd

            Case $Search4
                $curSearchOpen = 4
                Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\project_code.txt'
                $sInput1q = FileRead($sFilePath1q)
                $aInput1q = StringSplitW2($sInput1q, ";")
                $aOutput1q = Compact2DArray2($aInput1q)
                Local $reav1q = $aInput1q

                $searchgui4 = _Metro_CreateGUI("Search", 400, 300, -1, -1)
                Local $inputsearch4 = GUICtrlCreateInput("", 50, 20, 185, 25)
                GUICtrlCreateLabel("Search Result(s): ", 50, 60, $iWidthCell) ; first cell 70 width

                $hListView_Search4 = _GUICtrlListView_Create($searchgui4, "", 50, 80, 300, 150, BitOR($LVS_DEFAULT, $WS_BORDER))
                _GUICtrlListView_SetExtendedListViewStyle($hListView_Search4, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES))
                _GUICtrlListView_AddColumn($hListView_Search4, 'Project Code', 110)
                _GUICtrlListView_AddColumn($hListView_Search4, 'Description', 100)
                _GUICtrlListView_AddArray($hListView_Search4, $reav1q)
                $aLV_List_Search4 = _GUIListViewEx_ReadToArray($hListView_Search4, 1)
                $iLV_Search4_Index = _GUIListViewEx_Init($hListView_Search4, $aLV_List_Search4, 1, 0xFF0000, True, 2 + 4 + 8 + 16 + 32)

                Local $Searching4 = _Metro_CreateButtonEX("Search", 245, 20, 50, 25)
                Local $Reset4 = _Metro_CreateButtonEX("Reset", 300, 20, 50, 25)
                Local $Select4 = _Metro_CreateButtonEX("Select", 100, 255, 70, 25)
                Local $close4 = _Metro_CreateButtonEX("Close", 250, 255, 70, 25)
                GUISetState()

                While 1
                    If $curSearchOpen = 0 Then ExitLoop
                    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
                    Switch GUIGetMsg()
                        Case $Select4
                            $iIndex = _GUICtrlListView_GetSelectedIndices($hListView_Search4)
                            If $curSearchOpen == 4 Then
                                $rowerk = $iIndex
                                Local $LatestArray = _GUICtrlListView_CreateArray($hListView_Search4, '|')
                                _ArrayDelete($LatestArray, 0)


                                GUIDelete($searchgui4)
                                GUICtrlSetData($inputproject, $LatestArray[$rowerk][0])
                                $curSearchOpen = 0
                            EndIf

                        Case $Searching4
                            Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\project_code.txt'
                            $sInput1q = FileRead($sFilePath1q)
                            $aInput1q = StringSplitW2($sInput1q, ";")
                            $aOutput1q = Compact2DArray2($aInput1q)
                            Local $reav1q = $aInput1q


                            Local $rowz = UBound($reav1q, $UBOUND_ROWS)
                            $realRows = $rowz - 1
                            Local $colz = UBound($reav1q, $UBOUND_COLUMNS)
                            $realCols = $colz - 1
                            $currentcol = 0
                            $currentrow = 0
                            $setrow = 0

                            _GUICtrlListView_DeleteAllItems($hListView_Search4)


                            While $currentcol <= $realCols

                                Dim $arruy = _ArrayExtract_Mod($reav1q, 0, $realRows, $currentcol, $currentcol)
                                For $k = 0 To UBound($arruy) - 1

                                    If StringInStr($arruy[$k], GUICtrlRead($inputsearch4)) Then

                                        Local $aiResult = _ArrayFindAll($reav1q, $arruy[$k], 0, 0, 0, 0, -1, False)

                                        For $i = 0 To UBound($aiResult) - 1
                                            Local $aExtract = _ArrayExtract_Mod($reav1q, $aiResult[$i], $aiResult[$i], 0)

                                            For $j = 0 To UBound($aExtract) - 1

                                                _GUICtrlListView_AddItem($hListView_Search4, $aExtract[$j][0], $setrow)
                                                _GUICtrlListView_AddSubItem($hListView_Search4, $setrow, $aExtract[$j][1], 1, 1)


                                                $setrow = $setrow + 1


                                            Next

                                        Next

                                    EndIf


                                Next

                                $currentcol = $currentcol + 1
                            WEnd

                            Local $LatestArrayness = _GUICtrlListView_CreateArray($hListView_Search4, '|')

                            Local $UniqueArrayed = _ArrayUnique($LatestArrayness)

                            _ArrayDelete($UniqueArrayed, 0)
                            _ArrayDelete($UniqueArrayed, 0)
                            $setrow = 0

                            _GUICtrlListView_DeleteAllItems($hListView_Search4)
                            For $k = 0 To UBound($UniqueArrayed) - 1
                                Local $aiResult = _ArrayFindAll($reav1q, $UniqueArrayed[$k], 0, 0, 0, 0, -1, False)

                                For $i = 0 To UBound($aiResult) - 1
                                    Local $aExtract = _ArrayExtract_Mod($reav1q, $aiResult[$i], $aiResult[$i], 0)

                                    For $j = 0 To UBound($aExtract) - 1

                                        _GUICtrlListView_AddItem($hListView_Search4, $aExtract[$j][0], $setrow)
                                        _GUICtrlListView_AddSubItem($hListView_Search4, $setrow, $aExtract[$j][1], 1, 1)


                                        $setrow = $setrow + 1


                                    Next

                                Next

                            Next
                            ;_GUICtrlListView_DeleteAllItems($hListView_Search2)
                            ;_GUICtrlListView_AddArray($hListView_Search2, $UniqueArrayed)
                            ;$LatestArraynessEdited = _ArrayRemoveDuplicate($LatestArrayness)
                            ;_ArrayDisplay($LatestArraynessEdited)

                        Case $Reset4
                            Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\project_code.txt'
                            $sInput1q = FileRead($sFilePath1q)
                            $aInput1q = StringSplitW2($sInput1q, ";")
                            $aOutput1q = Compact2DArray2($aInput1q)
                            Local $reav1q = $aInput1q


                            _GUICtrlListView_DeleteAllItems($hListView_Search4)
                            _GUICtrlListView_AddArray($hListView_Search4, $reav1q)

                        Case $close4
                            GUIDelete($searchgui4)
                            ExitLoop

                    EndSwitch
                WEnd

            Case $Search5
                $curSearchOpen = 5
                Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\target_dest.txt'
                $sInput1q = FileRead($sFilePath1q)
                $aInput1q = StringSplitW2($sInput1q, ";")
                $aOutput1q = Compact2DArray2($aInput1q)
                Local $reav1q = $aInput1q


                $searchgui5 = _Metro_CreateGUI("Search", 400, 300, -1, -1)
                Local $inputsearch5 = GUICtrlCreateInput("", 50, 20, 185, 25)
                GUICtrlCreateLabel("Search Result(s): ", 50, 60, $iWidthCell) ; first cell 70 width

                $hListView_Search5 = _GUICtrlListView_Create($searchgui5, "", 50, 80, 300, 150, BitOR($LVS_DEFAULT, $WS_BORDER))
                _GUICtrlListView_SetExtendedListViewStyle($hListView_Search5, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES))
                _GUICtrlListView_AddColumn($hListView_Search5, 'Project Code', 110)
                _GUICtrlListView_AddColumn($hListView_Search5, 'Location', 110)
                _GUICtrlListView_AddArray($hListView_Search5, $reav1q)
                $aLV_List_Search5 = _GUIListViewEx_ReadToArray($hListView_Search5, 1)
                $iLV_Search5_Index = _GUIListViewEx_Init($hListView_Search5, $aLV_List_Search5, 1, 0xFF0000, True, 2 + 4 + 8 + 16 + 32)

                Local $Searching5 = _Metro_CreateButtonEX("Search", 245, 20, 50, 25)
                Local $Reset5 = _Metro_CreateButtonEX("Reset", 300, 20, 50, 25)
                Local $Select5 = _Metro_CreateButtonEX("Select", 100, 255, 70, 25)
                Local $close5 = _Metro_CreateButtonEX("Close", 250, 255, 70, 25)
                GUISetState()

                While 1
                    If $curSearchOpen = 0 Then ExitLoop
                    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
                    Switch GUIGetMsg()
                        Case $Select5
                            $iIndex = _GUICtrlListView_GetSelectedIndices($hListView_Search5)
                            If $curSearchOpen == 5 Then
                                $rowerk = $iIndex
                                Local $LatestArray = _GUICtrlListView_CreateArray($hListView_Search5, '|')
                                _ArrayDelete($LatestArray, 0)


                                GUIDelete($searchgui5)
                                GUICtrlSetData($inputtarget, $LatestArray[$rowerk][0])
                                $curSearchOpen = 0
                            EndIf

                        Case $Searching5
                            Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\target_dest.txt'
                            $sInput1q = FileRead($sFilePath1q)
                            $aInput1q = StringSplitW2($sInput1q, ";")
                            $aOutput1q = Compact2DArray2($aInput1q)
                            Local $reav1q = $aInput1q


                            Local $rowz = UBound($reav1q, $UBOUND_ROWS)
                            $realRows = $rowz - 1
                            Local $colz = UBound($reav1q, $UBOUND_COLUMNS)
                            $realCols = $colz - 1
                            $currentcol = 0
                            $currentrow = 0
                            $setrow = 0

                            _GUICtrlListView_DeleteAllItems($hListView_Search5)


                            While $currentcol <= $realCols

                                Dim $arruy = _ArrayExtract_Mod($reav1q, 0, $realRows, $currentcol, $currentcol)
                                For $k = 0 To UBound($arruy) - 1

                                    If StringInStr($arruy[$k], GUICtrlRead($inputsearch5)) Then

                                        Local $aiResult = _ArrayFindAll($reav1q, $arruy[$k], 0, 0, 0, 0, -1, False)

                                        For $i = 0 To UBound($aiResult) - 1
                                            Local $aExtract = _ArrayExtract_Mod($reav1q, $aiResult[$i], $aiResult[$i], 0)

                                            For $j = 0 To UBound($aExtract) - 1

                                                _GUICtrlListView_AddItem($hListView_Search5, $aExtract[$j][0], $setrow)
                                                _GUICtrlListView_AddSubItem($hListView_Search5, $setrow, $aExtract[$j][1], 1, 1)


                                                $setrow = $setrow + 1


                                            Next

                                        Next

                                    EndIf


                                Next

                                $currentcol = $currentcol + 1
                            WEnd

                            Local $LatestArrayness = _GUICtrlListView_CreateArray($hListView_Search5, '|')

                            Local $UniqueArrayed = _ArrayUnique($LatestArrayness)

                            _ArrayDelete($UniqueArrayed, 0)
                            _ArrayDelete($UniqueArrayed, 0)
                            $setrow = 0

                            _GUICtrlListView_DeleteAllItems($hListView_Search5)
                            For $k = 0 To UBound($UniqueArrayed) - 1
                                Local $aiResult = _ArrayFindAll($reav1q, $UniqueArrayed[$k], 0, 0, 0, 0, -1, False)

                                For $i = 0 To UBound($aiResult) - 1
                                    Local $aExtract = _ArrayExtract_Mod($reav1q, $aiResult[$i], $aiResult[$i], 0)

                                    For $j = 0 To UBound($aExtract) - 1

                                        _GUICtrlListView_AddItem($hListView_Search5, $aExtract[$j][0], $setrow)
                                        _GUICtrlListView_AddSubItem($hListView_Search5, $setrow, $aExtract[$j][1], 1, 1)


                                        $setrow = $setrow + 1


                                    Next

                                Next

                            Next
                            ;_GUICtrlListView_DeleteAllItems($hListView_Search2)
                            ;_GUICtrlListView_AddArray($hListView_Search2, $UniqueArrayed)
                            ;$LatestArraynessEdited = _ArrayRemoveDuplicate($LatestArrayness)
                            ;_ArrayDisplay($LatestArraynessEdited)

                        Case $Reset5
                            Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\target_dest.txt'
                            $sInput1q = FileRead($sFilePath1q)
                            $aInput1q = StringSplitW2($sInput1q, ";")
                            $aOutput1q = Compact2DArray2($aInput1q)
                            Local $reav1q = $aInput1q


                            _GUICtrlListView_DeleteAllItems($hListView_Search5)
                            _GUICtrlListView_AddArray($hListView_Search5, $reav1q)

                        Case $close5
                            GUIDelete($searchgui5)
                            ExitLoop

                    EndSwitch
                WEnd

            Case $Search6
                $curSearchOpen = 6
                Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\origin.txt'
                $sInput1q = FileRead($sFilePath1q)
                $aInput1q = StringSplitW2($sInput1q, ";")
                $aOutput1q = Compact2DArray2($aInput1q)
                Local $reav1q = $aOutput1q

                $searchgui6 = _Metro_CreateGUI("Search", 400, 300, -1, -1)
                Local $inputsearch6 = GUICtrlCreateInput("", 50, 20, 185, 25)
                GUICtrlCreateLabel("Search Result(s): ", 50, 60, $iWidthCell) ; first cell 70 width

                $hListView_Search6 = _GUICtrlListView_Create($searchgui6, "", 50, 80, 300, 150, BitOR($LVS_DEFAULT, $WS_BORDER))
                _GUICtrlListView_SetExtendedListViewStyle($hListView_Search6, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES))
                _GUICtrlListView_AddColumn($hListView_Search6, 'Location', 110)
                _GUICtrlListView_AddArray($hListView_Search6, $reav1q)
                $aLV_List_Search6 = _GUIListViewEx_ReadToArray($hListView_Search6, 1)
                $iLV_Search6_Index = _GUIListViewEx_Init($hListView_Search6, $aLV_List_Search6, 1, 0xFF0000, True, 2 + 4 + 8 + 16 + 32)

                Local $Searching6 = _Metro_CreateButtonEX("Search", 245, 20, 50, 25)
                Local $Reset6 = _Metro_CreateButtonEX("Reset", 300, 20, 50, 25)
                Local $Select6 = _Metro_CreateButtonEX("Select", 100, 255, 70, 25)
                Local $close6 = _Metro_CreateButtonEX("Close", 250, 255, 70, 25)
                GUISetState()

                While 1
                    If $curSearchOpen = 0 Then ExitLoop
                    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
                    Switch GUIGetMsg()
                        Case $Select6
                            $iIndex = _GUICtrlListView_GetSelectedIndices($hListView_Search6)
                            If $curSearchOpen == 6 Then
                                $rowerk = $iIndex
                                Local $LatestArray = _GUICtrlListView_CreateArray($hListView_Search6, '|')
                                _ArrayDelete($LatestArray, 0)


                                GUIDelete($searchgui6)
                                GUICtrlSetData($inputorigin, $LatestArray[$rowerk][0])
                                $curSearchOpen = 0
                            EndIf

                        Case $Searching6
                            Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\origin.txt'
                            $sInput1q = FileRead($sFilePath1q)
                            $aInput1q = StringSplitW2($sInput1q, ";")
                            $aOutput1q = Compact2DArray2($aInput1q)
                            Local $reav1q = $aOutput1q


                            Local $rowz = UBound($reav1q, $UBOUND_ROWS)
                            $realRows = $rowz - 1
                            Local $colz = UBound($reav1q, $UBOUND_COLUMNS)
                            $realCols = $colz - 1
                            $currentcol = 0
                            $currentrow = 0
                            $setrow = 0

                            _GUICtrlListView_DeleteAllItems($hListView_Search6)

                            Dim $arruy = _ArrayExtract_Mod($reav1q, 0, $realRows, 0, 0)

                            For $g = 0 To UBound($arruy) - 1
                                If StringInStr($arruy[$g], GUICtrlRead($inputsearch6)) Then


                                    _GUICtrlListView_AddItem($hListView_Search6, $arruy[$g], $setrow)

                                    $setrow = $setrow + 1


                                EndIf
                            Next

                        Case $Reset6
                            Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\origin.txt'
                            $sInput1q = FileRead($sFilePath1q)
                            $aInput1q = StringSplitW2($sInput1q, ";")
                            $aOutput1q = Compact2DArray2($aInput1q)
                            Local $reav1q = $aOutput1q

                            _GUICtrlListView_DeleteAllItems($hListView_Search6)
                            _GUICtrlListView_AddArray($hListView_Search6, $reav1q)

                        Case $close6
                            GUIDelete($searchgui6)
                            ExitLoop

                    EndSwitch
                WEnd
            Case $idAddNew
                $GoodtoGo = 0
                $currentError = "Errors:"

                If $iRadioVal == 0 Then
                    $currentError = $currentError & @CRLF & "Doct Type:                empty"
                Else

                    Sleep(1)
                EndIf

                If GUICtrlRead($inputnumber) == "" Then
                    $currentError = $currentError & @CRLF & "Doc#:                         empty"
                Else
                    Local $b = 0
                    Local $sFilePath1q = @ScriptDir & '\SimplerBin\SAP\mris_num.txt'
                    $sInput1q = FileRead($sFilePath1q)
                    $aInput1q = StringSplitW2($sInput1q, ";")
                    $aOutput1q = Compact2DArray2($aInput1q)
                    Local $reav1q = $aOutput1q

                    Local $rowz = UBound($reav1q, $UBOUND_ROWS)
                    $realRows = $rowz - 1

                    Dim $arruy = _ArrayExtract_Mod($reav1q, 0, $realRows, 0, 0)

                    For $g = 0 To UBound($arruy) - 1
                        If $arruy[$g] == GUICtrlRead($inputnumber) Then
                            $b = 1
                        EndIf
                    Next
                    If $b = 0 Then
                        $currentError = $currentError & @CRLF & "Doc#:                 &n

 

Edited by Melba23
Added code tags

Share this post


Link to post
Share on other sites
Zedna

You use GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") incorectly

Don't call this inside of main While loop and

use unregister (at end of your function) if you use it only with temporary GUI

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×