Здравствуйте!
Очередная моя разработка. Понимаю, что другие программы ещё сырые, но мне уже стало тяжело поддерживать свой статический html-сайт. В связи с этим представляю программу для генерирования статических html-сайтов.
Программа разделена на интерфейс и ядро(динамическая библиотека). Уже есть ошибки при вызове одной фукции из библиотеки
C++ (Qt)
QString replaceTagsInText(const QString& sTags, const QString& sText)
{
int iBegin;
int iEnd;
QString sOpenedTag;
QString sClosedTag;
QString sTextTag;
QString sTemp;
QString slTags;
QString slText;
sTemp = QByteArray::fromBase64(sTags.toAscii());
slTags = sTemp;
sTemp = QByteArray::fromBase64(sText.toAscii());
slText = sTemp;
iEnd = 0;
while (iEnd < slTags.count() - sClosedTag.count())
{
iBegin = slTags.indexOf("<tag=",iEnd);//найти начальную позицию тега
iEnd = slTags.indexOf(">", iBegin);//найти конечную позицию тега
sOpenedTag = slTags.mid(iBegin, iEnd - iBegin + 1);//Получить открывающий тег
sClosedTag = sOpenedTag;
sClosedTag.insert(1, "/");//Получить закрывающий тег
sTextTag = slTags.mid(iEnd + 1, slTags.indexOf(sClosedTag) - (iEnd + 1));//Получить текст тега
slText.replace(sOpenedTag, sTextTag);//Заменить тег на соответсвующий текст
}
return slText;
}
Параметры как бы меняются местами sText с sTags и происходят различные ошибки.
Вызывается таким образом
C++ (Qt)
QString mainFormErsh::replaceTagsInText(QString sTags, QString sText)
{
typedef int (*TfReplaceTagsInText) (const QString&, const QString&);
TfReplaceTagsInText fReplaceTagsInText = (TfReplaceTagsInText)(lib.resolve("replaceTagsInText"));
if (fReplaceTagsInText) {
sText = fReplaceTagsInText(sTags, sText);
}
return sText;
}
Код GNU GPLv2.
SourceForge.netБлагодарю за ответы!