Archive | Delphi

Delphi. Уменьшение изображения. Обобщение и нюансы

Я уже писал об уменьшении изображения.  Здесь про true уменьшение изображений. То есть прямо, чтобы окрыл файл в проводнике, а оно там стало меньше)) Простой способ уменьшения изображения для UniGUI Как уменьшить много картинок и сохранить их на диске? По сути, у меня всего 2 способа, которые я для себя открыл и пытался использовать. Но сегодня я узнал об их нюансах. Способ №1 – через GDI+ (для idHTTP сервера или основного потока) Нюанс в том, […]

Delphi. Читаем ориентацию из Exif для Jpg файлов и ориентируем правильно

Каждый программист встречается с “Battle”. Иногда сидишь сутками, решая проблему и как прекрасен тот момент, когда понимаешь, как это можно решить. Столкнулся с тем, что если загрузить методом idHTTP.Get jpg файл , у которого в exif данных указана ориентация, скажем “Rotate 90°”, то эта ориентация слетает, и это никак не вписывалось в мои планы. Хотелось нормальной ориентации) Помучившись какое-то время с этим вопросом, я понял следующее. 1. Нужно научиться читать exif информацию 2. Нужно научиться […]

Delphi. TRichView. Обходим глюк с выравниванием таблиц при загрузке HTML при помощи TrvHTMLImporter

Всем привет, давненько ничего не писал в блог. Итак, столкнулся с таким глюком. В чем суть? При загрузке html контента методом RvHtmlImporter1.LoadHtml(s) выравнивание таблиц слетает. Если, скажем, она была выравнена по центру, то она выравнивалась по левому краю. Просидел с этим 2 дня, так как такой вариант меня не устраивал. Решение Использовать компоненты TRVHTMLViewImporter THTMLViewer   У RVHTMLViewImporter1 прописать свойство HTMLViewer и загрузить контент, например таким образом…

 

MySQL. Вставка с инкрементом

Если одно из полей должно возрастать при определенных условиях, можно при вставке выполнить такие инструкции

 

Delphi. Как сделать Ribbon меню на DevExpress?

Делая меню для одной из своих программ, я экспериментировал со встроенными Риббонами из стандартной библиотеки Delphi. Но, скажу честно, отказался от этой идеи. Местами были глюки. Всё настроил, но оно слетает. Пожелание разработчикам стандартных Риббонов Delphi – довести до ума. Остановился на риббонах от DevExpress. Скажу честно, мне эта библиотека очень понравилась, но в неё нужно “вьезжать” какое-то время. Чтоб это время сэкономить тем, кто хочет сделать себе красивое меню для VCL программы, предлагаю данный […]

Delphi.MySQL.Мои компоненты.TPSDBTreeView

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

Delphi. Архитектура приложения. Видимость объектов

Увидел на DelphiMaster, решил сохранить себе Вот несколько принципов, соблюдая которые навсегда избавишься от проблем “видимости”: 1. Объекты, переменные, методы ОБЩЕГО ПОЛЬЗОВАНИЯ всегда размещать в датамодуле, причем сам код датамодуля не должен “ведать” ни о каких переменных извне – все, что ему надо, должно передаваться в параметрах. Ссылку на датамодуль располагать в инфтерфейсной части всех юнитов – “клиентов”, там, где перечисляются VCL-ные юниты. Датамодуль так же, как и гл.формы, должен быть включен в список автосоздаваемых. […]

Delphi. Передаем ссылку на Owner через (Self.Owner as TOwnerType) а не через UnitVar

Проблема Разрабатывал компонент. Ссылку на Owner всегда передавал в inherited конструкторе так

Компонент визуальный. Разместил несколько его экземпляров на форме, стал тестировать. Начались глюки. Скажем, если заполняю какое-то свойство у SomeComponentName1.SomeProperty, то оно заполняется у SomeComponentName2.SomeProperty, а у первого не заполняется. В общем стал копать и похоже SomeUnitVar работает как глобальная переменная, от которых все бегут. Решение Обращаться в локальных методах к Owner через (Self.Owner as TOwnerType), например так…

Такой подход дал положительный результат. Сделать […]

MySQL. Авторизация на языке базы (хранимая функция). И вызов из Delphi

Пример №1 Простая и надежная функция проверки логина, пароля, роли, с результатом tinyint(1)

C результатом VarChar

Вызов из Delphi

Вызов из Delphi

Пример №2 Вот функция в MySQL, которая проверяет пару логин пароль и при обнаружении выдает id пользователя

Эту функцию дал мне Денис Зубов, который также сейчас работает активно с базой MySQL. Вариант от Дениса Зубова

Простая и понятная функция в стиле Си я бы сказал. Делаем выборку […]

Delphi. UniGUI. Делаем фильтры. Быстро и просто

Вот, что у нас получится на выходе Чтобы освоить базовые принципы работы с фильтрами, посмотрите пример, который находится в

Вообще, у UniGUI отличные демки! Можно просто смотреть их и многое делать по аналогии!

« Older posts