11-20-2022, 08:17 PM
The example bplus provided should be sufficient. One modification I would make is adding a "filler" field adding 100 bytes or so to each record, which bloats the data file but allows adding a couple of fields later if they are needed, only by adjusting the program.
We chose QB64(PE) to do this, which remains like Q(uick)BASIC (and maybe like Turbo Pascal) about handling FLS internally. No need to worry about having to add one more character to make room for CHR$(0). In part that's why I said what I said earlier about the date delimeters: in Freebasic absolutely you would have to do without them inside a field of STRING * 10 instead of STRING * 11.
This doesn't matter for someone who has to write such a program from scratch with either programming system. But it does matter a lot to somebody who has hundreds of data files carefully preserved and maintained from using 16-bit user programs regularly, and knows nothing about programming in C. What should we do about those people that used ISAM instead? There should have been a converter from it.
We chose QB64(PE) to do this, which remains like Q(uick)BASIC (and maybe like Turbo Pascal) about handling FLS internally. No need to worry about having to add one more character to make room for CHR$(0). In part that's why I said what I said earlier about the date delimeters: in Freebasic absolutely you would have to do without them inside a field of STRING * 10 instead of STRING * 11.
This doesn't matter for someone who has to write such a program from scratch with either programming system. But it does matter a lot to somebody who has hundreds of data files carefully preserved and maintained from using 16-bit user programs regularly, and knows nothing about programming in C. What should we do about those people that used ISAM instead? There should have been a converter from it.