Description
Opens an operating system file for use with OSBRead and OSBWrite statements.
Syntax
OSOpen file To filevar Then | Else statements
Parameters
The OSOpen statement has the following parameters.
Parameter | Description |
---|---|
File | The name of the operating system file (including path, filename, and extension) to be opened. |
filevar | Identifies the variable to which the file is assigned. |
Then | Used to define a clause of statements to be executed when the OSOpen statement is successful. |
Else | Executed if the OSOpen is unsuccessful. |
Remarks
After processing, you must close the file, with OSClose.
Because the other operating system file statements, OSRead and OSWrite, read or write entire files into OpenInsight variables, they do not have to be opened (or closed).
Returns
After the execution of an OSOpen statement, the Status() of the open is returned with one of the following codes.
Value | Meaning |
---|---|
0 | No error. |
1 | Bad OS filename. |
2 | Access denied by operating system. |
3 | Disk or directory full. |
4 | File does not exist. |
5 | Unknown error. |
6 | Attempt to write to a read-only file. |
See Also
OSBRead, OSBWrite, OSClose, OSDelete, OSRead, OSWrite
Example
/* This code reads an existing OS file and copies it in 100 character chunks to a new OS file */ Equ RECSIZE$ To 100 readOffset = 0 writeOffset = 0 filename = "c:\temp\my_data.txt" newFileName = "c:\temp\my_new_data.txt" oswrite "" To newFileName ; * create the new file OSOpen filename To inputFileHandle then OSOpen newFileName To outputFileHandle Then Loop OSBRead data From inputFileHandle At readOffset length RECSIZE$ error = status() Until data = NULL$ readOffset += RECSIZE$ OSBWrite data On outputFileHandle At writeOffset writeOffset += RECSIZE$ Repeat end else error = status() end End else error = status() End osclose inputFileHandle osclose outputFileHandle