CT_FILEAPPEND

 FILEAPPEND()
 Appends data to a file

 Syntax

     FILEAPPEND(<cSourceFile>, <cTargetFile>)
        --> nAttachedByte

 Arguments

     <cSourceFile>  Designates the file that is appended to
     <cTargetFile>.

     <cTargetFile>  Designates the file to which <cSource> is appended.
     Drive and path designation are permitted for both files, wildcards are
     not.

 Returns

     FILEAPPEND() returns the number of characters appended on to
     <cTargetFile>.

 Description

     FILEAPPEND() takes fragmented files, split them up on different floppies
     and reassemble them.  This sort of fragmented file could be created with
     the FILECOPY() system described in this chapter.  You only need explicit
     information, such as VOLUME labels, to recognize the different disks.
     If the target file does not exist, it is created with FILEAPPEND().  If
     an error occurs while appending to the target file, the file deletes
     completely to avoid accidental and incorrect results.

     Never append data to file if there is no backup copy.

 Notes

     .  Use SETFCREATE(), if FILEAPPEND() creates a new file and an
        alternative attribute needs to be specified.

     .  Use SETSHARE() to protect a target file from access, if it is
        on a network drive.

 Examples

     Shown below is a simplified program to reassemble a file that is divided
     among several disks by a FILECOPY() backup.

     A catalog contains a list of the disks used during backup in the form of
     volume labels and backup file names.

     Structure of the DISKLIST catalog:

     Table 7-10: DISKLIST File Structure
     ------------------------------------------------------------------------
     Field Name     Field Content
     ------------------------------------------------------------------------
     VolLabel       Back up disk drive and volume label
     BackupName     Back up file name, incl. drive and path
     ------------------------------------------------------------------------

     The data in DISKLIST is created by a FILECOPY() backup:

     USE DISKLIST                                 // Saved volume labels
     cTargetFile  :=  "C:\TARGET.TXT"
     DO WHILE .NOT. EOF()
        IF .NOT. EMPTY(FILESEEK(cVolLabel, 8)     // Correct disk ?
           FILEAPPEND(cBackupName, cTargetFile)   // Yes, append data
           SKIP
        ELSE
           ? "Please insert the correct disk  !"
        ENDIF
     ENDDO

See Also: FILECOPY() FILESEEK() SETSHARE() SETFCREATE() CSETSAFETY()

Tools — Disk Utilities

Introduction Disk Utilities
DELETEFILE() Deletes an error-tolerant file
DIRCHANGE()  Changes the current directory
DIRMAKE()    Creates a directory
DIRNAME()    Determines the name of the current directory
DIRREMOVE()  Removes a directory
DISKCHANGE() Changes the current disk drive
DISKCHECK()  Creates a checksum for a disk
DISKFORMAT() Formats disks, controlled through a UDF
DISKFREE()   Determines the space available on a floppy or hard disk
DISKNAME()   Determines the drive designator for the current drive
DISKREADY()  Tests to see if a disk drive is ready
DISKREADYW() Queries whether you can write to a drive
DISKSPEED()  Determines a comparison value for the drive speed
DISKSTAT()   Determines the status of a drive.
DISKTOTAL()  Determines the total capacity of a floppy or hard disk
DISKTYPE()   Determines the type of data carrier
DRIVETYPE()  Determines the drive type
FILEAPPEND() Appends data to a file
FILEATTR()   Determines a file's attributes
FILECCLOSE() Closes a file after backup mode
FILECCONT()  Copies sections of a file in backup mode
FILECDATI()  Determines which date the target file contains with FILECOPY()
FILECHECK()  Calculates/computes/determines a checksum for a file
FILECOPEN()  Tests to see if the file is still open in the backup mode
FILECOPY()   Copies files normally or in backup mode
FILEDATE()   Determines the file date
FILEDELETE() Deletes file(s) by name and attribute
FILEMOVE()   Moves files to another directory
FILESEEK()   Searches for files by name and attribute
FILESIZE()   Determines the size of a file
FILESTR()    Reads a portion of a file into a string
FILETIME()   Determines a file's time
FILEVALID()  Tests whether a string has a valid file name
FLOPPYTYPE() Determines the exact type of floppy drive
GETSHARE()   Determines the file open (share) mode
NUMDISKF()   Determines the number of installed disk drives
NUMDISKH()   Determines the number of hard disks
NUMDISKL()   Determines the number of available logical drives
RENAMEFILE() Fault tolerant renaming of a file.
RESTFSEEK()  Restores the FILESEEK environment
SAVEFSEEK()  Saves the current FILESEEK environment
SETFATTR()   Sets a file's attributes
SETFCREATE() Default attribute for creating with CA-Clipper Tools functions
SETFDATI()   Sets the date and time of a file
SETSHARE()   Sets default opening mode for CA-Clipper Tools file functions
STRFILE()    Writes a string to a file
TEMPFILE()   Creates a file for temporary use
TRUENAME()   Standardizes the path designation
VOLSERIAL()  Determines the DOS disk serial number
VOLUME()     Establishes a volume label for a floppy or hard disk