Navigation: Language Reference > 3 - Variable Declarations > Data Types >====== ULONG (four-byte unsigned integer) ====== | |
label | ULONG([initial value]) | [,DIM( )] [,OVER( )] [,NAME( )] [,EXTERNAL] [,DLL] [,STATIC] |
[,THREAD] [,AUTO] [,PRIVATE] [,PROTECTED] |
ULONG | A four-byte unsigned integer. |
Format: magnitude
|……………….|
Bits: 31 0
Range: 0 to 4,294,967,295
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. |
ULONG declares a four-byte unsigned integer, using the Intel 8086 long integer format. There is no sign bit in this configuration.
The equivalent of a Win32 ULONG in Clarion.NET is the CLAULONG type. Use of ULONG in Clarion.NET programs are equivalent to the unsigned INT64 .NET data type.
Example:
Count1 ULONG !Declare four-byte unsigned integer
Count2 ULONG,OVER(Count1) !Declare OVER four-byte unsigned integer
Count3 ULONG,DIM(4) !Declare it an array of 4 unsigned longs
Count4 ULONG(5) !Declare with initial value
Count5 ULONG,EXTERNAL !Declare as external
Count6 ULONG,EXTERNAL,DLL !Declare as external in a .DLL
Count7 ULONG,NAME('SixCount') !Declare with external name
ExampleFile FILE,DRIVER('Btrieve') !Declare a file
Record RECORD
Count8 ULONG,NAME('Counter') !Declare with external name
END
END