User Tools

Site Tools


status_return_file_status_.htm
Navigation:  Language Reference > 13 - Built-in Functions >====== STATUS (return file or window/report status) ====== Previous pageReturn to chapter overviewNext page
STATUS ( file )
window |

blk2blue.jpg

STATUS Returns the passed file, window or report status.
file The label of a FILE statement.
window The label of a WINDOW, APPLICATION, or REPORT structure, or valid built-in variables TARGET, PRINTER, or SYSTEM.

The STATUS procedure returns zero (0) if the file is not open, and the file's access mode if it is open. If the access mode is actually zero (Read Only / Any Access), 40h (Read Only / Deny None) is returned (see OPEN). If the file is threaded, STATUS is for the current thread only.

STATUS can also be used to check the state of a WINDOW or REPORT structure. If the passed WINDOW or REPORT exists and is opened, STATUS returns zero (0). If the passed WINDOW or REPORT exists but either has not been opened or has been closed, STATUS returns one (1). If the passed parameter is not a valid WINDOW or REPORT structure, STATUS returns two (2).

To simplify testing of results returned from calls to STATUS(WINDOW), the following declarations have been added to EQUATES.CLW:

WINDOW:OK EQUATE(0)

WINDOW:NotOpened EQUATE(1)

WINDOW:BadWindow EQUATE(2)

Built-in variables TARGET, PRINTER and SYSTEM can be passed as parameters to calls to STATUS(WINDOW). The function always returns WINDOW:OK if the actual parameter is PRINTER or SYSTEM.

Return Data Type:     LONG

Example:

IF STATUS(DataFile) % 16 = 0        !Opened Read-Only?

  RETURN                            !get out

ELSE                                !Otherwise

  EXECUTE DiskAction                !Write record to disk

    ADD(DataFile)

    PUT(DataFile)

    DELETE(DataFile)

  END

END

CASE STATUS(PassedLabel)            !Check parameter passed

 OF WINDOW:OK                       !if window is good, and opened

  CYCLE                             !continue

 OF WINDOW:NotOpened                !if window is good, but not opened

  OPEN(PassedLabel)                 !open it

 OF WINDOW:BadWindow                !bad window?

  MESSAGE('Invalid Window','Note:') !exit procedure

  RETURN

END

See Also:

OPEN

EXISTS

status_return_file_status_.htm.txt · Last modified: 2021/04/15 15:57 (external edit)