Sign in to follow this  
Followers 0
Dlund

Gui storing erroneous values

3 posts in this topic

#1 ·  Posted (edited)

Hey all, I'm working on a script to read in values and write them to an array which increases with size as values are added from a GUI three at a time.

at this time, I have the following script.
 

#include <GUIConstantsEx.au3>
#include <Array.au3>
main()

Func saveData($arr, $newData)

    If IsArray($arr) = 1 Then
        $Bound = UBound($arr)
        ReDim $arr[$Bound+1]
        $arr[$Bound] = $newData
    Else
        Dim $arr[1]
        $arr[0] = $newData
     EndIf
;    _ArrayDisplay($arr)
   Return $arr
  EndFunc



Func main()
   dim $arr1;
   $oForm1 = GUICreate("Form1", 623, 226, 192, 114)
   $Input1 = GUICtrlCreateInput("X Value", 8, 8, 177, 21)
   $Input2 = GUICtrlCreateInput("Y Value", 264, 8, 129, 21)
   $Input3 = GUICtrlCreateInput("Z Value", 496, 8, 121, 21)

   $Button1 = GUICtrlCreateButton("Save and Continue", 8, 187, 137, 16)
   $Button2 = GUICtrlCreateButton("Save and Print", 152, 187, 145, 16)
   $Button3 = GUICtrlCreateButton("Cancel and Print", 304, 187, 137, 16)

   GUISetState(@SW_SHOW)

   While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
         Case $Button1
                  $arr1 = saveData($arr1, $Input1)
                  $arr1 = saveData($arr1, $Input2)
                  $arr1 = saveData($arr1, $Input3);
                                  GUICtrlSetData($Input1, "Newer X")
                  GUICtrlSetData($Input2, "Newer Y")
                  GUICtrlSetData($Input3, "Newer Z")
               Case $Button2
                  $arr1 = saveData($arr1, $Input1)
                  $arr1 = saveData($arr1, $Input2)
                  $arr1 = saveData($arr1, $Input3);
                  _ArrayDisplay($arr1)
                  Exit
        Case $Button3
           _ArrayDisplay($arr1)
            Exit
    EndSwitch
WEnd
EndFunc

The array successfully increases in size, but when called in the groups of three it is always storing the values: 3,4, and then 5.  Even if the default text is left as is 

Edited by Dlund

Share this post


Link to post
Share on other sites



Dlund,

Answer my question in your other thread and I might answer this one - seems a fair deal to me. ;)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______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

Dlund,

And as this appears to relate to the same script as the one in your other recently locked thread, this gets locked too. :naughty:

M23

P.S. But to show we are not all bad - look at GUICtrlRead in the Help file. You are storing the ControlID, not the data within the control. ;)


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______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
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Similar Content

    • TheDcoder
      By TheDcoder
      Hello! , I was wondering if something like this:

      is possible to in AutoIt? The search text will disappear ASA the user types a letter in the input box... Is it possible? How? Here is some code for you to work on:
      #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 393, 130, 192, 124) $Input1 = GUICtrlCreateInput("", 88, 48, 209, 21) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Thanks in Advance, TD
       
      P.S ASA = As soon as
      Are you wondering about the image which I provided above? I made it with a very careful forgery
    • cookiemonster
      By cookiemonster
      Hi all,
      So ive had a form for a while now, which the input boxes don't always display correctly, easiest way is to show you so plz see example.png
      As you can see all the input boxes except for the third column are not showing correctly, if I hover my mouse over them they then do, which is what I did for the boxes in the third row for the example.
      Anyone got any idea of the cause and the fix?

    • LetsAuto
      By LetsAuto
      Hi! So im at a point where I can comfortably use the Koda interface, and i can manage my programs.. BUT..... i need information from a log file to be displayed in a disabled input box (so that way the user has no control over the content that is displayed)..... how does one do this?

      Note: I already have the .txt file, with the user input.. that part was easy.. but i just dont know how to retrieve it.. its going to be something with FileReadLine(), yes?
    • zbatev
      By zbatev
      Hi Again,

      I'm really stuck with this, I have a complex program now more than 3K lines, I'll only post the portion which is giving me a lot of headache.

      This slice of code will monitor where the active cursor is and when the user press enter it will call the function associated with the input field(Search Field). Each of these Search input box reside on its own Tab Control

      It does work pretty well HOWEVER if I left the cursor at the input field and fire up other applications such as notepad, the HotKey (enter) does not set to its default.

      Case Else ;user is doing something else other than pressing/clicking on buttons/controls $sFocus = ControlGetFocus($formAgentBuddy) $hFocus = ControlGetHandle($formAgentBuddy, "", $sFocus) $ctrlFocus = _WinAPI_GetDlgCtrlID($hFocus) Switch $hFocus Case $hnptSearchMeC HotKeySet("{ENTER}", "_SearchContactList") Case $hnptSearchMeR HotKeySet("{ENTER}", "_SearchReferenceList") Case $hnptSearchMeK HotKeySet("{ENTER}", "_SearchAccountList") Case $hnptSearchMeM HotKeySet("{ENTER}", "_SearchTemplateList") Case $hnptSearchMeL HotKeySet("{ENTER}", "_SearchAlarmList") Case Else HotKeySet("{ENTER}") EndSwitch
      I tried using GUISetAccelerators but I guess this cannot be dynamically changed like

      Case Else ;user is doing something else other than pressing/clicking on buttons/controls $sFocus = ControlGetFocus($formAgentBuddy) $hFocus = ControlGetHandle($formAgentBuddy, "", $sFocus) $ctrlFocus = _WinAPI_GetDlgCtrlID($hFocus) Switch $hFocus Case $hnptSearchMeC Dim $AccelKeys[1][2]=[["{ENTER}",$btnSearchContactList]] GUISetAccelerators($AccelKeys) Case $hnptSearchMeR Dim $AccelKeys[1][2]=[["{ENTER}",$btnSearchReferenceList]] GUISetAccelerators($AccelKeys) Case $hnptSearchMeK ;.... and so on Case $hnptSearchMeM ;.... and so on Case $hnptSearchMeL ;.... and so on Case Else Dim $AccelKeys = "" EndSwitch
      I also tried to monitor the Active Window with WinGetState and use BitAnd with an 8 but sadly that doesn't also do the trick even if I switch to other application my program seem to be still active even when its already greyed out like if I left the cursor at the Search Field(input Box) and I press enter in notepad instead of giving me a new line in notepad it executes the search in my application.