PWB Extensions Help (ext.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
Using Files in Extensions
                                             Up Contents Index Back
─────PWB Extensions─────────────────────────────────────────────────────────
 
     Files must be accessed through the PWB internal file system rather
     than through the DOS file system. A buffer containing the text of
     the file is maintained for each open file. In order to do any
     operation on a file buffer, you must have the handle of the file
     buffer. PWB file handles have PFILE type.
 
     The constant PNULL is defined as a null file pointer. PNULL is not
     the same as NULL. You will get compiler warnings if you use NULL
     for file functions that return null or take null arguments.
 
     You can get the handle (PFILE) of a file if you have one of the
     following:
 
     File name         This can be a partial or complete specification
                       according to MS-DOS rules. There are shortcut
                       defaults for getting the handle of the current
                       file. Use FileNameToHandle or GetEditorObject for
                       open files, and AddFile for new files.
 
     Short name        This is a base name only maintained for open
                       files. Use FileNameToHandle.
 
     Access number     For example, the third most recently accessed
                       file has number 3. Use GetEditorObject.
 
     The cycle for opening, processing, and closing a file is:
 
       1. Open new buffer with AddFile or get handle of existing buffer
          with FileNameToHandle.
 
       2. Read the contents of disk file into memory or initialize a
          pseudofile with FileRead.
 
       3. Set file flags with SetEditorObject.
 
       4. Process text in the file.
          See Processing Text
 
       5. Save by writing buffer to disk with FileWrite.
 
     To open a file and make it the current file in one step, use
     fSetWindowWithFile.
 
     Deleting a file can mean several things, depending upon the task
     you want to perform:
 
       1. You can delete the text in an open file buffer with DelFile.
          You may want to do this to clear a work file (such as a
          pseudofile) for reuse.
 
       2. You can remove a file buffer from the list of open files with
          RemoveFile. This is seldom necessary.
 
       3. You can delete a file from the disk. PWB provides no callback
          to do this, but you can call the operating system directly.
 
     Other common file operations include:
 
     Task                                          Callback Function
 
     Display or edit a file in a pop-up box        PopUpBox
     Get the number of lines in a file             FileLength
     Process files matching a wildcard pattern     ForFile
     Get information about a file                  GetEditorObject
     Set various attributes of a file              SetEditorObject
                                    -♦-