Nathan, Alternative to using books to get chapmax, versemax might be:
VerseKey *key = (VerseKey *)kjvmod.CreateKey(); (*key) = TOP; while (!key->Error()) { cout << "Book: " << key->getBookName() << endl; (*key) = MAXCHAPTER; int chaps = key->Chapters(); cout << "Total Chapters: " << chaps; for (int i = 1; i <= chaps; i++) { key->Chapter(i); (*key) = MAXVERSE; cout << "\tChapter " << i << "has " << key->Verse() << " total verses." << endl; } key->Book(key->Book()+1); } delete key; All VerseKey modules have same data currently, but this might change soon, so the kjvmod.CreateKey() to get a module specific key should give you the correct data for the module even in the future. Nathan wrote: > > >Here's how you'd do it with the books member: > > > >VerseKey key = "jn1:1"; > > > >key.books[key.Testament()-1][key.Book()-1].name; > > I'm using this method to get the number of chapters and verses for > limiting entries in my interface. Would be nice to have methods for > those. > > It also worries me a bit - because this method has no reference to a > particular module. Assuming this information is always the same, I > suppose it isn't a big deal. > > - n8 > > -- > Nathan Youngman > E-mail: nathany at mac.com > Web: http://nathany.com