Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
3.1 file input and output
1. Microsoft® Small Basic File Input and Output Estimated time to complete this lesson: 1 hour
2. File Input and Output In this lesson, you will learn about: Using different properties of the File object. Using different operations of the File object.
3. The File Object The File object includes various operations and properties, such as: With the help of the File object in Small Basic, you can access information from a file stored on your computer. You can also read and write information from and to the file. A computer file is a collection of data stored by your computer. Small Basic programming allows you to work with external files from your program. CreateDirectory WriteLine AppendContents CopyFile GetFiles DeleteDirectory GetDirectories ReadContents LastError
4.
5. Operations of the File Object Let’s write a program to gain better understanding of these operations. In this example, you specify a file path and use the WriteLineoperation to write a sentence to the file. Next, you use the AppendContents operation to add a sentence to the existing content. Finally, you use the ReadContents operation to read the entire contents of the file. output
6.
7. Operations of the File Object Let’s write a program to better understand these operations. output In this example, you use the CopyFile operation to copy the specified source file to the specified destination. You also specify the directory path, and then use the GetFilesoperation to display the path of all files in the output window.
8.
9. Operations of the File Object Let’s see how we can apply these operations… output As you see, you first use the CreateDirectory operation to create a directory. Next, you use the GetDirectories operation to get the path of the all the directories present in the specified location.
10. The LastError Property With the help of the LastError property, you can get details of the last file-operation-based error in your program. This property is quite useful when you can’t execute a file operation in your program because of some error. In this example, you use the WriteLine operation of the File object to write text to the file at a specific line number. Next you use the LastErrorproperty of the File object to get the details of the actual error in the program, if any. output
11. Let’s Summarize… Congratulations! Now you know how to: Use different properties of the File object. Use different operations of the File object.
12.
13. Download a file from the network and copy it to the created directory.
Using the File object, you can also save and open settings across various sessions of your program.
If the WriteLine operation is successful, it displays “SUCCESS” in the output window; otherwise, it displays “FAILED”. It will overwrite the previously written content on the specified line. Likewise, if the AppendContents operation is successful, it displays “SUCCESS” in the output window; it displays “FAILED” if unsuccessful. The ReadContents operation is faster when the size of the file is less than 1 MB. The operation slows down as the size of the file increases—especially for files larger than 10 MB. It displays the entire contents of the specified file on the output window.Code:Writeline:File.WriteLine("C:Small Basic.txt", 1, "Hello")AppendContents:File.AppendContents("C:Small Basic.txt","Take Care")ReadContents:File.ReadContents("C:Small Basic.txt”)
Code:FilePath = "C: empTempSubdirectorymy.txt"TextWindow.WriteLine("Write Content = " + File.WriteLine(FilePath, 1, "Shakespeare was a great writer."))TextWindow.WriteLine("Append Content = " + File.AppendContents(FilePath, "He wrote many plays."))TextWindow.WriteLine("Read Content = " + File.WriteLine(FilePath))
Code:FilePath = "C: empTempSubdirectmy.txt"TextWindow.WriteLine("Write Line Operation: " + File.WriteLine(FilePath, 1, "How are you?"))If File.LastError = "" ThenTextWindow.WriteLine("Operation Successful")ElseTextWindow.WriteLine(File.LastError)EndIf
Please Note: The file must exist at the specified network path for the solution to work.Solution:TextWindow.Write("Enter the name of the new directory: ")DirectoryName = TextWindow.Read()File.CreateDirectory(DirectoryName)filepath = "\mum-9785smShareFileIO.txt"downloadpath = Network.DownloadFile(filepath) If File.CopyFile(downloadpath, DirectoryName) = "SUCCESS" Then TextWindow.WriteLine("File has been downloaded from the network and copied to: " + DirectoryName) files = File.GetFiles(DirectoryName) TextWindow.WriteLine("This is the content in the file: ") TextWindow.WriteLine(File.ReadContents(files[1])) TextWindow.Write("Enter data to be added in the file:")AppendedData = TextWindow.Read()File.AppendContents(files[1]," " + AppendedData)TextWindow.WriteLine("File content after adding data is as follows: ") TextWindow.WriteLine(File.ReadContents(files[1])) EndIf