crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Программа для создания тестов, Обсуждение программы и кода
xwicked
  опции профиля:
сообщение 15.8.2011, 6:36
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 66
Регистрация: 2.8.2011
Из: Старый Оскол
Пользователь №: 2781

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте!

Третья моя программа написана по наработкам второй(для создания электронных книг), поэтому содержит некоторые методы такого же названия например "openBookBase", что в последующих версиях будет исправлено на "openTestBase" :D

Программа представляет собой миникомплекс, включающий: создание, тестирование, отчёт(статистика). Версия 0.3.1 - исходник + сборки.

Скрин последней версии:


Ссылка на SourceForge.net. Код под GNU GPL v2 - OpenSource. С++(Qt).

Обсуждаем.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
xwicked
  опции профиля:
сообщение 19.2.2012, 1:22
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 66
Регистрация: 2.8.2011
Из: Старый Оскол
Пользователь №: 2781

Спасибо сказали: 0 раз(а)




Репутация:   0  


Новая и последняя на данный момент версия 1.0.0. Здесь я постарался конкретно. Изменения:
Цитата
- Добавились новые возможности: проверка наличия новой версии через интернет; печать теста; печать статистики; экспорт тестов в HTML, RTF, PDF, PostScript, простой текстовый формат;
- Добавлено использование системных временных каталогов для размещения временных файлов;
- Изменилось расположение файла статистики по-умолчанию на домашний каталог пользователя;
- Изменилась кодировка файла статистики на UTF-8:
- Изменилась кодировка импортируемого текстового файла на UTF-8;
//Новые константы
//Типы вопросов для определения содержимого переменной QVariant
#define V_TYPE_ONE_ANSWER QVariant::Int
#define V_TYPE_MANY_ANSWERS QVariant::ByteArray
#define V_TYPE_ENTER_WORD QVariant::String
#define V_TYPE_ENTER_NUMBER QVariant::Double
#define V_TYPE_INSTALLATION_SEQUENCE QVariant::StringList

//Перевод слов в rtf-unicode
QString ShelkTest::WordToUnicode(QString sWord)
{
    QString sTemp,
            sNum;
    sTemp.clear();
    for (int i = 0; i < sWord.length(); i++)
    {
        sNum.setNum(sWord.at(i).unicode());
        sTemp.append("\\u" + sNum + "?");
    }
    return sTemp;
}

Далее, задействовал webkit:
private: QWebView *wvUpdate;//Для обновления и печати :)
, так как QTextEdit и QTextBrowser не могут отображать элементы ввода(текст, переключатель, флажок), для формирования правильной html-ки. Раз уж было принято решение добавить новую зависимость от библиотеки QtWebkit, то на его же основе я сделал проверку наличия новой версии через интернет, смотрим:
void ShelkTest::slotCheckForUpdates()
{
    connect(wvUpdate, SIGNAL(loadFinished(bool)), SLOT(slotMakeCheckUpdates(bool)));
    wvUpdate->load(QUrl("http://labfreetech.org/shelk_1.0.0.html"));
}

void ShelkTest::slotMakeCheckUpdates(bool bError)
{
    if (bError && wvUpdate->page()->findText("new_version")) QMessageBox::information(0, tr("Information"), tr("On the official website available a new version!"));
    else QMessageBox::information(0, tr("Information"), tr("You have the latest version!"));
    disconnect(wvUpdate, SIGNAL(loadFinished(bool)), 0, 0);
}
Как видно - всё просто. Если текст "new_version" найден в загруженной html-ке, то есть новая версия :)
Чтобы сделать всё так, как я задумал - пришлось использовать новый метод disconnect, который я ранее не использовал и всё получилось.

Теперь за кодом можно наблюдать не дожидаясь релиза. В git создана новая ветка current. Скачать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- xwicked   Программа для создания тестов   15.8.2011, 6:36
- - Litkevich Yuriy   xwicked, а как ею пользоваться?   15.8.2011, 6:51
- - xwicked   Описание: кроссплатформенная программа для создани...   15.8.2011, 9:52
- - xwicked   Здравствуйте! Вот новая версия 0.3.5. Теперь...   29.8.2011, 23:20
- - silver47   Как Вы решили вопрос с безопасностью? SQLite по ум...   30.8.2011, 5:25
|- - xwicked   Цитата(silver47 @ 30.8.2011, 6:25) Как Вы...   30.8.2011, 13:45
- - vankleef   Немного оффтоп Раскрывающийся текст В институте за...   30.8.2011, 18:26
- - xwicked   Для распространения программы между RPM-дистрибути...   21.10.2011, 16:32
- - xwicked   Продолжаем знакомиться с кодом. Версия 0.4.1 Включ...   7.11.2011, 0:52
- - xwicked   Здравствуйте! Программа продолжает совершенст...   22.11.2011, 22:26
- - xwicked   0.4.3 - это новая версия программы. Здравствуйте...   26.1.2012, 20:15
- - xwicked   0.4.4. Исправлено 15 ошибок(!). Появились 2-е ...   6.2.2012, 1:54
- - Алексей1153   Цитата(xwicked @ 26.1.2012, 23:15) 0.4.4....   6.2.2012, 8:24
- - xwicked   Алексей1153, благодарю, но конструкторы я буду осв...   6.2.2012, 13:24
- - Алексей1153   xwicked, да не, начинай уже осваивать ) Потом же и...   6.2.2012, 13:48
- - xwicked   Здравствуйте! Представляю новую версию програм...   14.2.2012, 23:03
- - xwicked   Новая и последняя на данный момент версия 1.0.0. З...   19.2.2012, 1:22
- - xwicked   1.5.2 - скачатьЦитата- Теперь сохранение свойств п...   17.11.2012, 18:42
- - xwicked   По-тихоньку идёт совершенствование программы. И се...   3.11.2013, 20:58
- - Гость   если сделаешь возможность компиляции в exe, цены т...   5.11.2014, 8:26
- - xwicked   Цитата(Гость @ 5.11.2014, 9:26) если сдел...   8.11.2014, 21:34


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.11.2024, 21:24