31

voral пишет:

Это про отражение? Вы надеюсь используете QGraphicsScene и компанию? (там вроде как и задумываться не надо)
А си про сам кроссворд - зачем обрезать? Либо масштабировать - либо прорутку делать.

Обрезать нужно для того, если поле таблицы 30х20, например, а нарисованная сетка получилась 13х12. Представьте себе такой кроссворд в журнале, при печати. Мягко говоря - это некрасиво и расходует лишнее пространство страницы.
Вы наверное не видели код, там всё сделано на QTableWidget. Никакой графики, никаких сцен ab

32

Следующая версия программы 0.2.9. В ней я походу вышел за предел стека  :lol: Ошибку я уже нашёл.

- Оптимизирован алгоритм выбора слов в 2,5 раза;
- Добавлена возможность экспорта кроссворда в файл, форматов: HTML, PDF, PostScript, текстовый формат AcrossLite, OpenKlest(*.ok);
- Добавлена возможность поворота кроссворда;
- Добавлена возможность автоматического создания и экспорта кроссворда в форматы HTML, PDF, PostScript, текстовый формат AcrossLite, OpenKlest(*.ok);
- Добавлена возможность импорта кроссворда в формате OpenKlest(*.ok);

Экспорт в PDF и PostScript осуществляется достаточно просто: подготавливается HTML-страница и распечатывается на принтере, но печать идёт не на физическое устройство а в файл ab

    QTextEdit textEdit;
    textEdit.setHtml(strHTML);
#ifndef QT_NO_PRINTER

    QPrinter printer(QPrinter::HighResolution);//Настройка принтера на  высокое качество
    printer.setOutputFormat(QPrinter::PostScriptFormat);//Выбор печати в файл PostScript
    printer.setOutputFileName(sExportName);//Присваивание имени файла
    textEdit.document()->print(&printer);//Сама печать

#endif

Хотелось бы отметить, что с появлением функции экспорта кроссворда в Across Lite TXT, у программы across lite 2.0 появилась возможность отгадывать не только американские кроссворды, но и классические, правда всё в английском языке. Можете поэксперементировать, ради интереса  :rolleyes:

33 (08.02.2012 23:46:22 отредактировано xwicked)

Здравствуйте! Как я избавился от переполнения стека:

ushort usTable[50][50];//Массив сетки кроссворда

Если делал больше 50-ти, то отваливался импорт файла и запуск руководства пользователя  :lol:
Изменил на:

ushort **usTable;//Массив сетки кроссворда
...
//Создание двумерного динамического массива
        usTable = new ushort*[TableKlestCrossword->rowCount()];

        for(int i = 0; i < TableKlestCrossword->rowCount(); i++)
            usTable[i] = new ushort[TableKlestCrossword->columnCount()];

Далее введены константы:

//Определение путей констант, в соответствии с системой
#if defined(Q_WS_WIN)

    #define PATH_TMP_SET QApplication::applicationDirPath() + "/settings.xwsc"
    #define PATH_SHARE_DOC QApplication::applicationDirPath()
    #define PATH_SHARE_APP QApplication::applicationDirPath()
    #define PATH_TMP_STAT QApplication::applicationDirPath() + "/cstat.html"


#elif defined(Q_WS_X11)

    #define PATH_TMP_SET "/tmp/klest-crossword-0.3.7/settings.xwsc"
    #define PATH_SHARE_DOC "/usr/share/doc/klest-crossword-0.3.7"
    #define PATH_SHARE_APP "/usr/share/klest-crossword-0.3.7"
    #define PATH_TMP_STAT "/tmp/klest-crossword-0.3.7/cstat.html"

#elif defined(Q_WS_MAC)

    #define PATH_TMP_SET QApplication::applicationDirPath() + "/settings.xwsc"
    #define PATH_SHARE_DOC QApplication::applicationDirPath()
    #define PATH_SHARE_APP QApplication::applicationDirPath()
    #define PATH_TMP_STAT QApplication::applicationDirPath() + "/cstat.html"


#endif

//Пути для разработки и отладки программы
/*#define PATH_TMP_SET QApplication::applicationDirPath() + "/settings.xwsc"
#define PATH_SHARE_DOC QApplication::applicationDirPath()
#define PATH_SHARE_APP QApplication::applicationDirPath()
#define PATH_TMP_STAT QApplication::applicationDirPath() + "/cstat.html"*/

#define MODE_VIEW true
#define MODE_EDIT false

#define ACROSS_ENABLE true
#define ACROSS_DISABLE false

#define LANGUAGE_RUSSIAN true
#define LANGUAGE_ENGLISH false

#define TOOLBAR_SHOW true
#define TOOLBAR_HIDE false

#define EXPORT_YES true
#define EXPORT_NO false

#define TYPE_PDF 0
#define TYPE_POST_SCRIPT 1

Что позволило пути в программе менять всего один раз ab Так же появилась возможность убрать лишние условия и оформить в switch:

        switch(iTypeExport)
        {
        case TYPE_PDF:
            sFilter = ".pdf";
            break;

        case TYPE_POST_SCRIPT:
            sFilter = ".ps";
            break;

        case TYPE_HTML:
            sFilter = ".html";
            break;

        case TYPE_TXT:
            sFilter = ".txt";
            break;

        case TYPE_JPG:
            sFilter = ".jpg";
            break;

        case TYPE_JPEG:
            sFilter = ".jpeg";
            break;

        case TYPE_BMP:
            sFilter = ".bmp";
            break;

        case TYPE_TIFF:
            sFilter = ".tiff";
            break;

        case TYPE_PNG:
            sFilter = ".png";
            break;

        case TYPE_XPM:
            sFilter = ".xpm";
            break;

        case TYPE_XBM:
            sFilter = ".xbm";
            break;

        case TYPE_PPM:
            sFilter = ".ppm";
            break;

        case TYPE_OPEN_KLEST:
            sFilter = ".ok";
            break;
        }

Введение структуры файла свойств:

//Структура файла свойств программы
struct TFileOptions
{
     bool bModeWork,//Режим работы программы
          bLanguageProgram,//Язык программы
          bStateStandardToolbar,//Состояние показа стандартной панели
          bStateExport,//Состояние экспортирования
          bCurrentDictionary;//Текущий словарь
     QString sModePassword,//Пароль режима
             sPathCrossword,//Путь для кроссвордов
             sPathExport,//Путь для экспорта
             sPathTemplate;//Путь для шаблонов
     int iNumberTimes,//Количество раз
         iTypeExport;//Тип экспорта
};

Скачать 0.3.7. На данный момент это последняя версия, прошу...

34

xwicked пишет:

зволило пути в программе менять всего один раз smile Так же появилась возможность убрать лишние условия и оформить в switch:

Что, в свою очередь, логично было бы еще больше сократить:

char Test[13][6] = {".pdf",".ps",".html",".txt",".jpg",".jpeg",".bmp",".tiff",".png",".xpm",".xbm",".ppm",".ok"};  // подготовка
.....
sFilter = Test[iTypeExport];  // замена свитча
То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

35 (09.02.2012 01:06:34 отредактировано voral)

xwicked пишет:

Если делал больше 50-ти, то отваливался импорт файла и запуск руководства пользователя  laugh
Изменил на:

ushort **usTable;//Массив сетки кроссворда
...
//Создание двумерного динамического массива
        usTable = new ushort*[TableKlestCrossword->rowCount()];

        for(int i = 0; i < TableKlestCrossword->rowCount(); i++)
            usTable[i] = new ushort[TableKlestCrossword->columnCount()];

Тут надо код повнимательнее посмотреть. А пока.... Правильно ли я понял, что строки кода процитированные ниже призваны освободить память занимаемую массивом:

    usTable = new ushort*;
    delete usTable;

?

Было бы правильнее

for (int i = 0; i < TableKlestCrossword->rowCount(); ++i) delete[] usTable[i];
delete[] usTable;

Потому как если я правильно понял код, то вы попросту забываете/бросаете в памяти зарезервированный под массив кусок присвоив переменной (usTable = new ushort*) значение адреса нового куска памяти, и следующей командой освобождаете этот новый кусок памяти....

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

36

По поводу "ushort **usTable;//Массив сетки кроссворда". Возможно будет надежнее этот массив оформить в отдельный класс. В настоящий момент на сколько я успел заметить не сложно где то допустить роковую ошибку и попытаться обратиться за пределы памяти выделенные под данный массив. Опять же установку и получение значений элементов массива через геттеры и сеттеры с проверками.

Идем далее. Этот массив является полем класса. И массив создается в нескольких различных методах этого самого класса. А память "освобождается" да и то не удачно только в одном месте (и то не в деструкторе). Это опять же прямой путь к скрытым ошибкам.

Да и еще, ко всему прочему, этот массив у вас паблик........


Жуть. Короче вы только с одним этим массивом (достаточно ключевым для проекта) расставили сами себе капканов по полной программе.

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

37 (09.02.2012 02:12:39 отредактировано xwicked)

voral пишет:

...

char Test[13][6] = {".pdf",".ps",".html",".txt",".jpg",".jpeg",".bmp",".tiff",".png",".xpm",".xbm",".ppm",".ok"};  // подготовка
.....
sFilter = Test[iTypeExport];  // замена свитча

Благодарю, попробую.
usTable создаётся равным текущей открытой сетке(xwc или ok) и "удаляется" при закрытии сетки кроссворда, поэтому в конструктор / деструктор нельзя поместить ни создание ни удаление. А располагается он в функции закрытия кроссворда но, так как закрытие кроссворда вызывается постоянно, при переходе из одного режима в другой, то если не создана сетка(массив) - происходит ошибка. Поэтому ЭТО

    usTable = new ushort*;
    delete usTable;

есть не что иное как умышленная ошибка неполного очищения памяти  ac Конечно она в следующей версии будет исправлена - спешил просто  oO 1КБ потерянной кучи это явление временное :rolleyes:

38

xwicked пишет:

usTable создаётся равным текущей открытой сетке(xwc или ok) и "удаляется" при закрытии сетки кроссворда, поэтому в конструктор / деструктор нельзя поместить ни создание ни удаление.

1. Тогда вообще не понятно, что он делает вне класса TableClest. Поскольку оно живет только параллельно с объектами этого класса.
2. Более того. Почему бы инфу хранящуюся в этом массиве не засунуть в ячейки этой самой таблицы. Примерно так:

CellCrossword->setData(Qt::UserRole+<определеный_вами_ID>,<значение>); 

Кстати, а что хранит этот массив?

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

39

voral пишет:
xwicked пишет:

usTable создаётся равным текущей открытой сетке(xwc или ok) и "удаляется" при закрытии сетки кроссворда, поэтому в конструктор / деструктор нельзя поместить ни создание ни удаление.

1. Тогда вообще не понятно, что он делает вне класса TableClest. Поскольку оно живет только параллельно с объектами этого класса.
2. Более того. Почему бы инфу хранящуюся в этом массиве не засунуть в ячейки этой самой таблицы. Примерно так:

CellCrossword->setData(Qt::UserRole+<определеный_вами_ID>,<значение>); 

Кстати, а что хранит этот массив?

usTable = TableKlest, но только в виде массива. 0 = пустой ячейке(без буквы), 2 = чёрная, 3 = белая, 1 = зелёная, вообщем как - то так. Было сделано для того, чтобы не тратить время на отрисовку графического компонента.
Вполне возможно, что я помещу его в TableKlest, если производительность не потеряется ни на секунду  wink

40

Оптимизация констант:

enum eTypeCrossword {TYPE_PDF, TYPE_POST_SCRIPT, TYPE_RTF, TYPE_HTML, TYPE_TXT, TYPE_JPG, TYPE_JPEG, TYPE_BMP,
                    TYPE_TIFF, TYPE_PNG, TYPE_XPM, TYPE_XBM, TYPE_PPM, TYPE_OPEN_KLEST};

Экспорт в RTF вместе с изображением:

QString TCrosswordGrid::wordToUnicode(QString sWord)
{
    QString sTemp;

    for (int i = 0; i < sWord.length(); i++)
//Добавляет один символ Unicode, если этого не получается сделать, то отображается знак вопроса
        sTemp.append("\\u" + QString::number(sWord.at(i).unicode()) + "?");

    return sTemp;
}

//Формирование RTF-документа и сохранение
void TCrosswordGrid::saveToRTF(QString sExportName, QString strRTF, QImage imgExport)
{
    QByteArray baImage;
    QBuffer buffer(&baImage);
    buffer.open(QIODevice::WriteOnly);
    imgExport.save(&buffer, "BMP");//BMP как обязательный формат изображения
    baImage = baImage.toHex();//Побайтовое преобразование изображения в шестнадцатеричную форму
    QFile ifile(sExportName);
    QTextStream istream(&ifile);
    istream.setCodec("UTF-8");//UTF-8 кодировка документа
    ifile.open(QIODevice::WriteOnly);
//Добавление информации об изображении с сохранением изначального размера
    istream << "{\\rtf1\n{\\pict\\wmetafile8\\picw" + QString::number(columnCount() * rowHeight(0) * 27) + "\\pich"
            + QString::number(rowCount() * rowHeight(0) * 27) + "\n";
    
    int j = 0;

    for (int i = 0; i < baImage.size(); i++)
    {
        if (j == 128)//Если количество символов в строке == 128
        {
            istream << "\n";//То перевод строки; Избавляет от ошибок, при чтении документа.
            j = 0;
        }

        istream << baImage.at(i);
        j++;
    }
    istream << "}\\par\\par\n";
    istream << strRTF;
    istream << "}";
    ifile.close();
}

//Формирование RTF-текста вопросов и ответов
QString TCrosswordGrid::makeRTFText(QString ListWordH, QString ListWordV, QStringList ListOutV, QStringList ListOutH)
{
    QString strRTF;
    QString strText1;
    QString strText2;
    QString strText3;

    for(int i = 0; i < ListOutH.count(); i++)
    {
        strText1.append(wordToUnicode(ListOutH.at(i)) + "\\par\n");
    }

    strText2.clear();

    for(int i = 0; i < ListOutV.count(); i++)
    {
        strText2.append(wordToUnicode(ListOutV.at(i)) + "\\par\n");
    }

    strText3.clear();
    strText3 = "{\\b " + wordToUnicode(tr("Horizontal")) + "}:\\par\n" + wordToUnicode(ListWordH) + "\\par\n" + "{\\b " + wordToUnicode(tr("Vertical"))
               +"}:\\par\n" + wordToUnicode(ListWordV) + "\\par\n";

    strRTF.append("{\\b " + wordToUnicode(tr("Horizontal")) + "}:\\par\n"
                   + strText1 + "\\par\n"
                   "{\\b " + wordToUnicode(tr("Vertical")) + "}:\\par\n"
                   + strText2 + "\\par\n"
                   "{\\b\\i " + wordToUnicode(tr("Answers")) + "}:\\par\n"
                   + strText3 + "\\par\n");
    return strRTF;
}

Использовался материал Википедии. Скачать 1.0.0.

Список изменений:
- Повышена безопасность работы игры;
- Добавлен экспорт кроссворда в RTF;
- Исправлена нумерация вопросов кроссворда при печати и экспорте;
- Оптимизирована скорость отображения статистики;
- Изменён цветовой стиль сетки кроссворда, уменьшен контраст цветов;

41

voral⇓ пишет:

По поводу "ushort **usTable;//Массив сетки кроссворда". Возможно будет надежнее этот массив оформить в отдельный класс. ...

Сделал.
Все изменения:

- Добавлена возможность создать словарь из текстового файла со
словами;
- Добавлена возможность выбора путей к файлу свойств, файлу статистики, файлу словаря;
- Исправлена фатальная ошибка при вводе слов в сетку, без координат слов;          
- Добавлена поддержка файла кроссворда формата OpenKlest 1.1;
- Добавлено сохранение положений панелей инструментов при выходе из программы;       
- Добавлены новые классы: TCell, TGrid и tfileoptions;
- Добавлена возможность удалённого расположения файла свойств;
- В свойства игры добавлены кнопки "Сбросить" и "Восстановить умолчания";
- Изменены ссылки баг-трекера и git;
- Добавлена возможность разворачивания на весь экран окон статистики и руководства пользователя;
- Название программы и номер версии вынесены в отдельный заголовочный файл;

Новая версия 1.2.3
Мной было принято решение о прекращении сборок в linux-пакеты в пользу простоты установки, оформив всё в виде мастера-установщика как в ОС Оффтопик. В связи с замедлением процесса разработки прошу давать советы на крайне необходимые функции и указания на исправление критических ошибок.

Благодарю!

42

Хоть какой-нибудь rpm дистр надо всё же поддерживать, хотя бы Fedora, а то только deb.

Консоль на мыло. Надо развивать графику.

43

xwicked пишет:

Мной было принято решение о прекращении сборок в linux-пакеты в пользу простоты установки, оформив всё в виде мастера-установщика как в ОС Оффтопик.

А зачем бросать собирать пакеты? один раз написали скрипт и пускай собираются.... Не в ручную же килобайты ворочать.

А еще гляньте: http://origin.releases.qt-project.org/q … ork/1.3.0/

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

44

romkaromka пишет:

Хоть какой-нибудь rpm дистр надо всё же поддерживать, хотя бы Fedora, а то только deb.

ARM и PowerPC сборок больше не будет.

voral пишет:
xwicked пишет:

Мной было принято решение о прекращении сборок в linux-пакеты в пользу простоты установки, оформив всё в виде мастера-установщика как в ОС Оффтопик.

А зачем бросать собирать пакеты? один раз написали скрипт и пускай собираются.... Не в ручную же килобайты ворочать.

А еще гляньте: http://origin.releases.qt-project.org/q … ork/1.3.0/

Я сейчас 5 дней в неделю  из 7-ми не могу писать программы, потому не вариант. Да и это соответствует моим будущим планам, когда я буду только кодить а сборки будет делать остальное свободное сообщество. Таким образом мне не нужно будет держать виртуальные машины и другие ОС, кроме FreeBSD.

Хотя... такой расклад только при текущем "бюджете" проекта.  ab

45

xwicked⇓ пишет:

сборки будет делать остальное свободное сообщество.

Тогда дайте образец RPM пакета под любой дистрибутив.

Консоль на мыло. Надо развивать графику.

46

romkaromka пишет:
xwicked⇓ пишет:

сборки будет делать остальное свободное сообщество.

Тогда дайте образец RPM пакета под любой дистрибутив.

В сорцах есть спеки для mandriva и AltLinux. В этом и будет помощь каждого мейнтейнера, поддерживающего свой дистрибутив. А вообще, обратись к народу с вопросом почему текущий зоопарк дистрибутивов так несовместим друг с другом...

47 (09.05.2013 12:25:04 отредактировано romkaromka)

xwicked, на самом деле всё нормально, и универсальный rpm пакет собрать можно. Исходить надо из того что deb -> rpm - это и есть универсальный пакет.
У меня эта схема хорошо отработана годами http://code.google.com/p/vpnpptp/downloads/list и никто не жаловался, что мой универсальный rpm пакет где-то не встал, его используют тысячи человек. Но не каждый код так можно хорошо завернуть, желательно, чтобы у пакета не было зависимостей.
И тогда нужен лишь любой дистрибутив 32 битный и 64 битный. Скрипты у меня есть, посмотрите исходники по ссылке.
Например, сгодится Ubuntu (deb-дистрибутив), чтобы в ней собирать deb и rpm пакеты, но с таким же успехом сгодится, к примеру, Mageia (rpm-дистрибутив).
Скрипт одновременно собирает deb и rpm пакет. Таким образом, надо лишь 2 раза запустить скрипт в разных архитектурах и получить на выходе 4 пакета.
Таким образом, задача автора написать код так, чтобы он ни от чего извне не зависел, и если это так, то дальше уже сборка пакетов сразу под все дистрибутивы занимает несколько минут.

Консоль на мыло. Надо развивать графику.

48 (09.05.2013 14:09:16 отредактировано romkaromka)

xwicked⇓ пишет:

Таким образом мне не нужно будет держать виртуальные машины и другие ОС, кроме FreeBSD

По моей схеме годится любой установленный дистрибутив, виртуалки не нужны разве только одна - дистрибутив, но другой архитектуры. FreeBSD я не проверял, но уверен, что dpkg (используется для сборки deb пакета) и alien (используется для преобразования deb->rpm) отработают без проблем.
Скрипт: http://code.google.com/p/vpnpptp/source … compile.sh
Описание: http://code.google.com/p/vpnpptp/source … пакета.txt
Задача автора только проверить правильность преобразовая deb->rpm и добиться правкой кода, чтобы это преобразование выполнилось идеально.
Проблема alien и deb->rpm лишь в том, что не все пакеты преобразуются, но если автор сам озаботится этим вопросом, то преобразование deb->rpm создаст универсальный rpm пакет.
%post и тому подобные скрипты стоит убрать, создание desktop-файла в домашней /root директории не нужно.
В файле desktop строки вида:
X=
стоит убрать, не все DE интерпретируют пустые строки, в итоге запуск программы через Меню становится невозможным.
Это [$e] тоже отработает не везде, лучше убрать.
То есть необходимо провести полную унификацию исходных текстов, начав с desktop файла, оставив в нем лишь необходимый минимум, и так далее.

Консоль на мыло. Надо развивать графику.

49

romkaromka пишет:

xwicked... написать код так, чтобы он ни от чего извне не зависел....

Уж ни библиотека ли Qt4 имеется ввиду?

romkaromka пишет:
xwicked⇓ пишет:

... То есть необходимо провести полную унификацию исходных текстов, начав с desktop файла, оставив в нем лишь необходимый минимум, и так далее.

Вот. вот, я об этом же. Сейчас мне советы такого плана не нужны. Мне нужна реальная помощь, а не абстрактный совет в вакууме. Для начала нужно сделать так, чтобы qmake выполнял максимально-возможные действия - остальное отдать скриптам. Не ты первый советуешь такую "универсальность". Я даже не буду тебе приводить примеры - изучи предметную область более детально.

А за попытку помощи благодарю!  ab

50

Я то как раз предметную область хорошо изучил, и у меня опыт несколько лет использования универсальных пакетов. Приведенные ссылки - мои собственные, я автор проекта vpnpptp.
Библиотека Qt4 тут не причем, жаль, что Вы даже не попытались вникнуть в то, что я писал. Речь идет, в частности, об отказе писать Requires прямо вручную, оставив эти вопросы автоматике, ну и другие тонкости универсальности.
Я пытался реально помочь, проиллюстрировал всю последовательность действий, а получил характеристику "абстрактный совет в вакууме". Ну-ну. Только в моем проекте он не абстрактный, а самый что ни на есть реальный, действенный, рабочий, доказанный годами.
Не надо писать, что "текущий зоопарк дистрибутивов так несовместим друг с другом", если руки кривые.

Консоль на мыло. Надо развивать графику.

51

xwicked, ну вы, блин, даете. С вашим подходом вообще не надо заморачиваться на исталляторы - "пущай сами из  исходников собирают". Я вообще не понимаю в чем сырбор. Ну реально же нет ни каких проблем. Уж в deb и rpm точно. У меня только для слаки вызвало проблему. Решаемую. Даже знаю как. Но у меня проект по сути заморожен. А вы же работает над своим.
Вы ж както говорили, что то типа "хочу, чтоб во мне видели профессионала" (писали на разных языках). Так создание пакетов было бы более полезным шагом.

Ну да ладно. Ваш проект, ваши решения....

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

52

voral⇓ пишет:

Так создание пакетов было бы более полезным шагом.

Вот и я о том же.

Консоль на мыло. Надо развивать графику.

53 (10.05.2013 22:47:27 отредактировано romkaromka)

Я поглядел https://github.com/Voral/numericsystem/ … e_deb32.sh voral тоже также как я универсальные пакеты собирает и выкладывает тут http://www.va-soft.ru/project_6.html .

Консоль на мыло. Надо развивать графику.

54 (21.05.2013 23:09:13 отредактировано romkaromka)

Опакетил для Магеи: ftp://ftp.mageialinux.ru/. Взял в EduMageia. Чего еще есть из Ваших проектов готовое для образовательного процесса? Опакечу.

Консоль на мыло. Надо развивать графику.

55 (26.05.2013 09:11:05 отредактировано romkaromka)

Эта падучая:

xwce-0.5.6
Ошибка сегментирования

Ошибки:
- при вводе слова если ввести меньше, чем требуется, то вводит иероглифы,
- требуется больше защиты от дурака при различных некорректных вводах - ошибки сегментирования скорее всего из-за этого,
- не определяет русский язык автоматом при первом запуске.
Тоже самое и с xwcv.
Требуется серьезная отладка и доработка.
Тестовые пакеты готовы ftp://ftp.mageialinux.ru/mageia2/construct/ , но в стабильный репозиторий переносить никак нельзя.

Консоль на мыло. Надо развивать графику.

56

romkaromka пишет:

Опакетил для Магеи: ftp://ftp.mageialinux.ru/. Взял в EduMageia. Чего еще есть из Ваших проектов готовое для образовательного процесса? Опакечу.

Благодарю! Пока больше нет.

romkaromka пишет:

Эта падучая:

xwce-0.5.6
Ошибка сегментирования

Ошибки:
- при вводе слова если ввести меньше, чем требуется, то вводит иероглифы,
- требуется больше защиты от дурака при различных некорректных вводах - ошибки сегментирования скорее всего из-за этого,
- не определяет русский язык автоматом при первом запуске.
Тоже самое и с xwcv.
Требуется серьезная отладка и доработка.
Тестовые пакеты готовы ftp://ftp.mageialinux.ru/mageia2/construct/ , но в стабильный репозиторий переносить никак нельзя.

Это 2-е заготовки, которые были до Клёст-кроссворда. Их я оставил, чтобы спустя годы можно было посмотреть с чего всё начиналось... А если серьёзно, то у меня всё руки никак не дойдут до того, чтобы перенести стабильный код из Клёст-кроссворда обратно, чтобы стабилизировать имеющиеся функции.

57

Там же вроде совсем другие кроссорды, не клёст.

Консоль на мыло. Надо развивать графику.

58 (24.06.2013 21:34:28 отредактировано xwicked)

romkaromka пишет:

Там же вроде совсем другие кроссорды, не клёст.

Если посмотреть на дату создания обеих программ, то можно увидеть, что это 2-е части, которые в будущем объединились в одну "Профессиональный кроссворд". Он, в свою очередь, поменял название на патентованное "Клёст-кроссворд". Вот как-то так. Оставил я ещё для тех, кто будет делать свои ответвления или экспереметировать с новыми возможностями. Вообщем как тестовая площадка для полёта фантазии других разработчиков.

59

На сайте ничего не написано.

Консоль на мыло. Надо развивать графику.

60

romkaromka пишет:

На сайте ничего не написано.

В новостях точно есть. Такое же замечание про плагин qt4-database-plugin-sqlite-4.8.4-7.mga3.i586.rpm. Он должен быть в зависимостях.