Thanks that fixed my problem. Finally this has been the major thing thats been bothering me with MacSword for a long time.

On a final note: the Luther module gives top as 2,9,2 (testament, book, verse) and bottom as 2,10,1. However it doesn't include Ephesians, can you assume a bottom verse of 1 does not include that book? Also why does it always start at 2?

Thanks, Will

On Saturday, November 30, 2002, at 03:35 pm, Joachim Ansorg wrote:

I found the problem,

you have to call module->setSkipConsecutiveLinks(true) before you test for the
books. Set it to the default value false after all tests.
So the code would look in C++ this way:

module()->setSkipConsecutiveLinks(true);
sword::VerseKey top, bottom;

*module() = sword::BOTTOM;
bottom = module()->KeyText();
*module() = sword::TOP;
top = module()->KeyText();

for (int i = top.Testament(); i <= bottom.Testament(); ++i) {
for ( int j = top.Book(); j <= bottom.Book(); ++j) {
//get bookname here
}
}
module()->setSkipConsecutiveLinks(false);

You have to write j <= bottom.Book() to get all books including the last one
which is availabe :)

I think the difference to the Luther commentary is that the default behaviour
of commentaries is to jump over empty parts, but bibles need the
setConsecutiveLinks call get that behaviour.

I hope it works for you,
Joachim

Joachim,

I looked at BibleTime, and in the end I opted for my own similar
method, that managed to get modules such as Luther to list only
Galations. Using ObjC, but should be pretty clear.


VerseKey top, bottom;
books = [[NSMutableArray alloc] init];

*module = BOTTOM;
bottom = module->KeyText();
*module = TOP;
top = module->KeyText();

for (int i = top.Testament(); i <= bottom.Testament(); ++i)
{
	for ( int j = top.Book(); j < bottom.Book(); ++j)
	{
		[books addObject:[NSString
stringWithCString:top.books[i-1][j-1].name]];
	}
}


However this does not work for some modules such as ISV and others as
below. I tried the BT code but had no luck.

Will

On Friday, November 29, 2002, at 04:01  pm, Joachim Ansorg wrote:
Dear Will,

in BibleTime we managed to check whether a module contains only a new
testament, only an old testament or both.
Is this what you wanted to check or wanted you to check every book is
it
exists?
If you wanted to do the first I think I can give you some hints.


Joachim

Hi,

I've been struggling for a while to get MacSword to show only the
books
in a module, and only have just realised, that it could (and probably
is) the modules themselves. In MacSword, at least modules such as BHS
and LXX think they have a NT, and modules such as ISV think it has an
OT, Family thinks that it contains the whole NT, when it seems to stop
after Titus. Is this a problem with my program or the modules? Any
help
would be appreciated.

On another note a minor update to MacSword is available, ToolTips are
now more refined and should function fully. Other numerous bugs are
fixed as well, including proper Right to Left text rendering with
verse
numbers.

http://www.heathmoor.plus.com/macsword/

Will
--
Joachim Ansorg
www.bibletime.de
www.ansorgs.de
--
Joachim Ansorg
www.bibletime.de
www.ansorgs.de





Reply via email to