> -- Илья Ермаков писал(а):
> Первый - проще и наглядней всех остальных.
С первым вот какие проблемы.
Разных форматов - порядка 100.
Некоторые имеют поле переменной длины – наглядность теряется.
Надо тщательно следить за выравниванием.

> -- Цитата:
> А вообще говоря, обобщать нужно на уровне Writer, чтобы он принимал ANYREC, как это сделано в SqlDB.Exec и Table.
Ну, что-то в этом роде есть
## Код:
```
PROCEDURE WRec(VAR b:ARRAY OF BYTE; VAR ix: INTEGER; IN r:ANYREC);
 VAR size: INTEGER;
 BEGIN
   S.GET(S.TYP(r),size);
   S.MOVE(S.ADR(r), S.ADR(b[ix]), size); 
   INC(ix,size);
 END WRec;
```
