А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
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

Работа над структурой объектов для парсинга SQL-запросов и сохранения синтиксиса SQL в свойствах объектов

 

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

1 + 0 -

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

 

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

1 + 0 -

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

 

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

1 + 0 -

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

 

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

0 + 0 -

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

 

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

0 + 0 -

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

 

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

0 + 0 -

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

 

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

0 + 0 -

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

 

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

0 + 0 -

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

 

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

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