>>>Ok, Part 2,
part 2.6 here :)
Just couldn't keep myself from sharing this, seeing the other thread (#449133) where someone needs to programmatically modify the structure of a table. For free tables, my favorite approach was to create a cursor with identical structure, modify the structure of the cursor (including new cursors as needed) and eventually copying all the records over the initial table.
Now there was the issue of the indexes, which had to be rebuilt - we had to keep all the index info for each of the tags, storing them all into one big array or several individual arrays, to keep track of tag names, index expressions, filter expressions, and several clauses like Unique, Primary, Candidate, Ascending/descending etc.
Well, done with that - there's a great new VFP7 function, aTagInfo() which stores all of this info into a five-column array.
Well, I could count the treats for another hour... I'd better get some sleep :)