---
url: /statelake/scripting-reference/data-types/enumerations/tfieldtype.md
---

# TFieldType

Identifies the data type of a field.

It is used in the field class **Field.FieldType**.

Used by the **Statelake** core to manage data values to and from various data destinations and sources.

**Declaration**: TFieldType = keyword;

An example of its use follows.

```pascal
procedure OnMapEvent(var Value:Variant);
begin
 if Dataset['myfield'].FieldType = ftInteger then
    Value := Dataset['myfield'].AsInteger;
end;
```

This example tests whether the result is an integer.

But there are many options to check for, as listed below with their associated ordinal value (0-based).

## Keyword Order

ftADT (26), ftArray (27), ftAutoInc (14)

ftBCD (8), ftBlob (15), ftBoolean (5), ftBytes (12)

ftCurrency (7), ftCursor (22)

ftDataSet (29), ftDate (9), ftDateTime (11), ftDBaseOle (20)

ftFixedChar (23), ftFixedWideChar (38), ftFloat (6), ftFMTBcd (37), ftFmtMemo (18)

ftGraphic (17), ftGuid (35)

ftIDispatch (34), ftInteger (3), ftInterface (33)

ftLargeint (25)

ftMemo (16)

ftOraBlob (30), ftOraClob (31), ftOraInterval (41), ftOraTimeStamp (40)

ftParadoxOle (19)

ftReference (28)

ftSmallint (2), ftString (1)

ftTime (10), ftTimeStamp (36), ftTypedBinary (21)

ftUnknown (0)

ftVarBytes (13), ftVariant (32)

ftWideMemo (39), ftWideString (24), ftWord (4)

## Ordinal Value Order

ftUnknown, ftString, ftSmallint, ftInteger, ftWord, // 0..4

ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, // 5..11

ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, // 12..18

ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString, // 19..24

ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob, // 25..31

ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd, // 32..37

ftFixedWideChar, ftWideMemo, ftOraTimeStamp, ftOraInterval; // 38..41
