Jump to content
rm4453

_ArrayFindAll Not returning Only valid result

Recommended Posts

I have a table I am parsing, to find specific vehicle information. I am unable to get _ArrayFindAll to return the only valid result with my test data.

Below is a sample of the table's HTML:

<td class="textCenter">2010</td>
           <td>TOYOTA</td>
           <td>TACOMA 4X4 DB</td>
           <td></td>
           <td>BLACK</td>
           <td class="textCenter">C</td>
           <td class="textCenter">6</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter">4X4</td>
           <td class="textCenter">Y</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">80,975</td>
           
           
           <td class="textRight" nowrap="nowrap">$16,800</td>
       </tr>
   
       <tr><!-- 308 -->
           <td class="textCenter">2010</td>
           <td>TOYOTA</td>
           <td>TACOMA 4X4 RG</td>
           <td></td>
           <td>BLACK</td>
           <td class="textCenter">R</td>
           <td class="textCenter">4</td>
           <td>GAS</td>
           <td class="textCenter">5</td>
           <td class="textCenter">4X4</td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">95,224</td>
           
           
           <td class="textRight" nowrap="nowrap">$9,500</td>
       </tr>
   
       <tr><!-- 309 -->
           <td class="textCenter">2011</td>
           <td>BUICK</td>
           <td>REGAL</td>
           <td>CXL RL4</td>
           <td>BLACK</td>
           <td class="textCenter">4</td>
           <td class="textCenter">4</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter"></td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">SR</td>
           <td class="textCenter">L</td>
           <td class="textRight" nowrap="nowrap">102,694</td>
           
           
           <td class="textRight" nowrap="nowrap">$5,000</td>
       </tr>
   
       <tr><!-- 310 -->
           <td class="textCenter">2011</td>
           <td>CHEVROLET</td>
           <td>AVALANCH 4X4 CR</td>
           <td>LS</td>
           <td>GRAY</td>
           <td class="textCenter">C</td>
           <td class="textCenter">8</td>
           <td>E</td>
           <td class="textCenter">A</td>
           <td class="textCenter">4X4</td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">64,759</td>
           
           
           <td class="textRight" nowrap="nowrap">$16,300</td>
       </tr>
   
       <tr><!-- 311 -->
           <td class="textCenter">2011</td>
           <td>CHEVROLET</td>
           <td>EQUINOX AWD 4C</td>
           <td>LT W/2LT</td>
           <td>BLACK</td>
           <td class="textCenter">S</td>
           <td class="textCenter">4</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter">AWD</td>
           <td class="textCenter">Y</td>
           <td>CD</td>
           <td class="textCenter">SR</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">91,896</td>
           
           
           <td class="textRight" nowrap="nowrap">$4,400</td>
       </tr>
   
       <tr><!-- 312 -->
           <td class="textCenter">2011</td>
           <td>CHEVROLET</td>
           <td>TAHOE 4X4 V8</td>
           <td>LTZ</td>
           <td>WHITE</td>
           <td class="textCenter">S</td>
           <td class="textCenter">8</td>
           <td>C</td>
           <td class="textCenter">A</td>
           <td class="textCenter">4X4</td>
           <td class="textCenter">A</td>
           <td>N</td>
           <td class="textCenter">MR</td>
           <td class="textCenter">L</td>
           <td class="textRight" nowrap="nowrap">126,982</td>
           
           
           <td class="textRight" nowrap="nowrap">$17,800</td>
       </tr>
   
       <tr><!-- 313 -->
           <td class="textCenter">2011</td>
           <td>CHEVROLET</td>
           <td>1500 SLV 4X4 EX</td>
           <td>LT</td>
           <td>GRAY</td>
           <td class="textCenter">X</td>
           <td class="textCenter">8</td>
           <td>GAS</td>
           <td class="textCenter">O</td>
           <td class="textCenter">4X4</td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">60,303</td>
           
           
           <td class="textRight" nowrap="nowrap">$18,100</td>
       </tr>
   
       <tr><!-- 314 -->
           <td class="textCenter">2011</td>
           <td>CHEVROLET</td>
           <td>1500 SLV 4X4 EX</td>
           <td>LT</td>
           <td>SILVER</td>
           <td class="textCenter">X</td>
           <td class="textCenter">8</td>
           <td>E</td>
           <td class="textCenter">O</td>
           <td class="textCenter">4X4</td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">89,403</td>
           
           
           <td class="textRight" nowrap="nowrap">$15,900</td>
       </tr>
   
       <tr><!-- 315 -->
           <td class="textCenter">2011</td>
           <td>CHEVROLET</td>
           <td>1500 SLV 4X4 EX</td>
           <td>LTZ</td>
           <td>BLUE</td>
           <td class="textCenter">X</td>
           <td class="textCenter">8</td>
           <td>E</td>
           <td class="textCenter">A</td>
           <td class="textCenter">4X4</td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">L</td>
           <td class="textRight" nowrap="nowrap">53,087</td>
           
           
           <td class="textRight" nowrap="nowrap">$17,700</td>
       </tr>
   
       <tr><!-- 316 -->
           <td class="textCenter">2011</td>
           <td>CHEVROLET</td>
           <td>3500 CUTAWAY</td>
           <td>WORK VAN</td>
           <td>WHITE</td>
           <td class="textCenter">S</td>
           <td class="textCenter"></td>
           <td></td>
           <td class="textCenter">A</td>
           <td class="textCenter">4X2</td>
           <td class="textCenter"></td>
           <td>N</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">202,477</td>
           
           
           <td class="textRight" nowrap="nowrap">$2,700</td>
       </tr>
   
       <tr><!-- 317 -->
           <td class="textCenter">2011</td>
           <td>CHRYSLER</td>
           <td>TOWN &amp; COUNTRY</td>
           <td>TOURING</td>
           <td>BLACK</td>
           <td class="textCenter">4</td>
           <td class="textCenter">6</td>
           <td>E</td>
           <td class="textCenter">A</td>
           <td class="textCenter">4X2</td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter"></td>
           <td class="textRight" nowrap="nowrap">198,541</td>
           
           
           <td class="textRight" nowrap="nowrap">$1,900</td>
       </tr>
   
       <tr><!-- 318 -->
           <td class="textCenter">2011</td>
           <td>DODGE</td>
           <td>DURANGO AWD V6</td>
           <td>CREW</td>
           <td>BLUE</td>
           <td class="textCenter">S</td>
           <td class="textCenter">6</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter">AWD</td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">SR</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">176,036</td>
           
           
           <td class="textRight" nowrap="nowrap">$2,800</td>
       </tr>
   
       <tr><!-- 319 -->
           <td class="textCenter">2011</td>
           <td>FORD</td>
           <td>FOCUS</td>
           <td>SE</td>
           <td>SILVER</td>
           <td class="textCenter">4</td>
           <td class="textCenter">4</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter"></td>
           <td class="textCenter">Y</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">101,929</td>
           
           
           <td class="textRight" nowrap="nowrap">$3,100</td>
       </tr>
   
       <tr><!-- 320 -->
           <td class="textCenter">2011</td>
           <td>FORD</td>
           <td>FUSION FWD 4C</td>
           <td>SEL</td>
           <td>WHITE</td>
           <td class="textCenter">4</td>
           <td class="textCenter">4</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter"></td>
           <td class="textCenter">Y</td>
           <td>CD</td>
           <td class="textCenter">SR</td>
           <td class="textCenter">L</td>
           <td class="textRight" nowrap="nowrap">78,290</td>
           
           
           <td class="textRight" nowrap="nowrap">$5,500</td>
       </tr>
   
       <tr><!-- 321 -->
           <td class="textCenter">2011</td>
           <td>FORD</td>
           <td>F150 4X4 CR</td>
           <td>XLT</td>
           <td>BLACK</td>
           <td class="textCenter">C</td>
           <td class="textCenter">8</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter">4X4</td>
           <td class="textCenter">Y</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">70,909</td>
           
           
           <td class="textRight" nowrap="nowrap">$16,000</td>
       </tr>
   
       <tr><!-- 322 -->
           <td class="textCenter">2011</td>
           <td>FORD</td>
           <td>MUSTANG V6 CPE</td>
           <td>V6 PREMIUM</td>
           <td>BLACK</td>
           <td class="textCenter">2</td>
           <td class="textCenter">6</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter">4X2</td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">L</td>
           <td class="textRight" nowrap="nowrap">92,531</td>
           
           
           <td class="textRight" nowrap="nowrap">$2,700</td>
       </tr>
   
       <tr><!-- 323 -->
           <td class="textCenter">2011</td>
           <td>GMC</td>
           <td>ACADIA FWD</td>
           <td>SLE</td>
           <td>RED</td>
           <td class="textCenter">4</td>
           <td class="textCenter">6</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter"></td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">79,199</td>
           
           
           <td class="textRight" nowrap="nowrap">$10,700</td>

A picture of the table test data is attached here:

TableSample.PNG

Here is the _query function, and all other relevant code that I can share.

 

Func _query($aSel, $aUrls)
    $oIE = _login()

    If $oIE = "Return" Then
        Return
    EndIf

    $j = 0
    While $j < UBound($aSel) - 1

        $i = 1

        $aucID ;Unable To Share What This Is Other Than Var Name.

        _IENavigate($oIE, "Something" & $aucID[0] & "Something")

        _IELoadWait($oIE, 100, 2000)
        $oObj = _IETableGetCollection($oIE, 3)
        $cars = _IETableWriteToArray_ProgressBar($oObj, True, "Processing Requested Information!") ;<---- Modified Version See Post For It: https://www.autoitscript.com/forum/topic/195335-solved-how-to-add-a-progress-bar-to-_ietablewritetoarray/?tab=comments#comment-1400699

        $carsYear = _filter($cars, 0, 0, GUICtrlRead($year))
        $carsMake = _filter($carsYear, 0, 1, GUICtrlRead($make))
        Global $carsModel = _filter($carsMake, 0, 2, GUICtrlRead($model))

        $i = 0
        $engine = GUICtrlRead($engine)

        If $engine <> "" Then

            While $i < StringLen($engine)

                $carsEngine = _filter($carsModel, 0, 6 + $i, StringLeft($engine, 1))

                ;_ArrayDisplay($carsModel, "Cars Model Before Array Delete")

                $x = 1
                While $x <= UBound($carsModel)

                    _ArrayDelete($carsModel, $x)
                    $x += 1

                WEnd

                ;_ArrayDisplay($carsModel, "Cars Model After Array Delete")

                ;_ArrayConcatenate($carsModel, $carsEngine)

                ;_ArrayDisplay($carsModel, "Cars Model After Concatenate")

                $engine = StringTrimLeft($engine, 1)
                $i += 1

            WEnd

        Else

            Dim $carsEngine[1][16]

        EndIf

        _ArrayConcatenate($carsEngine, $carsModel)
        _ArrayDisplay($carsEngine, "Cars Engine")

        Dim $carsDriveTrain[1][16]
        Dim $carsDriveTrain2[1][16]
        $driveTrainVal = GUICtrlRead($driveTrain)
        If $driveTrainVal = "4x4" Or $driveTrainVal = "awd" Then

            $carsDriveTrain = _filter($carsEngine, 0, 9, "4")
            $carsDriveTrain2 = _filter($carsEngine, 0, 9, "a")
;~          _ArrayDisplay($carsDriveTrain, "Drive Train Before")
;~          If @error Then
;~              MsgBox("", "", "Cars Drive Train Error: " & @error)
;~          EndIf
;~          _ArrayDisplay($carsDriveTrain2, "Drive Train2 Before")
;~          If @error Then
;~              MsgBox("", "", "Cars Drive Train 2 Error: " & @error)
;~          EndIf
            _ArrayConcatenate($carsDriveTrain, $carsDriveTrain2)

            _ArrayDisplay($carsDriveTrain, "Drive Train After Concat")

        ElseIf $driveTrainVal = "" Then

            _ArrayConcatenate($carsDriveTrain, $carsEngine)

        Else

            $carsDriveTrain = _filter($carsEngine, 0, 9, $driveTrain)
        EndIf


        Dim $carsOdom[1][16]
        $min = GUICtrlRead($odomMin)
        $max = GUICtrlRead($odomMax)
        For $i = 0 To UBound($carsDriveTrain) - 1

            If $carsDriveTrain[$i][14] > $min And $carsDriveTrain[$i][14] < $max Then

                _ArrayAdd($carsOdom, $carsDriveTrain[$i])
                MsgBox("", "", "ADDED!")

            EndIf

        Next

        _ArrayDisplay($carsOdom, "Cars Odom")

        $j += 1
    WEnd

    _IEQuit($oIE)
EndFunc   ;==>_query

Func _filter($tofilter, $xpos1, $ypos1, $str)


;~  If UBound($tofilter, 1) <= 1 Then

;~      $endx = 0

;~  Else

;~      $endx = UBound($tofilter, 1) - 1

;~  EndIf

;~  $cars = _ArrayFindAll($tofilter, $str, $tofilter[$xpos1][$ypos1], $tofilter[$endx][$ypos1], 0, 1, $ypos1, False)

    $cars = _ArrayFindAll($tofilter, $str, Default, Default, 0, 1, $ypos1)

    Dim $carsFiltered[1][16] = [["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p"]]
    ;_ArrayDisplay($carsFiltered)

    $i = 0

    $uBound = UBound($cars) - 1

    While $i < $uBound

        $filtered = _ArrayExtract($tofilter, $cars[$i], $cars[$i], 0, 15)
        ;_ArrayDisplay($filtered, "_filter Array of Filtered")
        _ArrayConcatenate($carsFiltered, $filtered)

        $i += 1

    WEnd

    _ArrayDelete($carsFiltered, 0)

    Return $carsFiltered

EndFunc   ;==>_filter

 

If you know of a more efficient way of doing this please let me know would be more than happy to chew down my inefficiency while learning! (It's like my grandpa used to say, "The only criticism I can't use is that which is not given to me.")

 

The Item an I am using to test the filter is:

image.png.e5de862ecef512c1bdc241dfd794b294.png

 

Edited by rm4453
Forgot To Include Result Used For Filter

Share this post


Link to post
Share on other sites

Please attach resulting array from

$cars = _IETableWriteToArray_ProgressBar($oObj, True, "Processing Requested Information!") ;

as a txt file and specify which value is var:

$engine = GUICtrlRead($engine)

so i and maybe someother's too can have a short look for a quick solution. But as i see are you deleting from begin to end in the  array. This is no good idea, try to do this from end to begin and it should be the solution.

Share this post


Link to post
Share on other sites

@AutoBert Sorry forgot to include the data, try cache refreshing (CTRL+SHIFT+R), as it should load the if not most data requested. (The table as you see it is the resulting array, aka the HTML attached is the table before it is ran through that)

Edited by rm4453

Share this post


Link to post
Share on other sites
18 minutes ago, rm4453 said:

$engine = GUICtrlRead($engine)

This line is rewriting the contents of your $engine variable. Previously, by my guess, the variable held the Control ID of the input box, now it contains the contents of that box, and you have no way to get the contents of it again because you cleared the reference to it.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
1 minute ago, BrewManNH said:

This line is rewriting the contents of your $engine variable. Previously, by my guess, the variable held the Control ID of the input box, now it contains the contents of that box, and you have no way to get the contents of it again because you cleared the reference to it.

I don't believe so... I am able to get as far as:

_ArrayConcatenate($carsEngine, $carsModel)
        _ArrayDisplay($carsEngine, "Cars Engine") ;<---- This contains the Chevy.

        Dim $carsDriveTrain[1][16]
        Dim $carsDriveTrain2[1][16]
        $driveTrainVal = GUICtrlRead($driveTrain)
        If $driveTrainVal = "4x4" Or $driveTrainVal = "awd" Then

            $carsDriveTrain = _filter($carsEngine, 0, 9, "4") ;<---- Returns No Result.
            $carsDriveTrain2 = _filter($carsEngine, 0, 9, "a") ;<--- Returns No Result.
;~          _ArrayDisplay($carsDriveTrain, "Drive Train Before") ;<- Which means This Contains Nothing.
;~          If @error Then
;~              MsgBox("", "", "Cars Drive Train Error: " & @error)
;~          EndIf
;~          _ArrayDisplay($carsDriveTrain2, "Drive Train2 Before");< And This Contains Nothing as Well.
;~          If @error Then
;~              MsgBox("", "", "Cars Drive Train 2 Error: " & @error)
;~          EndIf
            _ArrayConcatenate($carsDriveTrain, $carsDriveTrain2)

            _ArrayDisplay($carsDriveTrain, "Drive Train After Concat")

        ElseIf $driveTrainVal = "" Then

            _ArrayConcatenate($carsDriveTrain, $carsEngine)

        Else

            $carsDriveTrain = _filter($carsEngine, 0, 9, $driveTrain)
        EndIf


        Dim $carsOdom[1][16]
        $min = GUICtrlRead($odomMin)
        $max = GUICtrlRead($odomMax)
        For $i = 0 To UBound($carsDriveTrain) - 1

            If $carsDriveTrain[$i][14] > $min And $carsDriveTrain[$i][14] < $max Then

                _ArrayAdd($carsOdom, $carsDriveTrain[$i])
                MsgBox("", "", "ADDED!")

            EndIf

        Next

        _ArrayDisplay($carsOdom, "Cars Odom")

 

Share this post


Link to post
Share on other sites
3 minutes ago, rm4453 said:

I don't believe so

Your belief and reality are two different things. You are indeed rewriting the value that the variable $engine contains.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
10 minutes ago, BrewManNH said:

Your belief and reality are two different things. You are indeed rewriting the value that the variable $engine contains.

If you believe this is the case will you please point out or highlight which portion of the script after where I commented this contains the chevy, relies on $engine? If you are correct this would be an extremely easy fix, and I would love to have it boil down to something this simple.

 

*In case this helps I can confirm for you other than the GUI initialization this is the only time it is used up to that point:

$carsYear = _filter($cars, 0, 0, GUICtrlRead($year))
        $carsMake = _filter($carsYear, 0, 1, GUICtrlRead($make))
        Global $carsModel = _filter($carsMake, 0, 2, GUICtrlRead($model))

        $i = 0
        $engine = GUICtrlRead($engine);<--- Here

        If $engine <> "" Then

 

Edited by rm4453

Share this post


Link to post
Share on other sites

rm4453,

BrewManNH is absolutely correct. The first time through the loop you trash the $engine ControlID - which means every subsequent pass will not get the correct data into the variable as it will not read the value entered in the control. As a general principle the variables for the ControlID and the data within the control should always have distinct names.

M23


Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
Just now, Melba23 said:

rm4453,

BrewManNH is absolutely correct. The first time through the loop you trash the $engine ControlID - which means every subsequent pass will not get the correct data into the variable as it will not read the value entered in the control. As a general principle the variables for the ControlID and the data within the control should always have distinct names.

M23

I see the issue he commented about, I fixed that issue, and am still receiving the same result. I do appreciate him pointing that out.

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

  • Similar Content

    • By Blitzkid
      Hello, i want to search several directories for files with the largest numbers behind them (Like "video123") . They dont have a datatype. But there are also files with longer names and datatypes in these folders (Like "video778.mp4"). Is it possible to filter the _FileListToArray Syntax from
      to smth. like
       
      Here is my Code
      #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <array.au3> #include <File.au3> $filedir = @ScriptDir & "\" _checkfile() Func _checkfile() ConsoleWrite("______________________" & @CRLF) Local $arr[3] = ["music", "picture", "video"] For $i = 0 To UBound($arr) - 1 Local $arrayfiles = _FileListToArray($filedir & $arr[$i], $arr[$i] & "*", 1) If @error = 1 Then ConsoleWrite($arr[$i] & "Error 1") EndIf If @error = 4 Then ConsoleWrite($arr[$i] & "Error 2") ;Exit EndIf $arrayfilter = _ArrayMax($arrayfiles, 0, 1) Global $stringfiles = StringReplace($arrayfilter, $arr[$i], "") ConsoleWrite($arrayfilter & @CRLF) Next EndFunc ;==>_checkfile  
    • By jmp
      Script running good but error in line 7.
      When i run this script :
      #include <IE.au3> #include <Array.au3> $oIE = _IEAttach ("Shop") $oTable = _IETableGetCollection ($oIE, 1) $aTableData = _IETableWriteToArray ($oTable) For $inumber = 1 To UBound($aTableData) -1 $table = $aTableData[4][$inumber] MsgBox(0, "", $table) Next I got Error: array variable has incorrect number of subscripts or subscript dimension range exceeded
    • By nacerbaaziz
      Good morning guys, i hope that you're all well.
      guys, i have a problem and i hope that you can help me
      i've created an 3d array
      the array Contain a Categories info
      as folow
      $array[n][0][0] = Categorie name
      $array[n][0][1] = Categorie file path
      $array[n][0][2] = Categorie contents number
      $array[n][m][0] = link name
      $array[n][m][1] = link url
      $array[n][m][2] = link section name
      in my tool i want to add an option to delete a Category
      as you know the Categorie mean that must delete a region from the array
      when i tried to use _arrayDelete
      with the 2d array it work well
      but here i couldn't find any way to do that, can any one help me please?
      thanks in advance.
    • By nacerbaaziz
      hello sirs, please help me
      i tried to create a function that read a folder files to 3d array
      e.g
      $array[n][0][0] = ctName
      $array[n][0][1] = ctFilePath
      $array[n][0][2] = crtsections number
      $array[n][m][0] = KeyName
      $array[n][m][1] = KeyVal
      $array[n][m][2] = keySectionName
       
      that the array
      when i put one file into the folder all things work fine
      but when i put more than one file
      the last file worked fine but the others only the first key is showing
      please can you help me to correct this problem
      here is the example with the folder
      please accept my greetings
      and thanks in advance
       
      array3d.zip
    • By yffulf
      Is there probably a way to click ie popup button and hide or invisible popup button in the same time?
      I try to use WinSetState @SW_hide ,
      the result is ie crashing or no response because button hide and the next click command won't work...
      $oForm=_IEFormGetObjByName($oIE,"form1") $obutton=_IEFormElementGetObjByName($oForm,"btn_OK") $hWnd = _IEPropertyGet($oIE, "hwnd") _IEAction($obutton,"focus") ControlSend($hWnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{Enter}") WinWait("", "確定存檔嗎?") WinSetState("","確定存檔嗎?",@SW_Hide) ControlClick("", "確定存檔嗎?", "[CLASS:Button; TEXT:確定; Instance:1;]")  
×
×
  • Create New...