Все потоки
Поиск
Написать публикацию
Обновить
-2.1

Delphi *

Объектно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Экосистема Delphi

Время на прочтение3 мин
Количество просмотров4.7K

Декомпозиция


Чтобы правильно проанализировать текущее состояние практически любой IT-технологии нужно представлять её экосистему. Функциональное наполнение релиза, нефункциональные показатели качества — все они не имеют некой «абстрактной» ценности, а представляют собой результат обмена веществ в этой экосистеме.

Грубыми мазками картина выглядит следующим образом. Можно выделить 4 основных компонента:
  • Embarcadero как производитель
  • Технологические партнёры
  • Сообщество (+IT-эксперты)
  • Основная группа потребителей — прикладные программисты
Читать дальше →

Перед XE3

Время на прочтение3 мин
Количество просмотров4.9K

Delphi, угол зрения


В последнее время участились случаи генерации всяких слухов, сливов и оползней, которые, как ни странно, очень приветствуются. Такие феномены обладают внутренней особенностью к распространению в самоподдерживающемся режиме или, кому нравится, переходу в режим автоколебаний. Тенденция к негативной интерпретации информационно-тематических выплесков требует правильной постановки штатива телескопа, т.к. даже антивирусу понятно, что сфокусироваться даже на неподвижном объекте, стоя в гамаке, натянутом между мачтами парусника в открытом море, очень сложно. Тем более что наш объект достаточно подвижен, а его траектория не всегда представляет собой идеальную прямую, что характерно для развития любой IT-технологии. Но сейчас мы поговорим о текущем состоянии продукта под названием Delphi. А для этого нужно посмотреть на происходящее чуть-чуть по-другому (=максимально непредвзято).
Читать дальше →

SQLite и UNICODE

Время на прочтение10 мин
Количество просмотров62K
Первая часть — вводная.
Вторая часть — быстрый старт.
Третья часть — особенности.

Несмотря на то, что эта тема затрагивалась на Хабре и раньше, некоторые ключевые вещи не прозвучали. В этой статье делается попытка «закрыть тему». Замечания по дополнению/исправлению приветствуются.

Читать дальше →

RAD Studio XE3 — изменения в EULA?

Время на прочтение2 мин
Количество просмотров3.9K
Сегодня на одном из азиатских сайтов появился текст, якобы представляющий собой конфиденциальное письмо компании Embarcadero Technology своим партнёрам по поводу предстоящего введения ограничений в EULA. Привожу ниже перевод письма, а от себя добавлю, что, если сказанное там окажется правдой, то вряд ли буду апгрейдиться до XE3 — из принципа. Итак:
Читать дальше →

Маленькие хитрости: автоматическое восстановление вида указателя курсора

Время на прочтение2 мин
Количество просмотров3.6K
Добрый день, коллеги!

Те из вас, кто пишет клиентские приложения, наверняка сталкивались с необходимостью менять вид курсора, чтобы показать пользователю, что в данный момент приложение выполняет какую-то обработку данных (длительную или не очень) или выполняет запрос к базе. Хочу поделиться маленькой хитростью, как упростить себе жизнь. Подробности под катом.
Читать дальше →

MVC-подход к реализации пользовательского интерфейса в Delphi. Часть 3. Объекты

Время на прочтение8 мин
Количество просмотров17K

В предыдущих частях статьи (1, 2) я показал, каким образом можно организовать работу с внутренними данными приложения и пользовательским интерфейсом через одну точку входа — модель. Изменения модели автоматически отражались в пользовательском интерфейсе. При этом для упрощения в качестве модели я использовал простые property класса формы, setter которых может привести GUI интерфейс к текущему состоянию модели. В данной части статья я покажу, как интерфейс может реагировать на изменения самих объектов внутри приложения.
Читать дальше →

MVC-подход к разработке пользовательских интерфейсов в Delphi. Часть 2. Списки

Время на прочтение8 мин
Количество просмотров15K


Предыдущая статья была посвящена всего одной галочке. Пора переходить к чему-то чуть более серьезному. Сегодняшняя тема — представление списков и связь GUI-списков с внутренними данными. Статья предназначена для Delphi-разработчиков.
Читать дальше →

MVC-подход к разработке пользовательских интерфейсов в Delphi. Часть 1. Галочка

Время на прочтение7 мин
Количество просмотров29K

Не буду писать красивых предисловий, потому что статья не развлекательная, а скорее техническая. В ней я хочу обратиться к приемам программирования пользовательского интерфейса классических desktop-приложений Delphi в MVC-стиле. Это вводная статья из последующей серии.
Тех немногих, кто еще пользуется этой средой разработки, прошу под кат.
Читать дальше →

Создаем Splash Screen на Delphi

Время на прочтение4 мин
Количество просмотров19K
image
Если при загрузке программы, показывается Splash Screen (это небольшое окно с картинкой), то к таким программам пользователи относятся лучше, чем программам, при запуске которых несколько секунд ничего не происходит.
В интернете есть много примеров изготовления Splash Screen-а в Delphi, однако обычно это квадратная форма с натянутой на ней картинкой.
Но у многих программ это не квадратная форма, а красивое окно со сглаженными краями.
Я пытался сделать такое окно с помощью регионов, но края были неровные и смотрелись неказисто.
Выходом стали «Слоистые окна» (LayeredWindow).
Читать дальше →

Долгожданное обновление компонента Virtual Treeview V5.0.0 RC1

Время на прочтение1 мин
Количество просмотров9.2K
Разные вариант отображения содержимого в Virtual TreeviewМногие Delphi разработчики знают и используют этот замечательный бесплатный компонент для вывода деревьев, списков и таблиц.
Пользователи The Bat! видят его ежедневно, просматривая списки писем.
Компонент отличается высокой скоростью работы с узлами и широкими возможностями по настройке оформления, поддерживает Unicode.

Последняя версия компонента 4.8.7 вышла в октябре 2010 года, и надежды на обновления были слабыми.
Но, все таки, обновление вышло!
Пользователи Delphi XE2 теперь будут рады, теперь можно радовать и пользователей 64-битных систем.
Читать дальше →

Windows Sockets, IOCP и Delphi

Время на прочтение10 мин
Количество просмотров15K

Пролог


Недавно я столкнулся с необходимостью эффективной работы с сокетами в Windows приложении. Задача типичная для нагруженного сервера. Нетипичным тут будет казаться только язык реализации — Delphi.
Я хочу описать способ массовой асинхронной работы с большим количеством сокетов с использованием I/O Completion Ports.
Читать дальше →

Библиотека OmniThreadLibrary — простая многопоточность в среде Delphi

Время на прочтение9 мин
Количество просмотров31K
Написать интересную статью на техническую тему очень сложно. Приходится балансировать между тем, чтобы не скатиться в технические дебри и тем, чтобы совсем ничего не сказать. Сегодня я попробую в общих словах (без деталей) поговорить о том, как обстоят дела с разработкой многопоточных desktop-приложений в не столь популярной на сегодняшний день, но наверняка знакомой многим российским разработчикам среде Delphi. Статья ориентирована на НЕ новичков в программировании, являющихся при этом новичками в области создания многопоточных приложений.
Читать дальше →

Использование Google Speech API для управления компьютером

Время на прочтение3 мин
Количество просмотров72K
Добрый день всем хабражителям.

На хабре уже писалось несколько статей о использовании Google Speech API, в том числе о его применении при создании Умного дома.

В этой статье я хочу рассказать как можно написать небольшую программку для голосового управления компьютером.

Кому интересно, прошу под кат.
Читать дальше →

Ближайшие события

Работа с объектами СУБД Caché на примере Delphi

Время на прочтение17 мин
Количество просмотров11K

Несмотря на перманентные похороны Delphi, эта платформа построения Desktop приложений живёт и здравствует, а со сменой владельца даже обретает второе дыхание и продолжает оставаться основным инструментом для тысяч разработчиков во всём мире.
Как и с любыми другими СУБД, Delphi прекрасно взаимодействует с СУБД Caché.

Из Delphi можно подключиться к Caché, используя следующие интерфейсы:


В данной статье будут рассмотрены примеры использования объектного интерфейса при работе с СУБД Caché.
Читать дальше →

WebBrowser, заполнение поля типа file на Delphi

Время на прочтение5 мин
Количество просмотров3.7K
При работе с компонентом WebBrowser часто возникает необходимость заполнять поля форм на сайте. С обычными полями формы никаких проблем нету, для их заполнения существуют стандартные методы, а вот поле с типом file браузер упорно отказывается заполнять. Причина этому — защита пользователей. Если бы браузер позволил свободно подставлять в это поле путь к файлу на компьютере пользователя, тогда с помощью простенького JavaScript встроенного в страницу сайта можно бы было легко увести любой файл.

Но так как программа использующая браузер и так имеет доступ к пользовательским файлам, теоретически, такая защита не должна была бы срабатывать против неё. Но имеем то, что имеем, а потому необходимо искать обходные пути.
Читать дальше →

Домашняя электронная библиотека: MyHomeLib + FBD

Время на прочтение6 мин
Количество просмотров118K
Думаю, практически каждый любитель электронного чтения сталкивался с ситуацией, когда объем скачанных из сети книг увеличивается настолько, что найти в папке с ними нужную книгу становится сложнее, чем скачать ее заново. В этом случае многие пытаются систематизировать коллекцию, некоторые оставляют все как есть и продолжают скачивать все подряд в надежде когда–нибудь привести все в порядок, другие же просто перестают скачивать книги в надежде на то, что при необходимости все нужное найдется в интернете.

Читать дальше

Сохранение истории изменений файлов

Время на прочтение2 мин
Количество просмотров11K
Наверняка почти каждый сталкивался с ситуацией, когда при разработки какого-либо проекта, Вы, случайно сохранили изменения в каком-либо файле по ошибке, и отменить действие — нельзя. Например, я однажды редактировал одну картинку в фотошопе, и при сохранении по невнимательности выбрал для сохранения совсем другой файл, навсегда переписав его. На перерисовку того файла было потрачено полтора часа, и все это из-за того, что делать резервные копии каждые 20 секунд вручную невозможно.

Именно после этого случая мне в голову пришла идея написать программу, которая будет мониторить каждые N секунд указанный каталог и его подкаталоги на предмет добавления новых файлов и изменения старых. В случае если есть новые файлы или изменения в старых, то она сделает резервную копию этого файла в указанную папку под имя_файла_дата_время. При таком раскладе потерять какие-либо данные будет сложно, т.к. есть полная история всех изменений.

Такая программа была написана мною 2 года назад. Она не раз спасала мои проекты от разных случайностей, но вот совсем недавно я внес в нее несколько изменений, и сейчас презентую ее Вам.
Читать дальше →

Induc по-прежнему угроза для Delphi

Время на прочтение3 мин
Количество просмотров4.7K
Приветствую всякого на этой странице!

Сегодня мой товарищ увлекающийся, помимо всего прочего, разработкой 2D-игр на Delphi прислал мне очередную свою вещицу. Доверяй, но проверяй! — подумал я и по старой доброй традиции отправил файл на VirusTotal. Дождавшись результатов проверки желание побыстрее запустить игрушку как-то пропало… В некоторых ячейках таблицы результатов проверки красивым красным цветом было написано уже знакомое слово «Induc». Немного удившись отсутствию визга (ой, кажется, он так уже давно не делает) своего антивируса я пошёл разбираться. Но не с представителями антивирусной компании, а с устройством заражённого файла.
Читать дальше →

Отправка SMS с 3G/GSM модема

Время на прочтение7 мин
Количество просмотров215K
Привет Хабр. В данной статье я бы хотел поделиться опытом работы с GSM модемом, а точнее опытом отправки SMS сообщений. Ниже будет описана реализация программы на Delphi для отправки SMS сообщений, а так же чтение и удаление входящих/исходящих сообщений с модема. В моём случае это был модем HUAWEI от MTS. Всех кого заинтересовал, прошу под кат.
Читать дальше →

Выпуск RadStudio XE2, Delphi XE2 и других продуктов Embarcadero

Время на прочтение1 мин
Количество просмотров4.2K
image

Выпущены новые версии RadStudio, Delphi и других продуктов Embarcadero.

Заметные изменения:
  • 64-битный компилятор для Windows (8 лет спустя первого упоминания);
  • Кросс-платформерная библиотека визуальных компонентов «FireMonkey». Как я понял, она основывается на купленной в этом году библиотеке компонентов KsDev нашего соотечественника Евгения Крюкова (http://www.ksdev.com/). Заявлена поддержка iOS-устройств и Mac OS X;
  • API для работы с облачными сервисами Windows Azure, Amazon;
  • FastReport в качестве основного генератора отчётов (новость на сайте FastReport).


Читать дальше →

Вклад авторов