Quantcast
Channel: AutoIt v3 - General Help and Support
Viewing all articles
Browse latest Browse all 12506

Need help selecting a specific data from a CSV file into a variable

$
0
0

Hi. This is my firs post.

 

I'm using AutoIT to automate a Python script that will wirelessly program sensor nodes that its users will need reprograming by opening several windows asking for the required parameters and then constructing a Python command line with all those parameters and executing it.

This all works very well. When running the AutoIT script, a window pops up and asks for a node number, then the hex file the Python script will upload and the com port of the gateway trough which it will be uploaded it into the node.

 

To select the com port I use this function, that is also working very well:

AutoIt         
Func comPort()    Local $idCombo    ; Create GUI    GUICreate("Click on a COM Port", 250, 150)    $idCombo = GUICtrlCreateCombo("", 2, 2, 250, 150,$WS_TABSTOP)    GUISetState(@SW_SHOW)    For $i = 1 To 100       Local $sVar = RegRead("HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM", RegEnumVal("HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM", $i))       If $sVar = "" Then ExitLoop       _GUICtrlComboBox_InsertString($idCombo,$sVar,-1)    Next    Global $idMsg, $comPort    ; Loop until the user exits.    Do       $idMsg = GUIGetMsg()       If $idMsg = $GUI_EVENT_CLOSE Then          ExitLoop       ElseIf $idMsg = $idCombo Then          $comPort = GUICtrlRead($idCombo, 1) ; return the text of the menu item       EndIf    Until $idMsg = $GUI_EVENT_PRIMARYUP ; Until the mouse butten is released after a click    GUIDelete()    If $comPort = "" Then       MsgBox($MB_SYSTEMMODAL, "ERROR!", "COM Port not selected!" & @CRLF & "Script Stopped...")       Exit    EndIf EndFunc ;Func comPort()

This will look into the Registry for any available com ports and allow the user to choose the right one by just clicking on his choice.

This is required because everytime the gateway is plugged in, the com port may change.

 

But to ask for the node number I wanted to do something more besides asking for a destination node number. I want the user to look at a list of available nodes numbers and their respective description to avoid choosing the wrong node. For that each user would have to create a setup.txt file with some CSV data, like  "node number,node function" in each row.

 

But I just can't figure out how to load the CSV data into a table, displaying it and allow the user to just point and click a selection.

I can dispaly a table but then the user have to click on one of three buttons on the bottom that show up to copy data into the clipboard and that won't work.

 

Can anyone please help me create a function that will:

- Open some sort of combobox or table display

- Read data from a setup.txt file in a CSV format (x, y) per each row

- Assign each line of the CSV file to a row in the opened table

- Name the Column headers of the table

- Allow the user to click a row

- Assign the first item of the row (the x) to a global variable to be used later in the script.

- Close that window immediately after the user clicked the row

 

Thank you.


Viewing all articles
Browse latest Browse all 12506

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>