Company Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Scan From File

LabVIEW 8.5 Help
August 2007

NI Part Number:
371361D-01

»View Product Info

Scans text in a file for string, numeric, path, and Boolean data, converts the text to a data type, and returns a duplicated refnum and the converted outputs in the order scanned. This function does not work for files inside an LLB.

You can use this function to read all the text in the file. However, you cannot use this function to determine a starting point for the scan. To do so, use the Read from Text File function and the Scan From String function.

Details  Example

format string specifies how to convert the input string into the output arguments. The default is to scan the string according to default behavior for the data types of the outputs wired. Right-click the function and select Edit Scan String from the shortcut menu to create and edit the format string.

This input accepts a maximum of 255 characters.
input file can be a refnum or absolute file path. If it is a refnum, this node opens the file specified by the refnum. This function creates the specified file if it does not already exist. The default is to display a file dialog box and prompt you to select a file.

If you specify an empty or relative path, this function returns an error.
error in describes error conditions that occur before this VI or function runs. The default is no error. If an error occurred before this VI or function runs, the VI or function passes the error in value to error out. This VI or function runs normally only if no error occurred before this VI or function runs. If an error occurs while this VI or function runs, it runs normally and sets its own error status in error out. Use the Simple Error Handler or General Error Handler VIs to display the description of the error code. Use error in and error out to check errors and to specify execution order by wiring error out from one node to error in of the next node.
status is TRUE (X) if an error occurred before this VI or function ran or FALSE (checkmark) to indicate a warning or that no error occurred before this VI or function ran. The default is FALSE.
code is the error or warning code. The default is 0. If status is TRUE, code is a nonzero error code. If status is FALSE, code is 0 or a warning code.
source specifies the origin of the error or warning and is, in most cases, the name of the VI or function that produced the error or warning. The default is an empty string.
default 1..n specifies the type and default value for the output parameters. If this function cannot scan the input value from format string, the function uses the default. If you do not wire default 1 and you wire a constant to format string, the function uses format string to determine the type of the output. Otherwise, the default data type is double-precision, floating-point. The default value is 0 or an empty string, depending on the output data type. If you wire an enumerated type to default 1, the function finds substrings matching the string values in the enumerated type and returns the corresponding numeric value of the enumerated type.
output file refnum is the refnum of the file that the VI read. You can wire this output to another file function, depending on what you want to do with the file. The default is to close the file if it is referenced by a file path or selected from the file dialog box. If input file is a refnum, LabVIEW assumes that the file is still in use until you close it.
error out contains error information. If error in indicates that an error occurred before this VI or function ran, error out contains the same error information. Otherwise, it describes the error status that this VI or function produces. Right-click the error out front panel indicator and select Explain Error from the shortcut menu for more information about the error.
status is TRUE (X) if an error occurred or FALSE (checkmark) to indicate a warning or that no error occurred.
code is the error or warning code. If status is TRUE, code is a nonzero error code. If status is FALSE, code is 0 or a warning code.
source describes the origin of the error or warning and is, in most cases, the name of the VI or function that produced the error or warning.
output 1..n specifies the output parameters. Each output can be a string path, enumerated type, time stamp, or any numeric data type. If you scan a string that does not fit into the numeric data type you specify, this function returns the largest number that fits into that data type. You cannot use arrays and clusters with this function.

Scan From File Details

Increase the number of parameters by right-clicking the function and selecting Add Parameter from the shortcut menu or by resizing the function.

Note  If an error occurs, the source component of the error out cluster contains a string of the form ''Scan From File (arg n),'' where n is the first argument for which the error occurred.

If you wire a block diagram constant string to format string, LabVIEW uses format string to determine the number of outputs and the data type of each output at compile time. If the types you wire to the outputs do not match the types determined by format string, you must change the output types before the VI can run.

If you do not directly wire a block diagram constant to format string, LabVIEW checks for type mismatches at run time. If you want to scan values that have data types other than double-precision, floating point, you must wire the data types to default 1..n.

When you use the match characters not in set format specifier (%[^...]), which is used frequently to read an entire string, the matched character(s) are left in the file stream. %[^\n\r] matches an entire line of text, but the carriage return and new line are left behind. To remove these characters, use %[^\n\r]\n\r.

Note  By default, this function is locale aware, which means that it uses the system decimal separator configured in the regional settings of the operating system. In some instances, such as using GPIB instruments on European operating systems, you may need to override the system decimal separator by using the localization code syntax elements.

Examples of Formatting Strings

input stringformat stringdefault(s)output(s)remaining string
abc, xyz
12.3+56i 7200
%3s, %s%f%2dabc00
xyz
0+00i12.3+56i
72
Q+1.27E–3 tailQ%f t1.27E–3ail
0123456789%3d%3d126789
345
X:9.860 Z:3.450X:%fY:%f100 (I32)10Z: 3450
100.00 (DBL)100.00
set49.4.2set%d49.4.2
color: redcolor: %sblue (enum {red, green, blue})red
abcd012xyz3%[a-z]%d
%[a-z]%d
abcd
12
xyz
3
welcome to LabVIEW, John Smith%[^,],%swelcome to LabVIEWSmith
John

Example

Refer to the Format Into-Scan From File VI in the labview\examples\general\functions\File IO directory for an example of using the Scan From File function.


Resources


 

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
Add Comments 1 2 3 4 5 submit