Commodore‎ > ‎BASIC‎ > ‎Keywords‎ > ‎

CLOSE

Keyword Abbreviation Token (hex) Version(s) Classification
CLOSE CL{Shift+O} A0 1.0+ Command and Statement

  Syntax   
CLOSE fileNumber [ , deviceNumber [ , flags [ , commandString ] ] ]
 
Parameters Type Legal Value(s) Default Value Note(s)
fileNumber Unsigned Byte  0 to 255  
Should be a previously OPEN'd file#
deviceNumber Unsigned Byte  0 ~ 255 
ignored 
flags Unsigned Byte 0 ~ 255 
ignored
commandString String
0 ~ 255 chars
ignored
 
 
  Purpose  
Close an open "file".
 
  Remarks  
The CLOSE statement should be used after all communication has ended following a previous OPEN.  For most devices, CLOSE will flush any buffer.
 
Failure to use CLOSE often results in corrupt "files" due to the final bytes (whatever is buffered) not being flushed.  Note the BASIC command CLR (which is called by NEW, RUN, and in direct mode, (D)LOAD) commits this dangerous mistake!
 
The deviceNumber, flags, and commandString can have any value of the appropriate type.  They are (generally) ignored.  However, if their type is wrong, a TYPE MISMATCH ERROR is generated, and otherwise if the values are not legal (see table above) an ILLEGAL QUANTITY ERROR occurs.
 
CLOSE will silently "succeed" if fileNumber refers to a file that was never opened.
 
If the fileNumber refers to an RS-232(C) device of a previous OPEN statement (regardless of this statement's deviceNumber) then any/all character(s) buffered for output will be "lost"; you have to check a secret variable to determine if the transmit buffer is empty (see ST).  CLOSE will also de-allocate RS-232(C) buffers on most systems.
 
Most printers (both IEEE/IEC bus and RS-232) buffers data by line.  You often need to use an "empty" PRINT# to flush the line they have buffered.
 
Examples:
CLOSE 1

READY.
CLOSE 2,-17

?ILLEGAL QUANTITY ERROR
READY.
CLOSE 2, 17

READY.
OPEN 4,4  : CMD 4 : REM prepare printer to receive 'direct output'
LIST      : REM list program to printer
PRINT #4  : REM flush last line

READY.
CLOSE 4

READY.
 
  Compare With  
 
  Contrast With  
  See Also  

© H2Obsession, 2014
Comments