Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Force 4.0 Reference - logicaltosegoff() poke a logical value into a segment/offset address http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 logicaltosegoff()   Poke a logical value into a segment/offset address
------------------------------------------------------------------------------
 Declaration
   memory.hdr

 Syntax
   proc logicaltosegoff extern
   param value logical lValue, ;
         value uint    uSegment, ;
         value uint    uOffset

 Arguments
   lValue is the value to place in memory.
   uSegment is the target segment address.
   uOffset is the target offset address.

 Return
   None.

 Description
   This procedure copies a logical value into the specified memory location.

   The procedure is included for compatibility with earlier Force versions.
   Use the ptr() data type in conjunction with the & and * operators for
   directly writing to explicit memory addresses.

 Example
   #define EXAMPLE_MEMORY
   #include example.hdr

   proc Test_logicaltosegoff
   vardef
      ptr( logical ) pMem     // pointer
      uint        nSeg, nOff  // segment and offset
   enddef
   pMem := malloc( 1000 )     // allocate working space
   splitptr( nSeg, nOff, pMem ) // obtain segment and offset values
   ? *pMem                    // prints accidental value
   logicaltosegoff( .f., nSeg, nOff ) // write a logical to memory via function call
   ? *pMem                    // prints .f.
   *pMem := .t.               // write a logical to memory via pointer
   ? *pMem                    // prints .t.
   free( pMem )               // free allocation
   endproc

   proc main
   Test_logicaltosegoff()
   endproc

See Also: logicaltoptr()

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson