Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 07/02/2023 in all areas

  1. 1 point
  2. N.B. And because Eval evaluates a variable by Name you have to access the variable/array content by index after the evaluation.
    1 point
  3. In Eval don't put the '$' before the variable name #include <AutoItConstants.au3> #include <GUIConstants.au3> HotKeySet("^{NUMPAD1}", "test") HotKeySet("^{NUMPAD2}", "test") gui() Func gui() Global $hGUI = GUICreate("Test", 100, 100) GUISetState() While GUIGetMsg() <> $GUI_EVENT_CLOSE WEnd GUIDelete() EndFunc Func test() Local $test1[2] = ["Text 1", "Text 2"] Local $test2[2] = ["Text 3", "Text 4"] $n = StringRegExpReplace(@HotKeyPressed, "\D+", "") $a = Eval("test" & $n)[0] $b = Eval("test" & $n)[1] Msgbox(0,"", $a & @CRLF & $b) EndFunc Edit and if you absolutely want to use a one-liner then take care of the parenthesis ConsoleWrite((Eval("test" & StringRegExpReplace(@HotKeyPressed, "\D+", ""))[0]) & @CRLF & (Eval("test" & StringRegExpReplace(@HotKeyPressed, "\D+", ""))[1]) & @CRLF)
    1 point
  4. Disregard, I believe I understand it. Working with Work Area. Although I will say it seems to be a few pixels off a touch. Not a big deal. WinMove($hForm, _ $sText, _ Int($aData[1].Left), _ Int($aData[1].Bottom) - $aWinPos[3])
    1 point
  5. ..I can relate, I don't like reading nor thinking myself
    1 point
  6. pixelsearch

    Updating a List View

    Yesterday, I did PM Melba23, telling him I didn't agree with the result of his test and explained him why. He answered me right now, writing : "Your logic seems fine to me - go ahead and post a correction. And in future you do not need my permission to do so." Imho there won't be any future because finding something wrong in any Melba's script is harder than looking for a needle in a haystack. And God only knows how many MB23's scripts I read and tested since March 2018 (when I became a Forum member) as all his scripts run fluently and are a big help. So the problem in the script above is that one crucial line is missing, because TimerInit() isn't reinitialized when we click on the "Compare" button, so the results of the test are really biased. As soon as we add the missing line, it shows constantly that "Compare" is 5 times faster than "Delete All". Here is the amended script : #include <GUIConstantsEx.au3> #include <GuiListView.au3> Global $aList[100] $hGUI = GUICreate("Test", 500, 500) $cLV = GUICtrlCreateListView("Data stored", 10, 10, 400, 400) For $i = 0 To 99 GUICtrlCreateListViewItem("Item " & $i, $cLV) $aList[$i] = $i Next $cAll = GUICtrlCreateButton("All delete", 10, 450, 80, 30) $cComp = GUICtrlCreateButton("Compare", 250, 450, 80, 30) GUISetState() ; Alter a single element $aList[9] = 100 While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $cAll $nBegin = TimerInit() _GUICtrlListView_DeleteAllItems($cLV) For $i = 0 To 99 GUICtrlCreateListViewItem("Item " & $i, $cLV) Next ConsoleWrite(TimerDiff($nBegin) & @CRLF) Case $cComp $nBegin = TimerInit() ; this important line was missing <================ For $i = 0 To 99 If _GUICtrlListView_GetItemText($cLV, $i) <> "Item " & $aList[$i] Then _GUICtrlListView_SetItemText($cLV, $i, "Item " & $aList[$i]) EndIf Next ConsoleWrite(TimerDiff($nBegin) & @CRLF) EndSwitch WEnd Thanks MB, because you could have amended your own script by yourself. Bravo for your fair-play
    1 point
×
×
  • Create New...