Puedes hacer una función genérica y llamarla desde el evento AfterPost de los TTables o TQuerys aprovechando que reciben como parámetro un Dataset
Lo pongo de cabeza y sin comprobar el funcionamiento, para que pilles la idea
Código:
procedure TForm1.CrearLog(DataSet: TDataSet);
var
i : integer;
F: TextFile;
begin
// gestión de abertura de fichero
.......
// gestión del Dataset
for i := 0 to DataSet.Fields.Count - 1 do
Writeln(F, DataSet.Fields[i].FieldName + ': ' +
DataSet.FieldByName(DataSet.Fields[i].FieldName).AsString);
// gestión de cierre fichero
.....
end;
procedure TForm1.Tabla1AfterPost(DataSet: TDataSet);
begin
CrearLog(Dataset)
end;