1
// define this if you need more SPEEEEEDDDD!!!
2
// useful if you index dbf files over a network
6
// enables assembler routines, 486+ only
8
{$define USE_ASSEMBLER_486_UP}
12
{.$define TDBF_UPDATE_FIRSTLAST_NODE}
14
// use this to enable the lookup function which is still buggy
16
{.$define USE_BUGGY_LOOKUP}
18
// use this directive to suppress math exceptions,
19
// instead NAN is returned.
20
// Using this directive is slightly less efficient
24
// NAN support needs to be rewritten and is currently absent
28
//------------------------------------------------------
29
//--- Define all SUPPORT_xxx; undef if not supported ---
30
//------------------------------------------------------
33
//------------------------------------------------------
34
//--- Delphi versions ---
35
//------------------------------------------------------
38
{$ifdef VER80} // Delphi 1.0
39
#ERROR tDbf needs Delphi or C++ Builder 3 minimum.
42
{$ifdef VER90} // Delphi 2.0
43
#ERROR tDbf needs Delphi or C++ Builder 3 minimum.
46
{$ifdef VER93} // is BCB++ 1.0
47
#ERROR tDbf needs Delphi or C++ Builder 3 minimum.
50
{$ifdef VER100} // Delphi 3
54
{$ifdef VER110} // CBuilder 3
58
{$ifdef VER120} // Delphi 4
63
{$ifdef VER125} // C++ BUILDER 4
68
{$ifdef VER130} // Delphi 5
74
{$ifdef VER135} // C++ Builder 5 ??
80
{$ifdef VER140} // Delphi 6
87
{$ifdef VER145} // C++ Builder 6
94
{$ifdef VER150} // Delphi 7 :-) For once I am not late (12/07/2001)
102
{$ifdef VER155} // C++ Builder 7
110
//-------------------------------------------------------
111
//--- Conclude supported features from delphi version ---
112
//-------------------------------------------------------
116
{$define SUPPORT_VARIANTS}
120
{$define SUPPORT_DEFCHANGED}
121
{$define SUPPORT_DEFAULT_PARAMS}
122
{$define SUPPORT_NEW_TRANSLATE}
123
{$define SUPPORT_INT64}
124
{$define SUPPORT_REINTRODUCE}
125
{$define SUPPORT_FIELDDEFS_UPDATED}
126
{$define SUPPORT_FIELDDEF_ATTRIBUTES}
127
{$define SUPPORT_FIELDDEF_TPERSISTENT}
128
{$define SUPPORT_FIELDDEF_INDEX}
129
{$define SUPPORT_FIELDTYPES_V4}
130
{$define SUPPORT_UINT32_CARDINAL}
134
{$define SUPPORT_BACKWARD_FIELDDATA}
135
{$define SUPPORT_NEW_FIELDDATA}
136
{$define SUPPORT_INITDEFSFROMFIELDS}
137
{$define SUPPORT_DEF_DELETE}
138
{$define SUPPORT_FREEANDNIL}
142
{$define SUPPORT_PATHDELIM}
149
//------------------------------------------------------
150
//--- Conclude supported features in FreePascal ---
151
//------------------------------------------------------
159
{$undef USE_ASSEMBLER_486_UP}
162
{$ifndef FPC_LITTLE_ENDIAN}
163
{$message error TDbf is not compatible with non little-endian CPUs. Please contact the author.}
166
{$ifdef USE_ASSEMBLER_486_UP}
170
{$define SUPPORT_INT64}
171
{$define SUPPORT_DEFAULT_PARAMS}
172
{$define SUPPORT_NEW_TRANSLATE}
173
{$define SUPPORT_NEW_FIELDDATA}
174
{$define SUPPORT_FIELDDEF_TPERSISTENT}
175
{$define SUPPORT_FIELDTYPES_V4}
176
{$define SUPPORT_UINT32_CARDINAL}
177
{$define SUPPORT_REINTRODUCE}
179
// FPC 1.0.x exceptions: no 0/0 support
182
{$undef SUPPORT_DEFAULT_PARAMS}
183
{$undef SUPPORT_NEW_TRANSLATE}
185
{$message error TDbf needs fpc 1.9 minimum.}
191
//----------------------------------------------------------
192
//--- Conclude supported features in non-Win32 platforms ---
193
//----------------------------------------------------------
197
{$define SUPPORT_PATHDELIM}
198
{$define SUPPORT_INCLUDETRAILPATHDELIM}
199
{$define SUPPORT_INCLUDETRAILBACKSLASH}