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

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

0 + 0 -

Доработка функционала редактирования и сохранения данных

 

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

0 + 0 -

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

 

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

0 + 0 -

Реализация функции открытия файла БД в оперативной памяти

 

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

0 + 0 -

Реализация быстрых диаграмм

 

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

0 + 0 -

Создание диалоговых окон транслитерации и языкового перевода + снова новые идеи

 

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

0 + 0 -

Работа над диалоговым окном обработки данных функцией SQLite

 

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

0 + 0 -

Ещё один день работы с внешними связями таблиц: реализация перелинковки представлений таблиц

 

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

0 + 0 -

Завершение работы по отображению данных в связанных таблицах

 

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

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