本文整理汇总了C++中VerseKey::getOSISRef方法的典型用法代码示例。如果您正苦于以下问题:C++ VerseKey::getOSISRef方法的具体用法?C++ VerseKey::getOSISRef怎么用?C++ VerseKey::getOSISRef使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VerseKey
的用法示例。
在下文中一共展示了VerseKey::getOSISRef方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char **argv) {
SWMgr manager(new MarkupFilterMgr(sword::FMT_HTMLHREF, sword::ENC_UTF16));
const char *bookName = (argc > 1) ? argv[1] : "WLC";
SWModule *b = manager.getModule(bookName);
if (!b) return -1;
SWModule &book = *b;
book.setProcessEntryAttributes(false);
VerseKey *vk = SWDYNAMIC_CAST(VerseKey, book.getKey());
// find the first non-zero entry
for (book = TOP; !book.popError() && !book.getRawEntryBuf().size(); book++);
if (!book.getRawEntryBuf().size()) return -2; // empty module
for (;!book.popError(); book++) {
cout << "$$$";
if (vk) cout << vk->getOSISRef();
else cout << book.getKeyText();
cout << "\n" << book.renderText() << "\n\n";
}
return 0;
}
示例2: processText
//.........这里部分代码省略.........
}
}
if (newText) {
textStart = from+1;
newText = false;
}
continue;
}
// if not a strongs token, keep token in text
text.appendFormatted("<%s>", token);
if (newText) {
textStart = text.c_str() + text.length();
newWord = false;
}
continue;
}
if (intoken) {
if ((tokpos < 2045) && ((*from != 10)&&(*from != 13))) {
token[tokpos++] = *from;
token[tokpos+2] = 0;
}
}
else {
switch (*from) {
case '\'':
case '\"':
case '`':
// quoteStack.handleQuote(fromStart, from, &to);
text += *from;
//from++; //this line removes chars after an apostrophe! Needs fixing.
break;
default:
if (newWord && (*from != ' ')) {
wordStart = text.c_str() + text.length();
newWord = false;
//fix this if required?
//memset(to, 0, 10);
}
if (!suspendTextPassThru) {
text += (*from);
lastspace = (*from == ' ');
}
}
}
}
VerseKey *vkey = SWDYNAMIC_CAST(VerseKey, key);
if (vkey) {
SWBuf ref = "";
if (vkey->getVerse()) {
ref.appendFormatted("\t\t<verse osisID=\"%s\">", vkey->getOSISRef());
}
if (ref.length() > 0) {
text = ref + text;
if (vkey->getVerse()) {
VerseKey *tmp = (VerseKey *)vkey->clone();
*tmp = *vkey;
tmp->setAutoNormalize(false);
tmp->setIntros(true);
text += "</verse>";
*tmp = MAXVERSE;
if (*vkey == *tmp) {
tmp->setVerse(0);
// sprintf(ref, "\t</div>");
// pushString(&to, ref);
*tmp = MAXCHAPTER;
*tmp = MAXVERSE;
if (*vkey == *tmp) {
tmp->setChapter(0);
tmp->setVerse(0);
// sprintf(ref, "\t</div>");
// pushString(&to, ref);
/*
if (!quoteStack.empty()) {
SWLog::getSystemLog()->logError("popping unclosed quote at end of book");
quoteStack.clear();
}
*/
}
}
delete tmp;
}
// else if (vkey->Chapter()) {
// sprintf(ref, "\t<div type=\"chapter\" osisID=\"%s\">", vkey->getOSISRef());
// }
// else sprintf(ref, "\t<div type=\"book\" osisID=\"%s\">", vkey->getOSISRef());
}
}
return 0;
}