[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 DISKREADYW()
 Queries whether you can write to a drive
------------------------------------------------------------------------------
 Syntax

     DISKREADYW([<cDriveId>]), [<lDOS/BIOS>]) --> lDiskReady

 Arguments

     <cDriveId>  Designates which drive designator (A, B, C, etc.) to
     query.  The default value is the current disk drive.

     <lDOS/BIOS>  This logical parameter allows you to specify whether
     you want to query the function through the BIOS (.F.) or DOS (.T.).  The
     default is described in the Description below.

 Returns

     DISKREADYW() returns .T. when you query a drive that is operational and
     can be written to.

 Description

     As with DISKREADY(), this function determines if a drive is ready to
     use.  DISKREADYW() also determines if you can write to a drive.
     DISKREADY() cannot tell if a disk has a write-protect marker on it.  In
     this case, drive A: might be ready, but you could not write to it.  Use
     this function to build write-protect detection for important disks into
     the program.

 Network Drives 

     In general, drives mapped within networks are viewed by the function as
     accessible and return .T. as a result.  For a disk, "accessible" means
     you can create, open, and delete files.  You can clearly differentiate
     these rights within networks such as Novell NETWARE.  Therefore, you
     must test for these accordingly.

 DOS or BIOS 

     In the simplest case, this function always tests the respective drive
     through DOS.  If drive B: is unavailable, the message  "Please insert
     disk in drive B:" is output from the operating system.  When you test
     floppy drives drive A: and B:, the BIOS route is recommended, since no
     message is output.  In any event, A: and/or B: can be mapped drives
     within a network.  Use the following logical expression to cover all the
     previous situations:

     (NETDISK(<cDrive>) .OR. <cDrive> >= "C")

     This logical expression returns .T. when the respective drive is either
     on the network or has a drive identifier of C: or higher.

 Note

     .  Research indicates work in the OS/2 compatibility box must be
        in the BIOS mode.

 Example

     Determine if you can write a file to A: drive:

     IF DISKREADY("A")
        IF NETDISK ("A")
           IF NNETRIGHTS ("A:\")      // complete path
           * ...
           ENDIF
        ELSE
           IF DISKREADYW("A")
           ? "Disk is not write protected!"
           ELSE
           ? "Disk is write protected!"
           ENDIF
        ENDIF
     ELSE
        ? "Disk drive not ready!"
     ENDIF


See Also: DISKREADY()
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson