Hallo Eddy
Ist mein Fehler, dass ich Deine Source zuwenig genau angesehen habe.
Die Daten werden natürlich nicht in FieldDefs zurückgegeben, sondern in Fields! Also folgender Code habe ich getestet und der hat funktioniert:
Code:
var
xInd : integer;
xFld : TField;
begin
for xInd := 0 to Table1.Fields.Count-1 do
begin
xFld := Table1.Fields[xInd];
case xFld.DataType of
ftFloat :
TFloatField(xFld).DisplayFormat := '#,##0.000';
end;
end;
xFld musst Du natürlich nicht unbedingt definieren. Kannst an dessen Stelle auch einfach Table1.Fields[xInd] einsetzen. Ich definiere jedoch meistens eine lokale Variable für solche Sachen, was zwei Vorteile hat:
Erstens ist das Auslesen aus der Liste etwas langsamer als das einmalige übergeben an eine Variable, wenn diese Variable mehrmals benötigt wird.
Und zweitens kannst Du im Debugger besser die Werte prüfen.
Gruss
Xaver