[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
  XPica()
  Acces the Intra-Application Communications Area (ICA)
------------------------------------------------------------------------------

   Function:   XPica()

               This Function enables Access to the sixteen
               bytes at RAM adres: 0040:00F0h. These sixteen
               bytes, called the Intra-Application Communications
               Area (ICA) can be used by any program for any
               purpose. Usually it is used to pass data between
               two or more programs. Not many programs use this area.
               If you wish to use this area, make sure checksums and
               signatures are used to insure the reliability of your
               data, since another program may also decide to use
               this area.

               The ICA remains active while the computer is powered-On,
               thus also when you want QUIT yout Application, or shell.
               One program known to me using this Area was the TM program
               from the Norton Utilities package.

   Syntax:     XPica([cNewICA])  --> cICA

   Arguments:  cNewICA is the new data to enter at the ICA.
               It's advised to always write exactly 16 bytes (less is
               accepted, more bytes will be truncated to 16). if you want
               to check the data written, you may use XPcheckSum() on, say,
               14 bytes and write the checksum of the 14 bytes as the 1st 2
               bytes of the ICA.

   Returns:    the 16 bytes of the ICA. When info is written to it,
               it is also immediately returned, in contrast to many other
               Clipper functions.

   Usage:      * - let's write var cInfo with a check.
               cInfo := Padr(cInfo,14)                // Make it 14 bytes
               XPica(i2bin(XPcheckSum(cInfo))+cInfo)  // Write cInfo

               * - And now, Read it back with Check..
               cInfo := XPica()                       // Read ICA
               nChk := Bin2i(cInfo)                   // get Checksum
               cInfo := SubStr(cInfo,2)               // 14 bytes
               if nChk <> XPcheckSum()                // check checkSum
                  Return ("")
               else
                  Return (cInfo)
               end

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson