todo.c (plain text)
// ToDo reader
int i, nRecs, rc;
pointer todo;
main() {
// allocate memory for the data
todo = malloc(4);
settype(todo, 2, 'i');
settype(todo+2, 2, 's');
// attempt to open the database
if (!dbopen("ToDoDB")) {
puts("Unable to open ToDo database");
return;
}
// read and display all records
nRecs = dbnrecs();
puts("NumRecs: " + nRecs + "\n");
for (i=0;i<nRecs;i++) {
dbrec(i);
rc = dbreadx(todo, "i2cszsz");
// if rc != 4, then this is not a valid record
// and has probably been deleted
if (rc==4) {
puts("Record: "+i+"\n Priority: "+todo[1]+"\n Title: "
+ todo[2] + "\n Note: " + todo[3] + "\n");
}
}
// add a new record
todo[0] = 0xffff; // no category, date
todo[1] = 4; // priority = 4
todo[2] = "Register PocketC"; // text
todo[3] = "PocketC, from OrbWorks costs only $18.50.\nOrder you copy today!";
dbrec(-1); // new record
rc = dbwritex(todo, "i2cszsz");
if (rc != 4) puts("Error creating new todo!");
// close the database
dbclose();
}