А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
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-запросов на панели макета главного окна. Этот журнал видно на самом верхнем скриншоте. До обеда с ним возился. А казалось, что за пару часов можно сделать. Да не тут то было. Ну да ладно, главное он сейчас готов. И посмотреть там можно подробную информацию о выполненных SQL-запросах в базу данных. Включая дату и время, тип запроса, тип объекта, имя объекта (с которым производятся действия в запросе) ну и разумеется сам SQL-запрос. Ну а ещё там справа есть кнопки для копирования SQL-запросов в буфер обмена и кнопка для повторного выполнения этого ранее выполненного запроса. Ну и ещё там можно будет увидеть информацию об ошибке. Если запрос завершиться с ошибкой. Это действительно очень удобно и мне саму сегодня уже пригодилось...

0 + 0 -

Работа над вложенными базами данных, отображением свойств БД + новая идея

 

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

0 + 0 -

Работа над функциями базы данных

 

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

0 + 0 -

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

 

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

0 + 0 -

Начало работы над планировщиком запросов

 

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

0 + 0 -

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

 

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

0 + 0 -

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

 

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

0 + 0 -

Начало работы над диалоговым окном создания баз данных

 

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

0 + 0 -

Завершение работы над представлением таблицы (!!!)

 

Наконец-то!! Свершилось!! Огромная эпопея с работой над контролом для отображения и редактирования таблиц сегодня завершилась!! Уж точно больше двух месяцев ушло на эту работу. Мог ли я представить, что так долго провожусь с этими представлениями таблиц, до того как я начал это делать? Конечно нет! Куда там! Несколько месяцев назад я вообще думал, что управлюсь с этим за пару недель. Но куда там! Всегда умножай предполагаемый срок работы над чем-либо на два а то и три. Ну вот, сегодня я и достиг финала работы с представлениями таблиц. Закончил диалоговое окно (тоже, наконец-то!) для создания PDF-отчетов. Там я допилил парсинг HTML-шаблонов и сделал отправку этих самых сгенерированных отчетов на email. Так что вот так. Дела идут, прогресс наблюдаем, заветное завершение работы над программой неумолимо близиться. И сегодня я поставил точку в большой главе своей работы...

0 + 0 -

Продолжение работы над окном создания PDF-отчетов

 

Ну вот, вопреки всем своим ожиданием я ещё НЕ ЗАКОНЧИЛ работу над этим окно. Что-то производительность работы оставляет желать лучшего. Ни вчера не смог закончить, ни сегодня. Но сегодня у меня просто нет времени работать. Так что вот так. Но генерацию самих PDF-файлов я сегодня уже реализовал, там всё закончено. И таблицы выводятся и диаграммы встраиваются в файлы PDF. Но вот только есть один неприятный нюанс. Расширение библиотеки для создания PDF - QuestPDF для конвертации HTML разметки оказалось до обидного скудным, не функциональным. Там невозможно даже задать форматирование текста. Невозможно использовать стили CSS. И много чего ещё не имеется. Короче дешевая (то есть бесплатная) ерунда. А что тут нужно было хотеть. За бесплатно редко мощь бывает. Есть и другие решения для генерации PDF из HTML, одно из них я вчера даже испробовал - качество разительно отличается от этой бесплатной дешевки. НО. Это расширение стоит денег. И не малых. Демка генерит PDF-файлы с водяными знаками, требующими покупки этого ПО, которое стоит нехилых $ 700 (от $ 700)... 

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