Jump to content

Recommended Posts

TThomasson

Hi everyone. New guy here. I'm still learning this awesome language and I'm unable to figure this one out from google searches. Heres my problem:

I'm working on a small application to help users in my environment connect to wireless projectors. To keep this easily updated with new projectors I'm reading the room names and IP addresses from a csv file and putting them into a 2D array. (MeetingRoom1,xxx.xxx.xxx.xxx)
So far I'm able to read the 0 column and display the room names in a combo box. Where I am stuck is how to take the user's room selection from the gui and associate it with an IP address in the array. After that point I've got things prepared to pass the address to the connection application.  

Any help you all could provide would be greatly appreciated. 

Edited by TThomasson

Share this post


Link to post
Share on other sites
reb

put your room name into $YourArray[x][0]

put your ip address into $YourArray[x][1]

then do an _ArraySearch 

from the help file:

Return Value

Success:the index that $vValue was found at.

MEASURE TWICE - CUT ONCE

Share this post


Link to post
Share on other sites
TThomasson

ArraySearch! Yes! Thank you so much.

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

    • AnonymousX
      By AnonymousX
      Hello,
      I'm trying to make a program that can look at a folder directory, find all the CSV files, and then add the data from CSV's to an array. 
      The problem I seem to be running into is on the 2nd iteration (2nd file) when the script will not create an array. Could someone please help? Thanks in advance
       
      #include <Array.au3> #include <File.au3> #include <MsgBoxConstants.au3> #include <Excel.au3> #include <MsgBoxConstants.au3> Global $MasterArray RefineData() Func RefineData() Local $i, $filenum, $file, $csvArray, $sFilePath = @ScriptDir $fileList = _FileListToArrayRec($sFilePath, "*.csv", 1) ;Create and array of all .csv files within folder ;=====Loop through the .csv files within the folder====== For $filenum = 1 To UBound($fileList) - 1 Step 1 $file = $fileList[$filenum] $sFilePath = $sFilePath & "\" & $file ;=====Create array based on csv file===== _FileReadToArray($sFilePath, $csvArray, $FRTA_NOCOUNT, ",") _ArrayDisplay($csvArray,"File: " & $filenum) If $filenum = 1 Then $MasterArray = $csvArray _ArrayDisplay($MasterArray, "Master") Else $MasterArray = _ArrayColInsert($MasterArray, UBound($MasterArray)) ;want column added at end For $i = 0 To UBound($MasterArray)-1 Step 1 $MasterArray[$i][UBound($MasterArray) - 1] = $csvArray[$i][4] Next _ArrayDisplay($MasterArray, "Master") EndIf Next EndFunc ;==>RefineData  
    • fopetesl
      By fopetesl
      Attempting to extract data from CSV file to display in _ExtMsgBox, sometimes it works fine but mostly it fails with Error:
      3 - File lines have different numbers of fields (only if $FRTA_INTARRAYS flag not set) I have tried all the available $iFlags combinations without success.
      The CSV file format is fixed for any data collected, sample attached. The two CSV MsgBox() show correct file name
      $sText = "" Global $aLines, $fFile, $fLine, $fFcopy $fFile = FileOpen ( "QuickPlotData.dat", 0 ) ; find current CSV file $fLine = FileReadLine ( $fFile ) ; read correct CSV file name MsgBox(0,"CSV file: ", $fLine) ; Read file to 2D array MsgBox(0,"CSV[2] file: ", $fLine) ; _FileReadToArray($fLine, $aLines) ; 'simple' call _FileReadToArray($fLine, $aLines,$FRTA_NOCOUNT+$FRTA_ENTIRESPLIT,',') If @error Then MsgBox($MB_SYSTEMMODAL, "ERROR!", "CSV read error " & @error) exit(0) EndIf _ArrayDisplay($aLines)  
      ZZj2_Test.Won.Two.csv
    • timmy2
      By timmy2
      I figure there must be a reason for _FileReadToArray to exist when FileReadToArray can already read an entire text file into an array, but I don't understand the _FileReadToArray examples in the Help File.  The threads about _FileReadToArray here in the forum all seem to end up using StringSplit to work with delimiters, yet _FileReadToArray has some sort of built-in delimiter capability. 
      Here's where I was hoping _FileReadToArray might be applicable.  Let's assume the text file I wish to read into my script is like this:
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras hendrerit tristique purus quis eleifend. @@ Maecenas interdum dui in magna tincidunt, eget imperdiet tellus ornare. * Fusc * blandit * tellu * metus Nulla nec blandit ligula. @@ Fusce nec rhoncus enim. Cras facilisis velit velit, in fringilla felis porttitor sed. Cras vel nisi lobortis, vestibulum justo quis, lacinia est. Maecenas eu dolor ac est posuere semper a a enim. I would like to import the text file into a 1D array, with the @@'s used as delimiters.  So in this example the resulting 1D array would have 3 elements in it. Note that I want to retain the formatting and line endings (CRLF's).
      Can _FileReadToArray be used to accomplish this on its own?
      Thank you.
    • VIP
      By VIP
      CSV1:
      "Index","Name","Home Address","Last Love" "1","Rola Takizawa","Nữ hoàng, Nga Nhật","24/04/2016 22:37:00 PM" "2","Saori Hara","Hình Ảnh Nóng, Đức Nhật","21/03/2016 21:07:00 PM" "3","Ozawa","phổ biến nhất","23/04/2016 23:31:00 PM" "3","Akiho Ameri Ichinose","Kanagawa, Ameri, Ichinose","22/04/2016 21:50:00 PM"  
      CSV2:
      Index,Name,Home Address,Last Love 1,Takizawa,"Nữ hoàng, Nga Nhật","24/04/2016 22:37:00 PM" 2,"Saori Hara","Hình Ảnh Nóng, Đức Nhật","21/03/2016 21:07:00 PM" 3,Ozawa,"phổ biến nhất","23/04/2016 23:31:00 PM" 3,"Akiho Ameri Ichinose","Kanagawa, Ameri, Ichinose","22/04/2016 21:50:00 PM"  
      CSV3:
      Index,Name,Home Address,Last Love 1,Takizawa,"Nữ hoàng, Nga Nhật",24/04/2016 22:37:00 PM 2,Saori Hara,"Hình Ảnh Nóng, Đức Nhật",21/03/2016 21:07:00 PM 3,Ozawa,phổ biến nhất,23/04/2016 23:31:00 PM 3,Akiho Ameri Ichinose,"Kanagawa, Ameri, Ichinose",22/04/2016 21:50:00 PM ---------------------------------------------------------------------------------- Global $CSV3 = 'Index,Name,Home Address,Last Love' & @CRLF $CSV2 &= '1,Takizawa,"Nữ hoàng, Nga Nhật",24/04/2016 22:37:00 PM' & @CRLF $CSV2 &= '2,Saori Hara,"Hình Ảnh Nóng, Đức Nhật",21/03/2016 21:07:00 PM' & @CRLF $CSV2 &= '3,Ozawa,phổ biến nhất,23/04/2016 23:31:00 PM' & @CRLF $CSV2 &= '3,Akiho Ameri Ichinose,"Kanagawa, Ameri, Ichinose",22/04/2016 21:50:00 PM' & @CRLF  
      Does not work when have more ","
      #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <GUIListView.au3> #include <Array.au3> #include <File.au3> Global $CSV1 = '"Index","Name","Home Address","Last Love"' & @CRLF $CSV1 &= '"1","Rola Takizawa","Nữ hoàng, Nga Nhật","24/04/2016 22:37:00 PM"' & @CRLF $CSV1 &= '"2","Saori Hara","Hình Ảnh Nóng, Đức Nhật","21/03/2016 21:07:00 PM"' & @CRLF $CSV1 &= '"3","Ozawa","phổ biến nhất","23/04/2016 23:31:00 PM"' & @CRLF $CSV1 &= '"3","Akiho Ameri Ichinose","Kanagawa, Ameri, Ichinose","22/04/2016 21:50:00 PM"' & @CRLF Global $CSV2 = "Index,Name,Home Address,Last Love" & @CRLF $CSV2 &= "1,Takizawa,'Nữ hoàng, Nga Nhật','24/04/2016 22:37:00 PM'" & @CRLF $CSV2 &= "2,'Saori Hara','Hình Ảnh Nóng, Đức Nhật','21/03/2016 21:07:00 PM'" & @CRLF $CSV2 &= "3,Ozawa,'phổ biến nhất','23/04/2016 23:31:00 PM'" & @CRLF $CSV2 &= "3,'Akiho Ameri Ichinose','Kanagawa, Ameri, Ichinose','22/04/2016 21:50:00 PM'" & @CRLF Local $hOpen=FileOpen("CSV1.csv",128) FileWrite($hOpen,$CSV1) FileClose($hOpen) Local $hOpen=FileOpen("CSV2.csv",128) FileWrite($hOpen,$CSV2) FileClose($hOpen) Global $rArrayCSV1,$rArrayCSV2 Local $ArrayCSV1 = _FileReadToArray("CSV2.csv", $rArrayCSV1, Default,',') ConsoleWrite( $ArrayCSV1 & ' - ' & 'error = ' & @error & @CRLF) _ArrayDisplay($rArrayCSV1) Local $ArrayCSV2 = _FileReadToArray("CSV2.csv", $rArrayCSV2, Default,',') ConsoleWrite( $ArrayCSV2 & ' - ' & 'error = ' & @error & @CRLF) _ArrayDisplay($rArrayCSV2)  
    • TheDcoder
      By TheDcoder
      Hello, I wonder if there is a better way than this!:
      #include <Array.au3> Local $aArray[1][3] $aArray[0][0] = 1 $aArray[0][1] = 2 $aArray[0][2] = 3 ;$aArray[0] = [1, 2, 3] _ArrayDisplay($aArray) IIRC line no. 9 should work, but its not
       
      Thanks in Advance, TD
×