LONG (four-byte signed integer)

Top  Previous  Next

 

label

LONG([initial value])

[,DIM( )] [,OVER( )] [,NAME( )] [,EXTERNAL] [,DLL] [,STATIC]

 

 

[,THREAD] [,AUTO] [,PRIVATE] [,PROTECTED]

 

LONG

A four-byte signed integer.

 

Format: ± magnitude

| |................... |

Bits: 31 30 0

Range: -2,147,483,648 to 2,147,483,647

 

initial value

A numeric constant. If omitted, the initial value is zero, unless the AUTO attribute is present.

DIM

Dimension the variable as an array.

OVER

Share a memory location with another variable.

NAME

Specify an alternate, "external" name for the field.

EXTERNAL

Specify the variable is defined, and its memory is allocated, in an external library. Not valid within FILE, QUEUE, or GROUP declarations.

DLL

Specify the variable is defined in a .DLL. This is required in addition to the EXTERNAL attribute.

STATIC

Specify the variable's memory is permanently allocated.

THREAD

Specify memory for the variable is allocated once for each execution thread. Also implicitly adds the STATIC attribute on Procedure Local data.

AUTO

Specify the variable has no initial value.

PRIVATE

Specify the variable is not visible outside the module containing the CLASS methods. Valid only in a CLASS.

PROTECTED

Specify the variable is not visible outside base CLASS and derived CLASS methods. Valid only in a CLASS.

LONG declares a four-byte signed integer, using the Intel 8086 long integer format. The high-order bit is the sign bit (0 = positive, 1 = negative). Negative values are represented in standard two's complement notation.

The equivalent of a Win32 LONG in Clarion.NET is the CLALONG type. Use of LONG in Clarion.NET programs are equivalent to the INT64 .NET data type.

Example:

Count1 LONG                         !Declare four-byte signed integer

Count2 LONG,OVER(Count1)            !Declare OVER the four-byte signed integer

Count3 LONG,DIM(4)                  !Declare it an array of 4 longs

Count4 LONG(5)                      !Declare with initial value

Count5 LONG,EXTERNAL                !Declare as external

Count6 LONG,EXTERNAL,DLL            !Declare as external in a .DLL

Count7 LONG,NAME('SixCount')        !Declare with external name

ExampleFile FILE,DRIVER('Clarion')  !Declare a file

Record       RECORD

Count8        LONG,NAME('Counter')  !Declare with external name

            END

           END

 

See Also: Clarion# Data Type Comparison Chart