Subject | Re: [IBO] EOF BOF craziness |
---|---|
Author | Paul Hope |
Post date | 2003-09-10T08:46:56Z |
Hi Paul
Firstly - 'While not eof do next' would not be broken. In fact IBO only
gets away with this working because the loop exits after the last next and
does not attemp to process the record last pointed to.
Nextly - I dont see EOF as a state, and dont see why it should be a state.
To me EOF is a flag that says 'your last attempt at next failed because you
are at the end of the dataset'. Also the current 'state', meaning pointing
to an invalid record past the end of the dataset, does not distinguish
between an empty dataset and a full one gone off the end.
Perhaps I should propose that the current functions are renamed BBF (Before
Beginning of File) and PEF (Past End of File) and modify the BOF and EOF
source using the code in the NavBar ;-)
I give up
Regards
Paul
>I think this is _very_ confusing. And it also means that you can't useI still dont agree :-)
>Eof to test if you are on the last record. Yes, if Eof is true you are
>definitely on the last record (or in an empty set), but the reverse
>isn't necessarily true: if you are on the last record, Eof may or may
>not be true. Thus, the first sentence of the help text is misleading.
>To me, the IBO way is much, much cleaner and more consistent.
Firstly - 'While not eof do next' would not be broken. In fact IBO only
gets away with this working because the loop exits after the last next and
does not attemp to process the record last pointed to.
Nextly - I dont see EOF as a state, and dont see why it should be a state.
To me EOF is a flag that says 'your last attempt at next failed because you
are at the end of the dataset'. Also the current 'state', meaning pointing
to an invalid record past the end of the dataset, does not distinguish
between an empty dataset and a full one gone off the end.
Perhaps I should propose that the current functions are renamed BBF (Before
Beginning of File) and PEF (Past End of File) and modify the BOF and EOF
source using the code in the NavBar ;-)
I give up
Regards
Paul