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