250 likes | 476 Views
File Handling. Advanced Higher Programming. What is a file?. Up until now, any stored data within a program is lost when the program closes. A file is a permanent way to store data. File Handling. Three types of file can be used for storing data Sequential Random Binary.
E N D
File Handling Advanced Higher Programming
What is a file? • Up until now, any stored data within a program is lost when the program closes. • A file is a permanent way to store data
File Handling Three types of file can be used for storing data • Sequential • Random • Binary
Sequential Files Sequential files are useful for: • Storing text • Easy implementation in programs • Where real-time editing of file(s) is not required
Random Files Random file structures are useful for • Files that require real-time editing • Storing records
Binary Files Binary Files are useful for • Storing numbers, programs and images • Where no defined file structure is present • They will not be used in this course
Sequential Files • Have a universal standard format and are used in text editors such as windows notepad • Numerical data is stored as a string e.g., 5.32 would be stored as “5.32” • They are read from start to finish and so cannot be read and written to simultaneously
Sequential Files • Data is ALWAYS written and retrieved as CHARACTERS. • Hence, any number written in this mode will result in the ASCII Value of thenumber being stored. • For Example, The Number 17 is stored as two separate characters "1" and "7".Which means that 17 is stored as [ 49 55 ] and not as [ 17 ].
“ O N E D A T ” CR EOF Sequential Files • Are like a one dimensional array • The text, ONE DAT might be stored as:
Sequential Files Files are manipulated in 3 stages: • File Open • Process File • Close File
Sequential Files File Open • If the file does not exist it is created and then opened by the operating system. • A portion of memory (RAM) is reserved by the Operating System.
Sequential Files Processing a File • When a file is open it can be written to or read from. (both in the case of random and binary files) • Writing to a file will save it to backing store.
Sequential Files Closing a file • When a file has been opened and processed it must then be closed. • The Operating system will then release the memory.
Visual Basic • VB supports all three file types, but you are only likely to use two of them • Text files • Random Access files
Using the OpenFileDialog control Dim Filename as String OpenFileDialog1.ShowDialog() Filename= OpenFileDialog1.Filename lblFilename.Text = Filename
Opening Files FileOpen(1, Filename, OpenMode.Input) ‘to read from the file FileOpen(1, Filename, OpenMode.Output) ‘to write to the file FileOpen(1, Filename, OpenMode.Append) ‘to write to the end of the file Note – 1 assigns the file the number 1. All files are identified by a number, not by their name. If you have two or more files open at once they must have different numbers.
Opening Files • The FileOpen statement opens a file if it exists. When you open a file to read from it, an error results if it does not exists. When you open a file to write to it, if it doesn’t exist FileOpen first creates it and opens it. • Filename contains the name and path of the file
Opening (creating) a Sequential File This algorithm would achieve this: • Enter Filename • Open File for writing • Input Information • Save to file • Close file
Filename= OpenFileDialog1.FileName Opening (creating) a Sequential File This algorithm would achieve this: • Enter Filename • Open File for writing • Input Information • Save to file • Close file
FileOpen(1, Filename, OpenMode.Output) Opening (creating) a Sequential File This algorithm would achieve this: • Enter Filename • Open File for writing • Input Information • Save to file • Close file
Writeline(1, DataToBeWritten) Opening (creating) a Sequential File This algorithm would achieve this: • Enter Filename • Open File for writing • Input Information • Save to file • Close file
FileClose (1) Opening (creating) a Sequential File This algorithm would achieve this: • Enter Filename • Open File for writing • Input Information • Save to file • Close file
Opening a sequential file The final code would look like: Dim Filename as string ‘File manipulation Program ‘Create File Private sub cmdCreateFile_Click() OpenFileDialog1.ShowDialog() Filename = FileDialog1.FileName FileOpen(1,Filename, OpenMode.Output) WriteLine(1,DataToBeWritten) FileClose (1) End Sub