Ну, для ценителей шашечек можно
## Код:
```
PROCEDURE (f: File) Flush;
  VAR i: INTEGER;
BEGIN   
  (* portable *)
  i := 0; WHILE i # nofbufs DO FlushBuffer(f, i); INC(i) END
  (* nonportable *)
  WinApi.FlushFileBuffers(f.ref);
END Flush;
```

или даже

## Код:
```
PROCEDURE FlushFile(f: File);
  VAR i: INTEGER;
BEGIN   
  WinApi.FlushFileBuffers(f.ref);
END Flush;

PROCEDURE (f: File) Flush;
  VAR i: INTEGER;
BEGIN   
  (* totally portable *)
  i := 0; WHILE i # nofbufs DO FlushBuffer(f, i); INC(i) END
  FlushFile(f);
END Flush;
```
