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] [, fileFilter])

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

The default value for fileFilter is:

All Files (*.*)|*.*

result = FileInput.FileExists(filePath)

Returns True, if filePath exists.

 

Remarks

 

When a file cannot be opened FileInput.OpenFile creates an error and script execution stops. Use FileInput.FileExists to check if the file is available.

 

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

path = FileInput.Dialog("Open a text for Docklight", "C:\", "Text Files (*.txt)|*.txt")

If Len(path) > 0 Then

    DL.AddComment "Reading text file..."

    FileInput.OpenFile path

    Do Until FileInput.EndOfFile

        DL.AddComment FileInput.GetLine()

    Loop

    FileInput.CloseFile

End If

 

' 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:

 

Create text file C:\test.txt

Reading text file: C:\test.txt

Hello World!

Goodbye, World!

Create binary data file C:\test.txt

 

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