storing_20structures_20in_20files
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| storing_20structures_20in_20files [2018/04/17 18:58] – Added syntax highlighting tbest3112 | storing_20structures_20in_20files [2024/01/12 22:46] (current) – Add generic code (e.g. for BBCTTY) richardrussell | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| =====Storing structures in files===== | =====Storing structures in files===== | ||
| - | //by Richard Russell, July 2006//\\ \\ BBC BASIC for Windows | + | //by Richard Russell, July 2006//\\ \\ BBC BASIC does not provide any built-in means of writing entire data structures to a file and reading them back again. Ideally it would be nice if one could say **" |
| + | BB4W: | ||
| <code bb4w> | <code bb4w> | ||
| - | | + | |
| + | </ | ||
| + | BBCSDL: | ||
| + | <code bb4w> | ||
| + | SYS " | ||
| + | </ | ||
| + | Generic (e.g. BBCTTY): | ||
| + | <code bb4w> | ||
| + | DEF PROCwritestruct(F%, | ||
| + | LOCAL s$ : PTR(s$)=s{} : !(^s$+4)=DIM(s{}) : BPUT#F%,s$; : !(^s$+4)=0 | ||
| + | ENDPROC | ||
| </ | </ | ||
| Similarly to read an entire structure **struct{}** from the file opened on channel **file%** do the following: | Similarly to read an entire structure **struct{}** from the file opened on channel **file%** do the following: | ||
| + | BB4W: | ||
| + | <code bb4w> | ||
| + | SYS " | ||
| + | </ | ||
| + | BBCSDL: | ||
| + | <code bb4w> | ||
| + | SYS " | ||
| + | </ | ||
| + | Generic (e.g. BBCTTY): | ||
| <code bb4w> | <code bb4w> | ||
| - | SYS " | + | DEF PROCreadstruct(F%, s{}) |
| + | LOCAL s$ : PTR(s$)=s{} : !(^s$+4)=DIM(s{}) : s$=GET$#F% BY LENs$ : !(^s$+4)=0 | ||
| + | ENDPROC | ||
| </ | </ | ||
| It is best not to mix these statements with conventional BASIC file reads and writes, but if you do you must flush BASIC' | It is best not to mix these statements with conventional BASIC file reads and writes, but if you do you must flush BASIC' | ||
storing_20structures_20in_20files.1523991491.txt.gz · Last modified: 2024/01/05 00:16 (external edit)