Monthly Archives: June 2016

Как избавиться от зависимости от глобальных переменных при разработке компонента?

Столкнулся с тем, что при разработке компонентов есть published свойства, в которые заносится некоторая информация. И вот вопрос – как передать эту информацию во внутренний модуль компонента? Подробно проблему описал на 2 форумах –How to avoid using GlobalVars in components … Continue reading

Posted in Delphi | Comments Off on Как избавиться от зависимости от глобальных переменных при разработке компонента?

Delphi.Ribbons. Пример программного добавления вкладки

Сохраняю здесь, так как может понадобиться в будущем

Результат

Posted in Delphi, Ribbons | Comments Off on Delphi.Ribbons. Пример программного добавления вкладки

В чем разница между identifying and non-identifying relationships?

Теперь, собственно попробуем наладить взаимосвязи! Но прежде, разберемся с пунктирными и непунктирными линиями во взаимосвязях   Классные объяснения на английском находятся здесь. Больше всего мне понравилось вот это объяснение A book belongs to an owner, and an owner can own … Continue reading

Posted in MySQL | Comments Off on В чем разница между identifying and non-identifying relationships?

MySQL. InnoSetup. “Тихая установка”. Добавляем Uninstall MySQL сервера при деинсталляции основной программы

Чтобы добавить возможность деинсталляции MySQL сервера при деинсталляции основной программы, нужно в код InnoSetup добавить следующую инструкцию

Код целиком, будет выглядеть следующим образом, он включает в себя инсталляцию основной программы, инсталляцию сервера базы данных и его конфигурирование, и его … Continue reading

Posted in InnoSetup, MySQL | Comments Off on MySQL. InnoSetup. “Тихая установка”. Добавляем Uninstall MySQL сервера при деинсталляции основной программы

MySQL. InnoSetup. “Тихая установка”. Загрузка своей базы данных при инсталляции

Продолжаю прошлую тему – устанавливать “тихо” MySQL сервер мы научились. Что дальше? В данном посте посмотрим как при инсталляции сервера MySQL добавить в него свою базу данных. Для этого нам нужен собственно дамп базы, далее нужно дать команду серверу, после … Continue reading

Posted in InnoSetup, MySQL | Comments Off on MySQL. InnoSetup. “Тихая установка”. Загрузка своей базы данных при инсталляции

MySQL. “Тихая” установка при помощи InnoSetup

Когда нужна тихая установка? Например, при установке своей программы, которая опирается на базу данных, например, на mysql. Разберем пример тихой установки 64 битного сервера MySQL в директорию C:\mysql. Импорт базы данных разберем в следующем посте. Работать в основном будем с … Continue reading

Posted in Delphi, InnoSetup, MySQL | Comments Off on MySQL. “Тихая” установка при помощи InnoSetup

Delphi. TRichView. Как вставить картинку и программно изменить её размеры в документе?

На примере SrichViewEdit (ScaleRichViewEdit)

 

Posted in Delphi, TRichView | Comments Off on Delphi. TRichView. Как вставить картинку и программно изменить её размеры в документе?

Delphi. TRichView. Как записать контрол в базу и прочитать его оттуда?

Код для примера, без обработки ошибок. Предполагается, что подключение у нас уже создано в отдельном модуле и на форме добавлен компонент FDQuery. Также в базе создано BLOB поле. Запись в базу через поток MemoryStream

Чтение из базы через поток … Continue reading

Posted in Без рубрики | Comments Off on Delphi. TRichView. Как записать контрол в базу и прочитать его оттуда?

Delphi.TRichView. Как сохранить контрол в поток данных и прочитать его оттуда?

Рассмотрим на примере TWindowsMediaPlayer. Тут всё достаточно просто. Сохранять будем в поток, в дальнейшем этот поток можно передать в Blobstream и далее в базу, Для корректного чтения из потока нужно выполнить процедуру RegisterClass, чтобы TRichView понимал что это такое. В … Continue reading

Posted in Delphi, TRichView | Comments Off on Delphi.TRichView. Как сохранить контрол в поток данных и прочитать его оттуда?

Delphi. Как сделать своё самое простое событие?

Хороший пример создания событий есть на форуме. Попробую повторить, по аналогии, на примере загрузки файла в некоторую директорию. Класс, создающий событие Пусть у нас есть некоторый класс, внутри которого нужно создать событие. Например, класс формы загрузки файлов. Тогда внутри него мы … Continue reading

Posted in Delphi | Comments Off on Delphi. Как сделать своё самое простое событие?