Обновить
3.2

Delphi *

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

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

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

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

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

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

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

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

Время на прочтение1 мин
Охват и читатели4.3K
image

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

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


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

Работа с ShapeFile (*.shp) в среде Delphi

Время на прочтение4 мин
Охват и читатели14K
В ходе работы столкнулся с задачей чтения файлов с расширением ".shp". Та информация, которую я нашел в интернете, была разрозненной и расплывчатой, и, поэтому, я решил объединить то, до чего мне пришлось доходить самостоятельно, и рассказать вам.

Постановка задачи


У нас имеется файл с расширением ".shp". В этом файле находится карта в виде изолиний: каждая изолиния сделана отдельным шейпом; наименованием шейпа является высотная характеристика изолинии. Нашей задачей станет считать данные из этого в массив. Массив представляет собой набор точек определенный тремя координатами (x, y, z). Далее этот массив нужно занести в базу данных, но данный момент мы упустим из рассмотрения.
Читать дальше →

Использование процедур и функций в Delphi

Время на прочтение7 мин
Охват и читатели138K
Рано или поздно любому программисту потребляется использовать процедуры и функции. Все мы помним еще с паскаля, что там ничего нет сложного, но некоторые вещи обычно в книжках не описываются, хотя для грамотного составления программы требуется знать.
Читать дальше →

Визуальный компонент-монитор COM-порта

Время на прочтение3 мин
Охват и читатели27K
Сегодня мы попробуем создать визуальный компонент для работы с разного рода считывателями, подключаемыми по COM-порту (правильное название интерфейса – RS232). Наша цель — получать последовательность байт, которую отправляет устройство при считывании.
Читать дальше →

Использование Crinkler с Delphi

Время на прочтение4 мин
Охват и читатели6.1K

Введение


Существует масса способов уменьшить размер исполняемого файла. Когда кастрация системных RTL юнитов уже завершена, а размер по-прежнему режет простор для фантазии демосценера, работающего в направлении 4k intro или 64k demo, в ход вступают компрессоры. Один из самых известных среди них — UPX, т.к. существует под массой платформ и безразличен к содержимому исполняемого файла. Но существуют и компрессоры-линковщики, которые благодаря своей специфике способны производить более тонкие махинации с исполняемым файлом ещё на этапе сборки.
В этой статье пойдёт речь о широко известном в кругу демосценеров линковщике Crinkler и проблемах которые мне пришлось решить, чтобы приспособить это чудо для сборки Delphi проекта.
Читать дальше →

Как перестать программировать на Delphi и начать жить

Время на прочтение4 мин
Охват и читатели90K
Если ты, %username%, едва прочитав заголовок этой статьи, чувствуешь butthurt стойкое неприятие к автору, если слова «TForm1», «circular reference» и «Access violation» для тебя не пустой звук, если после очередного холивара в уголке сознания снова зашевелился червячок — эта статья для тебя.

С завидной регулярностью появляются новые статьи как сторонников так и противников Delphi, и неизменно с новой силой разгорается холивар. И если лет 10-15 назад холивар назывался «Delphi vs C++», то теперь фронт переместился вплотную к окопам сторонников бывшего Borland и спор идет уже в рамках «Delphi vs не-Delphi». Даже самые упрямые последователи Н.Вирта иногда задумываются, почему вдруг стали изгоями и чудаками в сообществе программистов?
Если ты, читатель, все же считаешь что ничего кроме Delphi тебе не нужно для работы, сравни хотя бы вилки зарплат для вакансий Delphi и той же Java. Появилось желание изучить что-нибудь кроме Delphi? Я расскажу с чего начать на основе собственного опыта.
Читать дальше →

Почему Delphi «умирает» или «программист – не читатель, программист – писатель»

Время на прочтение4 мин
Охват и читатели51K
Здравствуйте, уважаемые хабражители! С наступившим Новым годом! Желаю вам удачного кодинга, безбажного кода, понимающих руководителей, понятливых подчиненных и терпения при разборе кода, написанного предшественником.

Хочу поделиться некоторыми мыслями по поводу уменьшения популярности горячо любимого мною языка программирования — Delphi. Итак, не будем тянуть кота за яйца, а возьмем быка за рога.

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

Значит, чтобы получить как можно больше профита, требуется уменьшить затраты на
Читать дальше →

Подробнее об атрибутах в Delphi 2010. Пример — проверка данных

Время на прочтение4 мин
Охват и читатели7.1K
МышаВ моей предыдущей статье Кратко об атрибутах в Delphi 2010, я показал основы связанные с созданием, применением и опросом атрибутов. Однако, я не привел пример, для чего вы могли бы их использовать.

Вероятно, наиболее распространенным является пример для персистентности, и, действительно, кто-то опубликовал подобный пример на сайте Wings of Wind. Я хотел бы показать другое их применение — для проверки данных (Validation).
Читать дальше →

Rad Studio 2011 XE: новое в Delphi, C++ Builder, RadPHP и Delphi Prism

Время на прочтение3 мин
Охват и читатели8.8K
Совсем-совсем недавно вышел новый релиз Embarcadero RAD Studio XE (2010). Предлагаю ознакомиться с новыми возможностями этой среды по сравнению с версией 2010.

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

Постоянно открывающееся окно CPU с остановкой на ntdll.dbgbreakpoint

Время на прочтение1 мин
Охват и читатели3K
Delphi ntdll.dbgbreakpointС недавнего времени почему-то при запуске приложения стало постоянно открываться окно CPU и первая точка остановки ntdll.dbgbreakpoint. Непредвиденные точки останова повторяются часто и необходимо вручную продолжать выполнение. Это говорит о каких-то неполадках или отсутствии информации для отладки в приложении.

Однако, в приложении ровным счетом ничего не изменилось, настройки Delphi не менялись. Откуда же тогда неизвестная информация? Как вернуться к нормальной работе?
Читать дальше →

Контексты RTTI в Delphi 2010: как это работает и как их использовать

Время на прочтение4 мин
Охват и читатели5.1K
Delphi 2010 включает в себя расширенную поддержку RTTI, также известную как информация о типах времени выполнения (run-time type info) или рефлексия. Множество подходов в проектированию раньше были доступны только в управляемых языках, таких как C# и Java, так как для них необходима аннотация кода (code annotation) и интроспекция (самоанализ). Теперь это возможно и в мире Delphi.

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

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

Поддержка рефакторинга атрибутов в Delphi 2010

Время на прочтение1 мин
Охват и читатели1.7K
РефакторингЯ упоминал ранее, что в этом выпуске большая часть работы была отведена для дополнительных функциональных возможностей и их улучшения. В результате, IDE продолжает меня приятно удивлять. Я пробую делать что-то, даже не задумываясь о том, а будет ли это работать вообще, и нахожу что оно не просто работает, а работает даже лучше, чем я мог себе представить.

Один из примеров касается поддержки рефакторинга атрибутов.
Читать дальше →

Преобразование ссылки на интерфейс для реализации класса в Delphi 2010

Время на прочтение2 мин
Охват и читатели5.6K
Не все нововведения в Delphi 2010 большие и заметные. Команда потратила массу времени реализуя множество дополнительных функциональных возможностей, исправлений и улучшений. Некоторые из них могут показаться незначительными по отдельности, но они не только в целом окзывают существенное влияние, но и значительно добавляют гармоничности продукту.

Одна из возможностей Delphi 2010, которая, как мне кажется, породит массу споров — это возможность привести интерфейсную ссылку назад к типу класса, реализующего этот интерфейс.
Читать дальше →

Кратко о RTTI и атрибутах в Delphi 2010

Время на прочтение3 мин
Охват и читатели16K
RTTI (Runtime Type Information) было тщательно переработано в Delphi 2010.
RTTI является центральным элементом, на котором написано Delphi IDE, он существует со времен первого выпуска, однако я слышал от некоторых людей на протяжении многих лет, что они попытались использовать RTTI и нашли это слишком сложным и замысловатым, особенно по сравнению с Reflection API в Java и .NET. Вот это настоящий позор, поскольку возможность писать код для запроса подробной информации о других объектах, не зная заранее их типа, это действительно мощная возможность.
Читать дальше →

TcxFilterControl и TcxDBFilterControl — продвинутые запросы в руках пользователя

Время на прочтение3 мин
Охват и читатели4.1K
В работе почти любой базы данных наступает момент, когда показывать все данные нет смысла, а иной раз и возможности. И тут все начинают увлеченно городить всякого рода формы для первоначального отбора данных, часто с предустановками, например — данные только за сегодня, только в «рабочем» статусе и т.д. Если речь идет про отображение списка сложных документов, например, накладных с 2-мя десятками полей, то окно задания условий может иметь несколько закладок и все равно не решать всех задач. Но, как это часто бывает, все украдено придумано до нас ;)
image
Рис.1 TcxFilterControl в работе
Читать дальше →

Обобщенные интерфейсы в Delphi

Время на прочтение3 мин
Охват и читатели7.2K
Первод стаьи от Malcolm Groves, «Generic Interfaces in Delphi».

imageБольшинство примеров использования дженериков в Delphi используют класс с дженерик-типом. Однако, работая над своим проектом, я решил, что мне нужен интерфейс с дженерик-типом.

В проекте используется встроенный механизм издатель-подписчик. Я захотел чтобы подписчик имел для каждого типа события отдельный метод Receive, а не отдельный метод с огромным case-выражением, выбирающим действие для каждого типа события. Также я не хотел определять интерфейс для каждого типа события. Мне был нужен дженерик интерфейс подписчика, который получает тип события, как параметр.

Однако, я понятия не имел, могу ли я определить дженерик интерфейс, не говоря уже о реализации. Даже если предположить, что я могу сделать это, сможет ли Delphi выбрать правильный метод Receive для вызова? Есть только один способ узнать…
Читать дальше →

Самые интересные публикации 2009 года о Delphi

Время на прочтение5 мин
Охват и читатели7.2K
В этом году в русскоязычном Delphi-сообществе было опубликовано огромное количество материалов. Можно было запросто пропустить что-то интересное. Я постарался собрать в одной публикации ссылки на наиболее интересные публикации 2009 года. Все публикации имеют прямое отношение к Delphi. Получилось довольно много. Большое спасибо любезным авторам!

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

Несколько событий в Delphi-блогосфере

Время на прочтение1 мин
Охват и читатели1K
Несколько новостей связанных с миром Delphi.

DelphiFeeds.ru


Стараниями Александра Божко, в интернете появился агрегатор русскоязычных новостей о Delphi. Сайт сделан по аналогии с известным западным порталом DelphiFeeds.com. В данный момент там собираются анонсы постов с 25 русскоязычных Delphi-блогов.

Адрес: DelphiFeeds.ru

«Дженерики в Delphi 2009 для Win32» в виде PDF-ки


Перевод статьи «Дженерики в Delphi 2009 для Win32» доступен в PDF файле. За вёрстку спасибо Андрею Тишкину.

Скачать можно здесь, либо на домашней странице Sébastien Doeraene (поиск по фразе «PDF form»).

Сравнивая дженерики в C#, C++ и Delphi(Win32) (перевод)


Ну и, на сладкое, доступен перевод статьи Comparing C#, C++, and Delphi (Win32) Generics. Автор: Craig Stuntz.
Перевод выложен в TDelphi-блоге Алексея Тимохина: тынц.

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