本文整理汇总了C++中VerseKey::getChapter方法的典型用法代码示例。如果您正苦于以下问题:C++ VerseKey::getChapter方法的具体用法?C++ VerseKey::getChapter怎么用?C++ VerseKey::getChapter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VerseKey
的用法示例。
在下文中一共展示了VerseKey::getChapter方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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.getTestament();
num1 = key1.getChapter();
num2 = key1.getVerse();
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.getVerse()) { // new chapter
if (num1 <= key2.getChapter()) { // new book
key2.setVerse(1);
key2.setChapter(1);
key2.setBook(key2.getBook()+1);
}
printf("Found Chapter Break: %d ('%s')\n", num1, (const char *)key2);
chapoffset = offset;
chapsize = size;
// continue;
}
}
key2.setVerse(1);
key2.setChapter(num1);
key2.setVerse(num2);
key3 = key2;
// key3 += (rangemax - key3.getVerse());
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.popError() != KEYERR_OUTOFBOUNDS) && (key1.getTestament() == testmnt)); key1+=1) {
if (key1.getVerse() == 1) { // new chapter
if (key1.getChapter() == 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: main
int main(int argc, char **argv) {
SWMgr library;
SWModule *kjv = library.getModule((argc > 1)?argv[1]:"KJV");
kjv->setKey(argc > 2 ? argv[2] : "Jn.3.16");
VerseKey *key = (VerseKey *)kjv->getKey();
int curVerse = key->getVerse();
int curChapter = key->getChapter();
int curBook = key->getBook();
for (key->setVerse(1);
(key->getBook() == curBook) &&
(key->getChapter() == curChapter) &&
!kjv->popError();
(*kjv)++) {
if (key->getVerse() == curVerse) cout << "* ";
cout << key->getVerse() << " " << kjv->stripText() << "\n";
}
return 0;
}
示例4: main
int main() {
SWMgr library;
auto const book(library.getModule("KJV"));
VerseKey *vk = (VerseKey *) book->getKey();
for (;!vk->popError();vk->setChapter(vk->getChapter()+1)) {
vk->setVerse(vk->getVerseMax());
std::string text = book->stripText();
trimString(text);
if (!text.empty() && (*text.rbegin()) == ',') {
cout << vk->getText() << ":\n\n";
cout << text << endl;
}
}
return 0;
}
示例5: main
int main(int argc, char **argv) {
SWMgr library;
SWModule *book = library.getModule("KJV");
VerseKey *vk = (VerseKey *) book->getKey();
for (;!vk->popError();vk->setChapter(vk->getChapter()+1)) {
vk->setVerse(vk->getVerseMax());
SWBuf text = book->stripText();
text = text.trim();
if (text.endsWith(",")) {
cout << vk->getText() << ":\n\n";
cout << text << endl;
}
}
return 0;
}
示例6: main
int main(int argc, char **argv) {
const char * helptext = "addvs 1.1 Bible & Commentary module creation tool for the SWORD Project\nUse -a to add a new verse from standard input or a file, -d to delete a verse,\n-l to link two verses, -c to create a new module.\n usage:\n %s -a </path/to/module> <verse> [</path/to/file/with/verse>]\n %s -d </path/to/module> <key>\n %s -l </path/to/module> <first verse (already assigned)> <second verse>\n %s -c </path/to/module>\n";
long entrysize;
if (argc < 3) {
fprintf(stderr, helptext, argv[0], argv[0], argv[0], argv[0]);
exit(-1);
}
if (!strcmp(argv[1], "-a") && (argc == 4 || argc == 5)) {
// Do some initialization stuff
char buffer[65536]; //this is the max size of any entry
RawText * mod = new RawText(argv[2]); // open our datapath with our RawText driver.
VerseKey *vkey = new VerseKey;
vkey->setIntros(true);
vkey->setAutoNormalize(false);
vkey->setPersist(true); // the magical setting
*vkey = argv[3];
// Set our VerseKey
mod->setKey(*vkey);
if (!vkey->getChapter()) {
// bad hack >>
// 0:0 is Book intro
// (chapter):0 is Chapter intro
//
// 0:2 is Module intro
// 0:1 is Testament intro
int backstep = vkey->getVerse();
vkey->setVerse(0);
*mod -= backstep;
// << bad hack
FILE *infile;
// case: add from text file
//Open our data file and read its contents into the buffer
if (argc == 5) infile = fopen(argv[4], "r");
// case: add from stdin
else infile = stdin;
entrysize = fread(buffer, sizeof(char), sizeof(buffer), infile);
mod->setEntry(buffer, entrysize); // save text to module at current position
}
else {
ListKey listkey = vkey->parseVerseList(argv[3], "Gen1:1", true);
int i;
bool havefirst = false;
VerseKey firstverse;
for (i = 0; i < listkey.getCount(); i++) {
VerseKey *element = SWDYNAMIC_CAST(VerseKey, listkey.getElement(i));
if (element) {
mod->setKey(element->getLowerBound());
VerseKey finalkey = element->getUpperBound();
std::cout << mod->getKeyText() << "-" << (const char*)finalkey << std::endl;
if (!havefirst) {
havefirst = true;
firstverse = *mod->getKey();
FILE *infile;
// case: add from text file
//Open our data file and read its contents into the buffer
if (argc == 5) infile = fopen(argv[4], "r");
// case: add from stdin
else infile = stdin;
entrysize = fread(buffer, sizeof(char), sizeof(buffer), infile);
mod->setEntry(buffer, entrysize); // save text to module at current position
std::cout << "f" << (const char*)firstverse << std::endl;
(*mod)++;
}
while (*mod->getKey() <= finalkey) {
std::cout << mod->getKeyText() << std::endl;
*(SWModule*)mod << &firstverse;
(*mod)++;
}
}
else {
if (havefirst) {
mod->setKey(*listkey.getElement(i));
*(SWModule*)mod << &firstverse;
std::cout << mod->getKeyText() << std::endl;
}
else {
mod->setKey(*listkey.getElement(i));
havefirst = true;
firstverse = *mod->getKey();
FILE *infile;
// case: add from text file
//Open our data file and read its contents into the buffer
if (argc == 5) infile = fopen(argv[4], "r");
// case: add from stdin
else infile = stdin;
entrysize = fread(buffer, sizeof(char), sizeof(buffer), infile);
mod->setEntry(buffer, entrysize); // save text to module at current position
std::cout << "f" << (const char*)firstverse << std::endl;
}
}
//.........这里部分代码省略.........