Do the standard procedures "read" and "write" do anything if they are called without parameters ? i.e, "read();" and "write();"
Logically, they should not do anything - there are no arguments, nothing to read/write. Actual implementation: they call the Flush function. For Input, it is not present, but for Output, it is called at the end of any Write operation. So the only possible hidden effect is that if the previous call to Write(ln) failed, Write will flush the buffer.
By the way, in Delphi, for {$IOCHECKS OFF} the code is not generated at all for Read and Write.