FileInput - Reading Files

<< Click to Display Table of Contents >>

Navigation:  Reference (Scripting) > FileInput / FileOutput Objects for Reading and Writing Files >

FileInput - Reading Files

The global FileInput object provides an easy interface to process existing files, e.g. for transmitting them on the serial line using additional checksums and formatting.

 

Methods and properties available for FileInput:

 

Method / Property

Description

FileInput.OpenFile filePathName

[, rawData]

Opens an existing file for input.

rawData = False (default): Open as a text file.

rawData = True: Open as a raw binary data file.

FileInput.CloseFile

Closes the file.

result = FileInput.GetLine()

Returns a string with the next line of text. result does not contain the line break characters (CR / LF).

The GetLine method can only be used for text files (rawData = False).

result = FileInput.GetByte()

Returns the next byte.

result = FileInput.IsOpen

Returns True if a file is open, False if not.

 

result = FileInput.EndOfFile

Returns True, if all data has been read and the end-of-file mark has been reached.

 

result = FileInput.Dialog([caption,] [defaultPath])

Shows a "File Open" dialog and return the chosen file path, or an empty string, if aborted.

result = FileInput.FileExists(filePath)

Returns True, if filePath exists.

 

Remarks

 

See also the FileOutput object.

 

Example

 

' FileInput / FileOutput example

 

DL.ClearCommWindows

 

' Create a simple text file

FileOutput.CreateFile "C:\test.txt"

FileOutput.WriteLine "Hello World!"

FileOutput.WriteLine "Goodbye, World!"

FileOutput.CloseFile

 

' Open the file and print its contents

DL.AddComment "Reading text file..."

FileInput.OpenFile "C:\test.txt"

Do Until FileInput.EndOfFile

       DL.AddComment FileInput.GetLine()

Loop

FileInput.CloseFile

 

' Now try a raw data file

FileOutput.CreateFile "C:\test.bin", True

For i = 0 To 255

 FileOutput.WriteByte i

Next

FileOutput.CloseFile

 

' And load it...

DL.AddComment

DL.AddComment "Reading raw data file..."

FileInput.OpenFile "C:\test.bin", True

Do Until FileInput.EndOfFile

       DL.AddComment Right("0"+Hex(FileInput.GetByte()),2) + " ", False, False

Loop

FileInput.CloseFile

 

The above script code produces the following output in the Docklight communication window:

 

Reading text file...

Hello World!

Goodbye, World!

 

Reading raw data file...

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16

17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D

2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44

45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B

5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72

73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89

8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0

A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7

B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE

CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5

E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC

FD FE FF