guides:programming:programmers_reference_manual:osbwrite

OSBWrite statement

Writes data into a previously opened operating system file, beginning at a specified point in the file. The file must have been opened using the OSOpen statement.

OSBWrite expression On | To filevar At byte

The OSBWrite statement has the following parameters.

ParameterDescription
ExpressionIdentifies the data to be written to the operating system file.
FilevarThe variable to which the operating system file was assigned when it was opened with the OSOpen statement.
byteAn integer that specifies the byte position in the operating system file where the write will begin. A 0 (zero) indicates the write should start at the beginning of the file.

Note: OSBWrite does not refer to length. The number of bytes written is the same as the number of bytes in expression.

After the execution of an OSBWrite statement, the Status() of the write is returned, with one of the following codes:

ValueMeaning
0No error.
1Bad OS filename.
2Access denied by operating system.
3Disk or directory full.
4File does not exist.
5Unknown error.
6Attempt to write to a read-only file.

Note: There is no Then…Else statement for OSBWrite.

/* 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
  • guides/programming/programmers_reference_manual/osbwrite.txt
  • Last modified: 2024/06/19 20:20
  • by 127.0.0.1