Guest JanesDaddy Posted August 30, 2004 Share Posted August 30, 2004 I have a comma-seperated file with a name and a number, e.g. John Doe,12345 Jane Doe,12346 that is being read one line at a time. Here's my code; ; Is file empty? ; Read in lines of text until the EOF is reached While 1 $line = FileReadLine($file) If @error = -1 Then ExitLoop ; Seperate name and badge number into an array $details = StringSplit($line, ",") If @error = 1 Then ExitLoop MsgBox(0, "AutoIt Automation data", "Name = " & $details[1] & @CRLF & "Badge Number = " & $details[2]) ; $details[1] contains the name ... $details[2] contains badge number Wend My question is, does the second line of the input file become $details[3] and $details[4], or does it become a two-dimentional array, $details[2,1] and $details[2,2]? Worse yet, does the second line of data overwrite the first, so that there is only ever one $details[1] and one $details[2]? Link to comment Share on other sites More sharing options...
scriptkitty Posted August 30, 2004 Share Posted August 30, 2004 (edited) Personally I load the entire file and just do the parse from there. ex: $file="c:\myfile.csv" $filelines=StringReplace(FileRead($file,FileGetSize($file)) ,@crlf,@lf) ; the above line reads the entire file and changes @crlf to @lf for the parse on the next line $line=StringSplit($filelines,@lf); make an array by lines for $i= 1 to $line[0]; read each line $details=Stringsplit($line[0],",") make an array of each line if $details[0]>1 then MsgBox(0, "AutoIt Automation data", "Name = " & $details[1] & @CRLF & "Badge Number = " & $details[2]) endif next the $details array will get written over, but you can always pull it back up anytime you want by calling out the line# you want. I prefer to keep the whole thing in memory so that I only access the file once, as well as many other advantages. On your example, details[1] would always be the name, details[2] would always be the badge number, and would be over written each time you read a line. Edited August 30, 2004 by scriptkitty AutoIt3, the MACGYVER Pocket Knife for computers. Link to comment Share on other sites More sharing options...
mcfr1es Posted August 31, 2004 Share Posted August 31, 2004 your details array will be overwritten with each new anme/number Roger! You son of a big pile o' Monkey Nuts. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now