Hola.
Fijate si te resulta de este modo:
Código Delphi
[-]
procedure TtuForm.FormCreate( Sender: TObject );
var
i : Integer;
begin
for i := 0 to FDQuery.FieldCount - 1 do
FDQuery.Fields[i].ReadOnly := True;
end;
procedure TtuForm.FDQueryAfterScroll( DataSet: TDataSet );
begin
FDQuery.FieldByName( 'PUNTOS' ).ReadOnly :=
not FDQuery.FieldByName( 'PUNTOS' ).IsNull; end;
No dispongo del componente
TFDQuery para corroborarlo, pero dada esta
información, el código debería hacer lo que solicitas.
Saludos