字段类型简单有关问题

字段类型简单问题
以下是在   DELPHI   7.0   中看到的字段类型

ftString
ftWideString
ftSmallint
ftInteger
ftWord
ftBoolean
ftFloat
ftCurrency
ftBCD
ftDate
ftTime
ftDateTime
ftTimeStamp
ftAutoInc
ftBlob
ftMemo
对以上类型还算清楚.

ftGuid 可以用   AsString   来访问吗?
ftFMTBcd 这个应该可以   AsString吧?
ftVarBytes 怎么访问?   用得多吗
ftGraphic 怎么访问?   用得多吗
ftFmtMemo 与ftMemo有啥区别?   可以用BlobStream来访问它?
ftParadoxOle 怎么访问?   有啥用呢
ftDBaseOle 怎么访问?   有啥用呢
ftTypedBinary 怎么访问?   有啥用呢
ftCursor 怎么访问?   有啥用呢
ftFixedChar 支持Unicode吗?   可以用   AsString   访问吗?
ftLargeint 可以用   AsString   访问吗?   与ftInteger有啥不同?   是不是相当于Int64
ftADT 这是什么?   怎么访问?
ftArray 数组,   什么数据库有这种类型?
ftReference 这是什么?   怎么访问?
ftDataSet 一个字段包含有DataSet?   怎么访问?
ftOraBlob 可以用   BlobStream来访问?
ftOraClob 这东西怎么访问?
ftVariant 什么数据库有这种类型?   有啥用呢?
ftInterface 有什么用?  
ftIDispatch 有什么用?


------解决方案--------------------
我的神啊!
尖端
------解决方案--------------------
唉...落后了,高人太多;
------解决方案--------------------
DefaultFieldClasses: array[TFieldType] of TFieldClass = (
nil, { ftUnknown }
TStringField, { ftString }
TSmallintField, { ftSmallint }
TIntegerField, { ftInteger }
TWordField, { ftWord }
TBooleanField, { ftBoolean }
TFloatField, { ftFloat }
TCurrencyField, { ftCurrency }
TBCDField, { ftBCD }
TDateField, { ftDate }
TTimeField, { ftTime }
TDateTimeField, { ftDateTime }
TBytesField, { ftBytes }
TVarBytesField, { ftVarBytes }
TAutoIncField, { ftAutoInc }
TBlobField, { ftBlob }
TMemoField, { ftMemo }
TGraphicField, { ftGraphic }
TBlobField, { ftFmtMemo }
TBlobField, { ftParadoxOle }
TBlobField, { ftDBaseOle }
TBlobField, { ftTypedBinary }
nil, { ftCursor }
TStringField, { ftFixedChar }
TWideStringField, { ftWideString }
TLargeIntField, { ftLargeInt }
TADTField, { ftADT }
TArrayField, { ftArray }
TReferenceField, { ftReference }
TDataSetField, { ftDataSet }
TBlobField, { ftOraBlob }
TMemoField, { ftOraClob }
TVariantField, { ftVariant }
TInterfaceField, { ftInterface }
TIDispatchField, { ftIDispatch }
TGuidField, { ftGuid }
TSQLTimeStampField, { ftTimeStamp }
TFMTBcdField); { ftTimeStamp }

分析VCL源代码可以知道点答案,强哥加油
TFMTBCDField = class(TNumericField)
private
FCurrency: Boolean;
FCheckRange: Boolean;
FMinValue: String;
FMaxValue: String;
FPrecision: Integer;
procedure BcdRangeError(Value: Variant; Max, Min: String);
procedure SetCurrency(Value: Boolean);
procedure SetMaxValue(Value: String);
procedure SetMinValue(Value: String);
procedure SetPrecision(Value: Integer);
procedure UpdateCheckRange;
protected
class procedure CheckTypeSize(Value: Integer); override;
procedure CopyData(Source, Dest: Pointer); override;
function GetAsCurrency: Currency; override;
function GetAsBCD: TBcd; override;