А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Передел проекта: работа над диалоговыми окнами

 

Да, давненько уже не было постов о ходе разработки. Ну потому что особо ничего интересного не было, о чем можно было бы расписывать. Обычная, ставшая почти что рутинной работа. Потому что программу я делал только в первый год работы над ней. А следующие пять - я только переделываю её и улучшаю. Собственно, чем я сегодня и занимаюсь. Так что вот такие пироги. Мною решено пока убрать все лишние функции из программы. Потому как на их реализацию нужно слишком много времени. А время сейчас у меня - самый дефицитный ресурс. Его очень мало у нужно действительно торопиться, так как на то есть куча причин. Ну и во-вторых работа над всеми этими "понтовыми" и пока лишними функциями усложнит предстоящее тестирование программы и её дальнейшую поддержку. Код получился чрезмерно переусложненным и трудным в его поддержании для дальнейших модификаций. Короче, много лишнего я нагородил...

1 + 0 -

Завершена работа с внешними связями между таблицами

 

Вот и очередной день завершен. И завершена полностью работа над внешними связями между таблицами. Ну а остальную часть дня пришлось тратить на исправление внезапно возникающих косяков. Особенно огорчили косяки при редактировании данных в строках таблицы. Там пришлось немало и очень трудно повозиться, чтобы разобраться в причинах некорректной работы редактирования и сохранения измененных данных. Вот так. Очень всё получилось сложно. Нужно сказать, чрезмерно переусложненно. Что очень затрудняет не только поддержку такого кода но и просто доведение его до результата на этапе разработки. Возникли мысли о том, чтобы упростить код и выкинуть из него всё лишнее, чтобы не тратить кучу времени на возню с не слишком нужным функционалом...

1 + 0 -

Реализация drag-and-drop и окно внешних связей

 

Нелегкий сегодня был день, длинный. Такими длинными у меня сейчас дни не так часто бывают. А тут прямо выдался. Потому что программа меня не отпускала до тех пор, пока я не исправлю все выявленные косяки. Во вчерашнем посте я говорил, что сегодня закончу реализовывать механизм перетаскивания с помощью мыши рядов таблиц, перемещая и добавляя данные в таблицы таким образом. Ну так вот, сиё мероприятие затянулось у меня часов на пять, вместо предполагаемых вчера пары часов. Как всегда не дооценил время работы над чем-то. Всегда кажется, что работы меньше, чем получается на самом деле. Вот так. не просто было эту штуку сделать, но я сделал. Теперь данные между рядами таблицы можно с помощью перетаскивания менять местами, заменять и вставлять. Это в зависимости от того, какая вспомогательная клавиша была нажата во время перетаскивания...

0 + 0 -

Реализация настроек выборки данных из таблицы

 

Ну вот и новая неделя наступила. Неделя за неделей отщелкивают. И работа потихоньку, но движется. Вот сегодня день принес некоторые результаты.  А именно, сегодня была реализована панель с настройками теперь выборки данных. До этого была панель с настройками внешнего вида и функциональности представления таблицы во вкладке. Ну а сегодня были сделаны настройки для фильтрации выборки данных. Так что вот так. Эти настройки видны на панели справа на верхнем скриншоте. Ну, в общем-то, тут и не было такой большой работы. Потому как настройки выборки данных я уже делал в отдельном диалоговом окне. И по большей части мне нужно было лишь перенести паттерны из этого диалогового окна сюда, на эту панель...

0 + 0 -

Завершение работы над настройками представления таблицы

 

Ну вот и воскресный день. Но мы не отдыхаем, а во всю работаем. И день этот ознаменовался тем, что я наконец-то закончил с настройками представления таблицы. Затянулось это мероприятие, слишком затянулось. Надо было это закончить пару дней назад. Но уж как вышло. Хорошо, что наконец-то что-то вышло. Вот, на самом верхнем скриншоте представлено диалоговое окно для настройки шрифта. Шрифт можно настраивать как для заголовков, так и для ячеек в столбцах. Давно это диалоговое окошко кочует из версии в версию программы практически без изменений. Ну а зачем тут что-то менять, если и так всё работает  нормально. Но таких элементов немного. Как правило, приходится каждый раз значительно что-то менять...

0 + 0 -

Работа над параметрами отображения столбцов

 

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

0 + 0 -

Работа над настройками представления таблицы

 

Ну вот, после долгого (в три дня) перерыва работа снова пошла в ход. Вернее она поползла, так как не сразу набираешь нужные обороты. Ну и продолжается создание представления таблицы. Очень непростой и большой по объему работы контрола. Главный контрол программы, выполняющий её основную функцию - отображение и редактирование данных в таблицах базы данных SQLite. Но начало дня было в работе над сохранением временных объектов БД в стационарные. И там я снова наткнулся на косяк, который нужно было поправлять. Работа над поиском и заменой в таблицах БД перетекла к проверке работоспособности функции сохранения временных объектов. Так как при глобальном поиске создается временная таблица с результатами поиска, я решил тут же проверить, как будет сохраняться эта временная таблица на выходе из программы...

0 + 0 -

Завершение работы над поиском и заменой

 

Ну вот, можно сказать, работа над механизмами поиска и замены данных практически завершена. Практически, потому как есть один косяк при глобальном поиске, который делает этот поиск не совсем корректным при повторном поиске. То есть вводишь поисковый запрос в заголовке главного окна в первый раз - всё срабатывает корректно. Ну а запрос второй раз дает ошибку. Так как поиск работает, создавая временную базу данных и складывая туда результаты поиска, то ошибка связана с этой временной таблицей. Непонятно откуда, в класс SQLite посылается запрос на выборку из этой таблицы, который имеет префикс базы данных в имени временной таблицы. В имени временных таблиц не должно быть префикса базы данных, так как это таблица временная и, так сказать, не принадлежит к этой базе данных. Так что вот такие вот сложности из-за этого возникают...

0 + 0 -

Завершение работы над панелью поиска и замены

 

Ну вот и закончен второй из четырех механизмов поиска данных в таблицах. Правильно, что вчера не взялся доделать функцию замены. Потому что это заняло у меня часа три, а не предполагаемые вчера какие-то жалкие полчаса. Так что вот так. Всегда нужно кажущееся время работы над чем-то умножать на два, на три, а то и на четыре. Так и на этот раз оказалось. Да так почти всегда и оказывается. Кроме тех редких случаев, когда справляешься с чем-то быстрее, чем предполагал. Ну а работа функции замены представлена на верхнем скриншоте. Там при нажатии на кнопку "заменить" появляется во такое окошко прогресса и начинает выполняться поиск данных в таблице SQLite с заменой найденных совпадений на указанное пользователем значение...

1 + 0 -

Работа над представлением таблиц продолжается

 

Работа над самым большим и сложным контролом потихоньку идет. Она идет уже не первую неделю и до окончания работы над ним ещё далеко. Хорошо, если за месяц управлюсь. Продуктивность предыдущих дней в силу разных причин была ниже плинтуса. Даже сил и времени не было писать новые посты. Так-то. Очень тут всё не просто дается. Буквально из кожи вон вылезать приходится, чтобы сделать какую-то пустяшную мелось, которая занимает часы времени. 

Вот, на самом верхнем скриншоте представлено диалоговое окно для редактирования данных в ячейках таблицы. Оно может быть удобно при редактировании, когда ширина столбцов небольшая и нужно место в ширь. Это окно скопировано из старой версии программы в текущую, но, конечно-же претерпело существенные изменения...

1 + 0 -
  • Яндекс.Метрика