本文整理汇总了C++中VerseKey::Chapter方法的典型用法代码示例。如果您正苦于以下问题:C++ VerseKey::Chapter方法的具体用法?C++ VerseKey::Chapter怎么用?C++ VerseKey::Chapter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VerseKey
的用法示例。
在下文中一共展示了VerseKey::Chapter方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char **argv)
{
long pos, offset;
int num1, num2, rangemax;
char startflag = 0;
short size;
checkparams(argc, argv);
openfiles(argv[1]);
testmnt = key1.Testament();
num1 = key1.Chapter();
num2 = key1.Verse();
pos = 0;
write(bfp, &pos, 4); /* Book offset for testament intros */
pos = 4;
write(cfp, &pos, 4); /* Chapter offset for testament intro */
/* Right now just zero out intros until parsing correctly */
pos = 0;
size = 0;
write(vfp, &pos, 4); /* Module intro */
write(vfp, &size, 2);
write(vfp, &pos, 4); /* Testament intro */
write(vfp, &size, 2);
while(!findbreak(fp, &offset, &num1, &num2, &rangemax, &size)) {
if (!startflag) {
startflag = 1;
}
else {
if (num2 < key2.Verse()) { // new chapter
if (num1 <= key2.Chapter()) { // new book
key2.Verse(1);
key2.Chapter(1);
key2.Book(key2.Book()+1);
}
printf("Found Chapter Break: %d ('%s')\n", num1, (const char *)key2);
chapoffset = offset;
chapsize = size;
// continue;
}
}
key2.Verse(1);
key2.Chapter(num1);
key2.Verse(num2);
key3 = key2;
// key3 += (rangemax - key3.Verse());
writeidx(key1, key2, key3, offset, size);
}
close(vfp);
close(cfp);
close(bfp);
close(fp);
return 0;
}
示例2: writeidx
void writeidx(VerseKey &key1, VerseKey &key2, VerseKey &key3, long offset, short size)
{
long pos;
short tmp;
for (; ((key1 <= key3) && (key1.Error() != KEYERR_OUTOFBOUNDS) && (key1.Testament() == testmnt)); key1+=1) {
if (key1.Verse() == 1) { // new chapter
if (key1.Chapter() == 1) { // new book
pos = lseek(cfp, 0, SEEK_CUR);
write(bfp, &pos, 4);
pos = lseek(vfp, 0, SEEK_CUR); /* Book intro (cps) */
write(cfp, &pos, 4);
write(vfp, &chapoffset, 4); /* Book intro (vss) set to same as chap for now(it should be chap 1 which usually contains the book into anyway)*/
write(vfp, &chapsize, 2);
}
pos = lseek(vfp, 0, SEEK_CUR);
write(cfp, &pos, 4);
write(vfp, &chapoffset, 4); /* Chapter intro */
write(vfp, &chapsize, 2);
}
if (key1 >= key2) {
write(vfp, &offset, 4);
write(vfp, &size, 2);
}
else {
pos = 0;
tmp = 0;
write(vfp, &pos, 4);
write(vfp, &tmp, 2);
}
}
}
示例3: getVerses
std::string SwordPluginAPI::getVerses(const std::string& moduleName, const std::string& key, const std::string& single) {
/*Get verses from a specific module (e.g. "ESV"). Set your biblepassage in key e.g. "James 1:19" */
std::stringstream passage;
std::stringstream tmpPassage;
std::stringstream out;
SWModule *module = displayLibrary->getModule(moduleName.c_str());
/* if (!module || !(strcmp(module->Type(), "Biblical Texts") == 0 || strcmp(module->Type(), "Commentaries") == 0)) {
PDL_JSException(parms, "getVerses: Module isn't verse driven (no bible or commentary). Currently BibleZ HD doesn't support Generic Books and Lexicons / Dictionaries!");
return PDL_TRUE;
} */
//module->setKey(key);
//VerseKey *vk = (VerseKey*)module->getKey();
VerseKey *vk = dynamic_cast<VerseKey *>(module->getKey());
//vk->AutoNormalize(false);
vk->Headings(true);
vk->setText(key.c_str());
ListKey verses = VerseKey().ParseVerseList(key.c_str(), "", true);
passage << "{\"bookName\": \"" << vk->getBookName() << "\", \"cnumber\": \"" << vk->Chapter() << "\", \"vnumber\": \"" << vk->Verse() << "\", \"passageSingle\" : \"" << vk->getBookName() << " " << vk->Chapter() << ":" << vk->Verse() << "\", \"passage\" : \"" << vk->getBookName() << " " << vk->Chapter() << "\", \"abbrev\": \"" << vk->getBookAbbrev() << "\"}";
if (single == "true") {
verses = VerseKey().ParseVerseList(key.c_str(), "", true);
} else {
tmpPassage << vk->getBookName() << " " << vk->Chapter();
verses = VerseKey().ParseVerseList(tmpPassage.str().c_str(), "", true);
}
AttributeTypeList::iterator i1;
AttributeList::iterator i2;
AttributeValue::iterator i3;
out << "[";
for (verses = TOP; !verses.Error(); verses++) {
vk->setText(verses);
if (strcmp(module->RenderText(), "") != 0) {
//headingOn = 0;
out << "{\"content\": \"" << convertString(module->RenderText()) << "\", ";
out << "\"vnumber\": \"" << vk->Verse() << "\", ";
out << "\"cnumber\": \"" << vk->Chapter() << "\"";
out << ", \"heading\": \"" << convertString(module->getEntryAttributes()["Heading"]["Preverse"]["0"].c_str()) << "\"";
for (i1 = module->getEntryAttributes().begin(); i1 != module->getEntryAttributes().end(); i1++) {
if (strcmp(i1->first, "Footnote") == 0) {
out << ", \"footnotes\": [";
for (i2 = i1->second.begin(); i2 != i1->second.end(); i2++) {
out << "{";
for (i3 = i2->second.begin(); i3 != i2->second.end(); i3++) {
out << "\"" << i3->first << "\": \"" << convertString(i3->second.c_str()) << "\"";
//footnotesOn = 1;
if (i3 != --i2->second.end()) {
out << ", ";
}
}
out << "}";
if (i2 != --i1->second.end()) {
out << ", ";
}
}
out << "]";
} /*else if (strcmp(i1->first, "Word") == 0) {
out << ", \"words\": [";
for (i2 = i1->second.begin(); i2 != i1->second.end(); i2++) {
out << "{";
for (i3 = i2->second.begin(); i3 != i2->second.end(); i3++) {
out << "\"" << i3->first << "\": \"" << convertString(i3->second.c_str()) << "\"";
if (i3 != --i2->second.end()) {
out << ", ";
}
}
out << "}";
if (i2 != --i1->second.end()) {
out << ", ";
}
}
out << "]";
} */
}
if (vk->Chapter() == 1 && vk->Verse() == 1) {
vk->setChapter(0);
vk->setVerse(0);
out << ", \"intro\": \"" << convertString(module->RenderText()) << "\"";
}
out << "}";
ListKey helper = verses;
helper++;
if (!helper.Error()) {
out << ", ";
}
}
}
out << "]";
//.........这里部分代码省略.........
示例4: main
int main(int argc, char **argv) {
SWMgr mymgr;
RawText::createModule(".");
RawText mod(".");
VerseKey vk;
vk.Headings(1);
vk.AutoNormalize(0);
vk.Persist(1);
mod.setKey(vk);
vk.Verse(0);
vk.Chapter(0);
vk.Book(0);
vk.Testament(0);
mod << "Module heading text";
vk.Verse(0);
vk.Chapter(0);
vk.Book(0);
vk.Testament(1);
mod << "OT heading text";
vk.Testament(1);
vk.Book(1);
vk.Chapter(0);
vk.Verse(0);
mod << "Gen heading text";
vk.Testament(1);
vk.Book(1);
vk.Chapter(1);
vk.Verse(0);
mod << "Gen 1 heading text";
vk.Testament(1);
vk.Book(1);
vk.Chapter(1);
vk.Verse(1);
mod << "Gen 1:1 text";
vk.Testament(0);
vk.Book(0);
vk.Chapter(0);
vk.Verse(0);
std::cout << "Module heading text ?= " << (const char*)mod << std::endl;
vk.Testament(1);
vk.Book(0);
vk.Chapter(0);
vk.Verse(0);
std::cout << "OT heading text ?= " << (const char*)mod << std::endl;
vk.Testament(1);
vk.Book(1);
vk.Chapter(0);
vk.Verse(0);
std::cout << "Gen heading text ?= " << (const char*)mod << std::endl;
vk.Testament(1);
vk.Book(1);
vk.Chapter(1);
vk.Verse(0);
std::cout << "Gen 1 heading text ?= " << (const char*)mod << std::endl;
vk.Testament(1);
vk.Book(1);
vk.Chapter(1);
vk.Verse(1);
std::cout << "Gen 1:1 text ?= " << (const char*)mod << std::endl;
/* old introtest
SWModule *mhc = mymgr.Modules["MHC"];
if (mhc) {
VerseKey vk;
vk.Headings(1);
vk.AutoNormalize(0);
vk.Persist(1);
vk = "jas 0:0";
std::cout << vk << ":\n";
mhc->setKey(vk);
std::cout << (const char *) mhc->Key() << ":\n";
std::cout << (const char *) *mhc << "\n";
}
*/
return 0;
}