Release 10.1A: OpenEdge Development:
Progress 4GL Reference

> ## PUT-DOUBLE statement

> Stores the 8-byte floating-point value of a DECIMAL expression at the specified memory location.

> #### Syntax

>     PUT-DOUBLE ( destination , position ) = expression

> ``destination``

> A variable of type RAW or MEMPTR. If `destination` is the Unknown value (`?`), it remains the Unknown value (`?`). If `destination` is a MEMPTR and has not had its region allocated (by a SET-SIZE statement or by a Windows dynamic link library (DLL) or UNIX shared library routine), Progress generates a run-time error.

> ``position``

> An INTEGER value greater than 0 that indicates the byte position where Progress stores `expression`. If `position` is less than 1, Progress generates a run-time error.

> For a RAW `destination`, if`position` is greater than the length of `destination`, Progress increases the length of `destination` to `position` plus the remaining bytes needed to store `expression`. The gap between the original `destination` length and `position` is padded with null bytes.

> For a MEMPTR `destination`, if `position` is greater than the length of `destination` or does not leave sufficient room to store `expression`, Progress generates a run-time error.

> ``expression``

> The DECIMAL value of a constant, field, variable, function, or expression.

> Example

> For examples of how to use the PUT-DOUBLE statement, see the PUT-BYTE statement reference entry.

> #### Notes

> - This statement supports byte-swapping only if `destination` is a MEMPTR data type. The statement will first examine the byte-order setting of the MEMPTR and then swap the bytes appropriately while putting the data into the MEMPTR memory.

> - For more information on accessing DLL routines from Progress, see OpenEdge Development: Programming Interfaces .

> #### See also

> GET-DOUBLE function, LENGTH function, LENGTH statement, RAW function, RAW statement, SET-SIZE statement

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095