Troy, alright, thank you, this should be clear now. But you know the code I sent you, the "getVerse()" method crashes from time to time and I am having hard to figure out why. It crashes on the setKey() call when you pass in a certain string (reference) in the getverse. I am not sure which references crashes it or is it the order in which you pass them but for example you could getVerse"Genesis 1:1-3" but then calling getVerse("Matthew 1:3-15") crashes it. I hope this is just some bug in elsewhere but I was thinking that perhaps the keys I used in the getVerse() method should be somehow released? Because tracing back in the setKey shows that deleting the previous key failes.
I hope that description makes sense. Jari. >From: "Troy A. Griffitts" <[EMAIL PROTECTED]> >Reply-To: SWORD Developers' Collaboration Forum <sword-devel@crosswire.org> >To: SWORD Developers' Collaboration Forum <sword-devel@crosswire.org> >Subject: Re: [sword-devel] How do you select verses from a range? >Date: Fri, 15 Dec 2006 15:00:35 -0700 > >Jari, > > >> The way multiple verses are rendered for the user is up to the client > >> software, not the engine. You can decide if you show verse number, > >> verse headings, etc. > >> > > > > Do you mean that one way would be how you displayed the text for the > > console/terminal using cout << ? That much I do know but thank you for >being > > clear! > >I'm sorry for not being more clear. The engine will return a verse at a >time and let the client decide how to display it to the user, e.g. > >1. In the beginning God created... 2. And the earth was without form... > >or > >[1] In the beginning God created... >[2] And the earth was without form and void > >or > ><a href="...">1</a> In the beginning God created... ><a href="...">2</a> And the earth was without form and void > >etc. > > > > At the first glance it looks quite compilated. My current solution is >like > > this: >... > >Your solution is fine if you have a set output format. Using SWDisplay >would change your model. Basically, SWDisplay is used for linking the >book to a Window component like this: > >RTFChapterDisplay disp(someDisplayControl.hwindow); >book->setDisplay(&disp); >... > >book->setKey("John 3:16"); >book->Display(); // will call our custom displayer which we've written >to iterate the current chapter in the book and populate an RTF display >component (in our case 'someDisplayControl') using the window handle >passed in the c-tor. > >This allows us to set up all the associated GUI controls for each book, >right at the start of the program. Then when we would like to visually >display, say the KJV at John 3:16, to the user, we can just: > >SWModule *book = library.getModule("KJV"); >book->setKey("John 3:16"); >book->Display(); > >You can, for example, set all the Bibles to use the same SWDisplay >instance pointing to the same UI control, or whatever your user >interface dictates. It's up to you. SWDisplay and SWModule::Display() >are merely a convenience hook to help facilitate UI development. You >can use or neglect them as much as you want. > >-Troy. > > > > > As you can see the result's length is limited. But of course I could and > > should use something like std::string and return that but I just wanted >to > > make this in the right way. > > > > > > > >> Hope this helps. Glad you're making progress. > >> > > > > It sure does! Thanks. > > > > It's alright if I can't get a perfect solution for this now that I do >have a > > code that works. > > > > > > > > > > May God bless you too Troy. > > > > Jari. > > > > > >> Blessings! > >> -Troy. > >> > >> > >> > >> Jari Strand wrote: > >>> Troy, > >>> thank you for the example, I was finally able to test it and it works > >> good. > >>> But I have one problem, you see when I used to select only one verse I > >> could > >>> return the string that was returned from RenderText() or StripText() >but > >> now > >>> that you have to loop in the end in order to get all the strings you > >> can't > >>> just simply return the results from a function. So is there some other > >> way > >>> for this so that I don't have to create a return buffer my self? > >>> Maybe the loop isn't required if you select verse from a one range and > >> not > >>> from two or more like in the example? > >>> > >>> Thanks. > >>> > >>> > >>> Jari. > >>> > >>>> From: "Troy A. Griffitts" <[EMAIL PROTECTED]> > >>>> Reply-To: SWORD Developers' Collaboration Forum > >> <sword-devel@crosswire.org> > >>>> To: SWORD Developers' Collaboration Forum <sword-devel@crosswire.org> > >>>> Subject: Re: [sword-devel] How do you select verses from a range? > >>>> Date: Sun, 10 Dec 2006 13:58:47 -0700 > >>>> > >>>> Jari, > >>>> I've added a new example for you: > >>>> > >>>> > >> >http://crosswire.org/svn/sword/trunk/examples/cmdline/verserangeparse.cpp > >>>> Please let me know if this does not answer your question. > >>>> > >>>> -Troy. > >>>> > >>>> > >>>> > >>>> Jari Strand wrote: > >>>>> Hi, is there example showing how to select verses within a range? i > >>>> think > >>>>> there was some example but I cannot find it anymore. > >>>>> > >>>>> I only know how to select one verse using setKey("Mat 2:10"); > >>>>> > >>>>> Thanks! > >>>>> > >>>>> _________________________________________________________________ > >>>>> FREE pop-up blocking with the new MSN Toolbar - get it now! > >>>>> http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/ > >>>>> > >>>>> > >>>>> _______________________________________________ > >>>>> sword-devel mailing list: sword-devel@crosswire.org > >>>>> http://www.crosswire.org/mailman/listinfo/sword-devel > >>>>> Instructions to unsubscribe/change your settings at above page > >>>> _______________________________________________ > >>>> sword-devel mailing list: sword-devel@crosswire.org > >>>> http://www.crosswire.org/mailman/listinfo/sword-devel > >>>> Instructions to unsubscribe/change your settings at above page > >>> _________________________________________________________________ > >>> Express yourself instantly with MSN Messenger! Download today it's >FREE! > >>> http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ > >>> > >>> > >>> _______________________________________________ > >>> sword-devel mailing list: sword-devel@crosswire.org > >>> http://www.crosswire.org/mailman/listinfo/sword-devel > >>> Instructions to unsubscribe/change your settings at above page > >> > >> _______________________________________________ > >> sword-devel mailing list: sword-devel@crosswire.org > >> http://www.crosswire.org/mailman/listinfo/sword-devel > >> Instructions to unsubscribe/change your settings at above page > > > > _________________________________________________________________ > > Express yourself instantly with MSN Messenger! Download today it's FREE! > > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ > > > > > > _______________________________________________ > > sword-devel mailing list: sword-devel@crosswire.org > > http://www.crosswire.org/mailman/listinfo/sword-devel > > Instructions to unsubscribe/change your settings at above page > > >_______________________________________________ >sword-devel mailing list: sword-devel@crosswire.org >http://www.crosswire.org/mailman/listinfo/sword-devel >Instructions to unsubscribe/change your settings at above page _________________________________________________________________ FREE pop-up blocking with the new MSN Toolbar - get it now! http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/ _______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page