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

Работа над общим интерфейсом главного окна

 

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

0 + 0 -

Реализация окна выполнения SQL запросов

 

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

0 + 0 -

Работа над функциями открытия проектов

 

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

0 + 0 -

Реализация диалога для настройки внешних связей между таблицами

 

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

0 + 0 -

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

 

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

0 + 0 -

Реализация компоновки главного окна и журнала события

 

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

0 + 0 -

Реализация контрола компоновки

 

Вот и добрался я до реализации контрола компоновки в одну стопку. Да, именно РЕАЛИЗАЦИИ, а не копипаста! Сегодня я практически ничего не копипастил из старой версии программы, а делал этот контрол с нуля. Да, такая работа интереснее. Не переделыванием заниматься а именно деланием чего-то нового, хоть и уже в прошлом реализуемого. Рутина выматывает до невозможного, требуется новизна. А сам контрол получился довольно компактным, легковесным и не навороченным. Да, тут надо заметить, что все навороты с этой компоновкой не имели большого смысла. Я тут пока что не стал даже реализовывать механизма drag-and-drop. Это всё можно будет сделать в будущем при необходимости. А пока особой необходимости нет. Потому как сложная система компоновки сейчас без надобности и все навороты в СВП были не такими нужными...

0 + 0 -

Работа над парсером SQL: приходится делать всё вручную

 

Да, погряз я в работе над бэкендом. Уже который день. Да и сколько будет недель. Сейчас у меня на повестке дня стоит парсер SQL. С ним целая история. Возню с этип парсером я начал ещё на позапрошлой недели. И так с ним и вожусь. Хотя уже давно хотел перейти к работе над интерфейсом. Но уж лучше до конца и в качестве реализовать все C#-классы движка. Так что вот так. Ну а эти классы на этот раз я решил основательно переделать а не просто скопипастить код с рефакторингом из старой версии программы в новую. Да, капитальное переустройство. И, наконец, финально. На этот раз я делаю парсер максимально корректным и максимально не заполоненным багами...

0 + 0 -

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

 

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

1 + 0 -

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

 

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

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