A tu primera pregunta:
Código:
for j:=0 to table1.fieldcount-1 do
case Table1.fields[j].DataType of
ftUnknown : TipoDato:= 'Unknown or undetermined';
ftString : TipoDato:= 'Character or string field';
ftSmallint : TipoDato:= '16-bit integer field ';
ftInteger : TipoDato:= '32-bit integer field';
ftWord : TipoDato:= '16-bit unsigned integer field';
ftBoolean : TipoDato:= 'Boolean field';
ftFloat : TipoDato:= 'Floating-point numeric field';
ftCurrency : TipoDato:= 'Money field';
end
Saludos