Field

Specifies field alignment.

Syntax
	KeyPgTypeType|KeyPgUnionUnion typename Field = { 1 | 2 | 4 }
		...
	End KeyPgTypeType|KeyPgUnionUnion

Description
	Field can be used to pack KeyPgTypeTypes or KeyPgUnionUnions more tightly than 
	DevStructLayoutthe default layout. The most commonly used value is Field = 1, which 
	causes the Type or Union to be packed as tightly as possible, without 
	any padding bytes being added between the fields or at the end of the 
	Type. Field can only be used to decrease field alignment, but it cannot 
	be used to increase it. In order to add padding bytes, a Union with 
	appropriate members could be used instead.

Example
	Type bitmap_header Field = 1
	   bfType          As UShort
	   bfsize          As ULong
	   bfReserved1     As UShort
	   bfReserved2     As UShort
	   bfOffBits       As ULong
	   biSize          As ULong
	   biWidth         As ULong
	   biHeight        As ULong
	   biPlanes        As UShort
	   biBitCount      As UShort
	   biCompression   As ULong
	   biSizeImage     As ULong
	   biXPelsPerMeter As ULong
	   biYPelsPerMeter As ULong
	   biClrUsed       As ULong
	   biClrImportant  As ULong
	End Type

	Dim bmp_header As bitmap_header

	'Open up bmp.bmp and get its header data:
	'Note: Will not work without a bmp.bmp to load . . .
	Open "bmp.bmp" For Binary As #1

	   Get #1, , bmp_header
	   
	Close #1

	Print bmp_header.biWidth, bmp_header.biHeight

	Sleep

Dialect Differences
	*In the CompilerOptlang-lang qb dialect, the compiler assumes Field = 1 by default, if 
	  no other Field was specified, causing all structures to be tightly 
	  packed, without added padding, as in QB.

Differences from QB
	* In QB Field was used to define fields in a file buffer at run time. 
	  This feature is not implemented in FB, so the keyword has been 
	  redefined. To define fields in a file buffer, KeyPgTypeTypes must be used.

See also
	* KeyPgTypeType
	* KeyPgUnionUnion
	* DevStructLayoutStructure packing/field alignment

