Jump to content

Recommended Posts

Posted

Hi, I've got a problem.

My simple script is:

#include <File.au3>
#include <Array.au3>
$filein = "C:\test.txt"
Local $tablefromfile
_FileReadToArray($filein, $tablefromfile, Default, "|")
_ArrayDisplay($tablefromfile)

File test.txt:

a|b|

When in file test.txt after "b" there is no "Enter" or there is one "Enter" - everything is OK,

but when there are more "Enter", or "Space" in the second line - didn't work. 

Why?

How can I read correctly file with many "Enter" after text?

  • Moderators
Posted

lesmly,

You are telling the function that it should split the lines on the "|" character - and so it does. You then add further lines which do not contain that character - and the function fails with @error 3 (you did test this yourself?) as explained in the Help file:

Quote

@error:

3 - File lines have different numbers of fields (only if $FRTA_INTARRAYS flag not set)

Remarks:

When a delimiter is specified the function tries to further split each line of the file - how this is done depends on the setting of the $FRTA_INTARRAYS flag. If the flag is not set and each line has the same number of fields split by the delimiter then a 2D array is created, but if this is not the case then @error is set to 3 and no array is returned

When used with the $sDelimiter parameter, the function expects a "square" file with each line having the same number of delimited items - in your case the lines do not meet this criterion and so the function fails.

You have 2 choices:

1. - Use the $FRTA_INTARRAYS  parameter to get an array of arrays - as explained in the Help file:

Quote

 If the $FRTA_INTARRAYS flag is set the function creates a 1D array where each element is a further array holding the fields of the line split on the delimiter - the lines do not need to have the same number of fields

2. - Do not use the $sDelimiter parameter and split each line individually when required.

Please ask if you have any further questions.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see 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

 

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
×
×
  • Create New...