Все лучшие публикации по Delphi за 2012 год в одном месте. Радует, что качество публикаций растёт с каждым годом.
Рад видеть среди новых авторов Александра Багеля (Rouse_), чьи советы и наработки опубликованные на форумах не раз мне помогали. Также, рад видеть новых авторов из Embarcadero (и особенно Сергея Рощина).
Отдельно рекомендую обратить внимание на:
- Перевод справочной системы Delphi (тем, кто не читает на английском)
- Серию постов Александра Багеля (изучаем отладчик)
- Разделы Инструменты и компоненты
- Статью “Разработка через тестирование”
- Материалы по Delphi Spring
- Все публикации и переводы Александра Алексеева
Подборки ссылок за предыдущие годы:
- Самые интересные публикации 2009 года
- Самое интересное в Delphi-блогах за 2010 год
- Лучшее в Delphi-блогах за 2011 год
Оглавление
- Проектирование
- О внутреннем устройстве Delphi
- Delphi XE3
- Delphi XE2
- Работа с БД
- Инструменты для Delphi
- Компоненты и библиотеки
- Полезные советы
- Переводы GunSmoker-а
- Работа с сетью
- GUI, GlScene и разработка игр на FreePascal/Delphi
- DirectX
- Другое
# Проектирование
- Разработка через тестирование (TDD) и Delphi. Александр Котлярский
- Моя «парадигма» работы с потоками (см. комментарии). MrShoor
# Головокружительные возможности Dependency Injection и Delphi Spring
Переводчик: Алексей Тимохин
# Разработка системы плагинов в Delphi. Продолжение старой серии статей «создаём систему плагинов»
Александр Алексеев (gunsmoker).
- Разработка системы плагинов в Delphi
- Разработка системы плагинов, часть 2: разработка API
- Разработка системы плагинов, часть 3: активные плагины
- Разработка системы плагинов, часть 4: взаимодействие плагинов
- Разработка системы плагинов, часть 5: отладка и обработка ошибок
- Разработка системы плагинов, часть 6: UI в плагинах
- Разработка системы плагинов, часть 7: пакеты и оптимизация по размеру
- Разработка системы плагинов, часть 8: расширение системы и обратная совместимость
# MVC подход при разработке GUI в Delphi
Антон Алисов
- MVC-подход к разработке пользовательских интерфейсов в Delphi. Часть 1. Галочка. Антон Алисов
- [Не совсем]-MVC-подход к разработке пользовательских интерфейсов в Delphi. Часть 2. Списки. Антон Алисов
- [Почти]-MVC-подход к реализации пользовательского интерфейса в Delphi. Часть 3. Объекты. Антон Алисов
# О внутреннем устройстве Delphi
- Заметки про Drag&Drop в Delphi. Владислав Баженов.
- Анонимные методы в Delphi. Вопрос по отладке. Андрей Терехов
- Запись вебинара "Обработка ошибок в Delphi (V2).", декабрь 2012. Александр Алексеев.
# Перевод справочной системы Delphi
Источник: http://pascal-study.blogspot.ru Автор: svg
- Идентичность и совместимость типов данных
- Применение пространств имен в Delphi
- Переменные
- Объявляемые константы
- Классы и объекты
- Поля
- Анонимные методы в Delphi
- Методы. Оригинал:Methods
- Свойства. Оригинал: Properties
- События. Оригинал: Events
- Ссылки на класс. Перевод раздела Class References из справочной системы Delphi
- Исключения (исключительные ситуации). Перевод раздела Exceptions из справочной системы Delphi
- Классы и записи - помощники. Перевод раздела Class and Record Helpers из справочной системы Delphi
- Встроенные типы. Перевод раздела Nested Type Declarations из справочной системы Delphi
- Перегрузка операторов. Перевод раздела Operator Overloading из справочной системы Delphi
# Серия статей "Изучаем отладчик"
Цели статьи: рассмотреть основные методы работы с отладчиком, показать его расширенные и редко используемые возможности, дать понимание работы механизмов отладчика на примерах и рассмотреть некоторый набор методов противодействия. Александр (Rouse_) Багель
# Защита программ. Работа с отладчиком.
- Эмулируем GetLocalTime. Что можно сделать для защиты trial программы, чтобы усложнить анализ кода и подмену даты. Александр (Rouse_) Багель
- Теория использования электронных ключей защиты. Александр (Rouse_) Багель
- Отключение главной нити приложения от отладчика и уход от перехвата CreateFile().Александр (Rouse_) Багель
- Простой способ обнаружения эмуляторов ключа Guardant. Александр (Rouse_) Багель
- Уход из под отладчика срывом стэка. Александр (Rouse_) Багель
# RTTI и сериализация
- Работа с XML и сериализация записей (record). Производительность при сериализации в XML. Андрей Терехов
- Заметка о RTTI, TValue и real/double/extended. Андрей Терехов
- Настройки программы в INI с использованием RTTI#7. Андрей Терехов
- Цепочки событий (Event Chain) RTTI#8. Андрей Терехов
- О глобальных переменных и RTTI#9. Андрей Терехов
# Delphi XE3
- Итоги семинара Embarcadero посвященному выпуску Delphi XE3 в Москве 12.09.2012. Александр (Rouse_) Багель
- Знакомство с Delphi XE3. Владислав Баженов.
- Delphi XE3. Обновления в RTL. Владислав Баженов.
- Знакомство с Visual LiveBindings в Delphi XE3. Владислав Баженов.
- Модуль с хэлперами для Integer, Char и TDateTime. Владислав Баженов.
- Delphi XE3: работа с Mac OS X. Владислав Баженов.
- Delphi XE3: работа с XML в Mac OS X. Владислав Баженов.
- Размышления о новинках: Metro UI, Live Bindings, FMX. Николай Зверев.
- TAction в XE3. - Что изменилось? Что нового? Сергей Рощин (Embarcadero)
- TAction в XE3. CustomText и Text. Сергей Рощин (Embarcadero)
- Delphi XE3 Metropolis UI и другое. Андрей Терехов
- Delphi XE3: TStringHelper. Андрей Терехов
# Live Bindings in XE3
- FM2 и работа с данными (LiveBinding). Александр Божко
- Visual LiveBinding. Пример и видео с Семинара 11 октября в Харькове. Александр Божко
# «LiveBindings in XE3» от Malcolm Groves. Перевод.
Переводчик: Сергей Тихонов
- TAdapterBindSource и связывание с объектами. Оригинал: Malcolm Groves, LiveBindings in XE3: TAdapterBindSource and binding to Objects
- Обновление Объектов через Адаптер. Оригинал: Malcolm Groves, LiveBindings in XE3: Updating Objects via an Adapter
- Форматирование ваших полей. Оригинал: Malcolm Groves, LiveBindings in XE3: Formatting your Fields
- TBindSourceDB. Оригинал: Malcolm Groves, LiveBindings in XE3 – TBindSourceDB
# Firemonkey 2.0 (XE3)
- DirectX 10 в FireMonkey 2.0. Евгений Крюков (Embarcadero)
- Производительность стилей в FireMonkey 2.0. Евгений Крюков (Embarcadero)
- Растровые стили в FireMonkey 2.0. Евгений Крюков (Embarcadero)
- Два стиля в одном приложении FireMonkey. Всеволод Леонов (Embarcadero)
- Два стиля в двух приложениях FireMonkey. Всеволод Леонов (Embarcadero)
- Установка параметров текста в Fire Monkey 2 (интерфейс ITextSettings). Сергей Рощин (Embarcadero)
- Настройка FireMonkey стиля на контролах и формах. Cвойство StyleLookUp. Алексей Шарагин (Embarcadero)
- Настройка VCL стиля на контролах и формах. Свойство StyleElements. Алексей Шарагин (Embarcadero)
- Firemonkey - разговор с разработчиком. Запись вебинара с Е. Крюковым.
- Запись вебинара FireMonkey Styles с Евгением Крюковым
- Запись вебинара "FireMonkey 2.0, разработка компонентов с Ярославом Бровиным"
# Ярослав Бровин (Embarcadero) о Firemonkey 2.0
- Элементы управления Picker в FireMonkey. Кто такие, зачем нужны и как ими пользоваться? (Pickers in XE3)
- Слайдер изображений своими руками при помощи FMX 2.0. Часть 1
- Слайдер изображений своими руками при помощи FMX 2.0. Часть 2
- Часть 0. Разработка компонентов под FMX 2.0. История сотворения мира
- TListBox в FireMonkey. Создание своих стилизованных итемов для TListBox. 1 часть
- Часть 1. Разработка компонентов под FMX 2.0. Обзор архитектуры. Первое приближение
- TListBox в FireMonkey. Создание своих стилизованных итемов для TListBox. 2 Часть
- FMX 2.0. Глобальная замена платформенного стиля по умолчанию без TStyleBook
- Часть 2. Разработка компонентов под FMX 2.0. Кнопка с картинкой
# Firemonkey от простого к сложному. Владислав Баженов.
- FireMonkey. От простого к сложному #11. Инструменты для работы со стилями (MonkeyStyler, MonkeyRecolor и т.д.). Владислав Баженов.
- FireMonkey. От простого к сложному #12. Использование Drag&Drop. Владислав Баженов.
- FireMonkey. От простого к сложному #13. Меню из простейших компонентов. Владислав Баженов.
# Видео-ролики от Дейвида Ай про XE3
Перевод: Всеволод Леонов (Embarcadero)
- 1/32. первый из 32-х, очень хорошо взбадривает и освежает впечатление от XE3.
- 2/32. Аудио/видео в мульти-платформенных проектах FireMonkey.
- 3/32. Получение списка аудио/видео устройств в мульти-платформенных проектах FireMonkey.
- 4/32. Получение списка аудио/видео устройств в мульти-платформенных проектах FireMonkey.
- 5/32. Новые возможности FireMonkey 2.0 по размещению элементов визуального интерфейса на форме.
# Delphi XE2
- Delphi XE2: Hello, Mac OS! Владислав Баженов.
- Variant := TObject.Create ? Семен Хмелев
- LiveBindings в действии, 1. Всеволод Леонов (Embarcadero)
# Firemonkey 1.0 (XE2)
- Немного покритикую FireMonkey. Роман Янковский.
- Расширяем TTabControl в FireMonkey. Роман Янковский.
- FireMonkey - Мигающая кнопка. Всеволод Леонов (Embarcadero)
- Fire Monkey: первый кубик деревом. Николай Зверев.
- Fire Monkey: Camera Test. Николай Зверев.
- FireMonkey.RayCastIntersect - преобразование 2D координат текущего положения курсора мыши в 3D координаты точки объекта. Евгений Чмель.
- TMesh в действии - о построении поверхностей второго порядка. Евгений Чмель.
- FireMonkey HD + 3D, часть 1. Всеволод Леонов (Embarcadero)
- Таблицы TGrid и TStringGrid в FireMonkey. Андрей Терехов
- FireMonkey и MyShows.ru #3. Андрей Терехов
- Firemonkey на практике #2. Освещение и материал поверхности 3D объектов. Александр Божко
- Firemonkey на практике #3. Использование 3D моделей. Александр Божко
- FireMonkey. Tips & Tricks: Как импортировать COLLADA (.dae) модель в FireMonkey программно (в Run Time). Александр Божко
- Firemonkey на практике #5. Использование импортированных моделей. Александр Божко
# Firemonkey от простого к сложному
Владислав Баженов.
- #4. Компоненты FMX: таблицы.
- #5. Эффекты перехода для компонентов.
- #6. Class Helper для элементов меню.
- #7. Работа с компонентом TPath.
- #8. Разработка программы «Я математик».
- #9. Впечатления от использования.
- #10. Доработка TabControl для «Я математик».
# Переход с VCL на FMX
- Переход с VCL на FireMonkey. Всеволод Леонов (Embarcadero)
- Переход с VCL на FireMonkey, TCanvas. Всеволод Леонов (Embarcadero)
# Работа с БД
- Компоненты для доступа к БД. Кто быстрее? Часть 6. (опубликовано в 2011 году, но в прошлом обзоре я этот пост упустил, а материал полезный) - тестирование компонентов доступа к БД в Delphi: SqlLite 3, ClientDataset, DBF (Advantage), TurboDB 6, Dbisam 4.30, MS Access 2010, AbsoluteDatabase 6.05, EasyTable 6.50, Accuracer Database 5.50, NexusDB 3.05.01, Embedded Firebird. Сергей Беленков (SerB)
- Работа с объектами СУБД Caché на примере Delphi (копия статьи - на Хабре). servit (Intersystems)
- Изображения в SQL Server 2008 Express, с использованием FILESTREAM и WIC. Андрей Терехов
- SQLite и UNICODE. Григорий (Krovosos)
# dbExpress
- Внутренности dbExpress. Евгений Чмель.
- Работа с dbExpress - простенький и интересный пример. Евгений Чмель.
- SQLite в Delphi XE3. (dbExpress) Владислав Баженов.
# DataSnap
- DataSnap server как сервис. Евгений Чмель.
- Windows 7 x64, IIS, ISAPI и DataSnap XE2 в картинках. Владислав Баженов.
- ISAPI, MySQL и DataSnap XE2. Владислав Баженов.
# Работа с СУБД Oracle дома. Быстрый старт.
Николай Зверев.
- Работа с СУБД Oracle дома. Быстрый старт
- Oracle дома. Быстрый старт. Часть 2: настройка виртуальной сети для VirtualBox
- Oracle дома. Быстрый старт. Часть 3: установка и настройка oracle-клиента
- Oracle дома. Быстрый старт. Часть 4: из Delphi в Oracle
# Инструменты для Delphi
- FinalBuilder (Embarcadero Edition) – обзор. Александр Божко
- Чтение в FinalBuilder VersionInfo из проекта Delphi 7. Семен Хмелев
- Редизайн интерфейса приложения. #8: Используем QA Audits. Александр Божко
- UML моделирование в Delphi. Часть 1. Андрей Терехов
- UML моделирование в Delphi. Часть 2. Андрей Терехов
- Обзор Documentation Insight Enterprise v.2.6. Владислав Баженов.
- Revised Object Inspector для Delphi 2010-XE3 от Uwe Schuster. Продвинутый инспектор объектов для Delphi. Описание. Алексей Тимохин.
- Delphi + Git. Александр Котлярский
- Новые фишки в CnPack IDE-Мастере. Юрий Петров
- Автоматическое изменение свойств в dfm и dproj затрудняют контроль версий. Kverde (блог DelphiWay)
- HTML5 Builder глазами Delphi-разработчика. Владислав Баженов.
# Компоненты и библиотеки
- 23 решения для локализации и интернационализации приложений. Владислав Баженов.
- Проверка орфографии в Delphi с помощью библиотеки Hunspell. Kverde (блог DelphiWay)
- Простейший пример использования Fastcube для анализа данных. Олег Прялков (Fast Report)
- Преобразование отчетов Rave Report в FastReport. Александр Божко
- Быстрая обработка данных Excel в Delphi. Владислав Баженов.
- Библиотека OmniThreadLibrary — простая многопоточность в среде Delphi. Антон Алисов
- Сделан перевод на русский язык книги: Параллельное программирование с OmniThreadLibrary
- Шпаргалка. Использование Microsoft Script Control в приложениях - #1. Дмитрий Кузан
- Шпаргалка. Использование Microsoft Script Control в приложениях - #2. Дмитрий Кузан
- Шпаргалка. Использование Microsoft Script Control в приложениях - #3. Дмитрий Кузан
- Как я локализовал свое приложение на Delphi. Выбор инструмента для локализации. Vasiliy Pupkin/Akella/X11
- Function Discovery API. Я тут было озадачился вопросом, как программно отправить видео воспроизводится на ТВ по DLNA. Андрей Терехов
# Авторские работы
- Delphi Notes Splitter обновлён (v1.08) Николай Зверев.
- Компонент TDBComboBoxEx. Александр Чмиль
- Компонент TMStringGrid. StringGrid с объединением ячеек, выравниванием текста, и редактором ячеек в виде ComboBox-а. Дамир
- Парсер математических выражений. Быстрое вычисление выражений и массива выражений. Юрий Писарев
- Продвинутые диалоговые окна. Павел Разбойников
- TTrackLabel. Простой и изящный подход к реализации окна настроек. Александр Котлярский
# Firemonkey - обзоры компонентов
- Первая ласточка: TMS Instrumentation Workshop . Александр Божко
- Apesuite. Александр Божко
- TMS Pack for FireMonkey. Александр Божко
- FastReport для FireMonkey. Александр Божко
- Обзор TMS Grid для FireMonkey (TMSFMXGrid). Владислав Баженов.
- Вебинар FastReports for FireMonkey
# Полезные советы
- Нужны ли недокументированные API? Об оптимизации. Александр (Rouse_) Багель
- Красивые disabled иконки «малой кровью». Ярослав Черных
- Маленькие хитрости: автоматическое восстановление вида указателя курсора. Виктор Востриков
- Позиционирование курсора в центре DBGrid’a. Евгений Чмель.
- Работа в Delphi с интерфейсом SubWCRev программы TortoiseSVN. Kverde (блог DelphiWay)
- Полезняшки. Загрузка файла в БД в виде внедренного OLE-объекта без использование стандартного OleContainer. Дмитрий Кузан
- Полезняшки: DevExpress.cxVirtualVerticalGrid как средство редактирование и отображения данных таблицы БД. Дмитрий Кузан
- Доступ к переменным Thread local storage (TLS) любого треда. Дмитрий (DCa)
- Бесконечные генераторы значений на Delphi + Ассемблер. Дмитрий (DCa)
- Расставляем точки над i в Delphi RAII. (RAII – это) Иван Левашев
- Windows Sockets, IOCP и Delphi. способ массовой асинхронной работы с большим количеством сокетов с использованием I/O Completion Ports. Mr_Developer
- Определение серийного номера съемного носителя. Источник: Блог Энтропия
- Авторизация с использованием съемного носителя. Источник: Блог Энтропия
# Переводы GunSmoker-а
Александр Алексеев (gunsmoker).
- Некоторые папки двигать нельзя - и вам придётся научиться с этим жить. Это перевод Some known folders cannot be moved, but others can, and you'll just have to accept that. Реймонд Чен.
- Как мне найти программу, которая держит этот файл? Это перевод How do I find out which process has a file open? Реймонд Чен.
- Используется ли файл? Это перевод Is File In Use. Christian Wimmer.
- Об окнах Windows. Это перевод About Windows. MSDN.
- Возможности окон Windows. Это перевод Window Features. MSDN.
- Наверняка вы думаете о сборке мусора неправильно. Это перевод Everybody thinks about garbage collection the wrong way. Реймонд Чен.
- Как безопасно отправить SIGINT в главный поток? Это перевод How can SIGINT be safely delivered on the main thread? Реймонд Чен.
- Что означает исключение Invalid Handle в LeaveCriticalSection? Это перевод What does an invalid handle exception in LeaveCriticalSection mean? Реймонд Чен.
# Работа с сетью
- Загрузка изображений в формате multipart/form-data на Яндекс.Фотки. Владислав Баженов.
- Synapse: работа с вложениями в письмах. Владислав Баженов.
- Работа с IMAP в Synapse #1. Владислав Баженов.
- Использование JSON при работе с Google API. Владислав Баженов.
- Парсинг JSON в Delphi под Windows и MacOS. Владислав Баженов.
- Synapse: работа с WebDAV на примере Яндекс.Диска. Владислав Баженов.
- Пример использования перечислителей в SuperObject. Владислав Баженов.
- API Яндекс.Диска: чтение списка ресурсов и скачивание файлов. Владислав Баженов.
# GUI, GlScene и разработка игр на FreePascal/Delphi
- О разработке небольшой игры с помощью Lazarus. Александр (Corwal)
- Box2D на Delphi. Часть 1. Введение. Адаптированный к Delphi перевод мануала к физическому движку Box2D. Andrew Jacuk
- Box2D на Delphi. Часть 2. Hello, World! Andrew Jacuk
# Lampogolovii о GUI и разработке игр
Я включил в подборку только те посты, которые имеют отношение к Delphi. В блоге же автора можно найти и другие материалы.
- Gui: использование анимированных кнопок
- Gui: ButtonsDemo
- Поговорим о дизайне игр?
- Конкурс на GlScene: Бомбермен
- Gui: простая анимированная кнопка
- MenuManager, стартуем...
- Психология разработки: взлеты и падения...
- ZenGL: введение - GL движок для кроссплатформенной (Linux, MacOs, iOs, Android, Windows) разработки игр на Lazarus
# DirectX
- Getting Started with DirectWrite. Андрей Терехов
- DirectWrite: CustomTextRenderer, Hit-Test. Андрей Терехов
- Direct2D и слоистые окна. Дубль 2. Андрей Терехов
- Загрузка изображений в Direct2D. Андрей Терехов
- Олимпийские кольца. Для рисования используем Direct2D, для анимации Windows Animation Manager. Для уменьшения размера исполняемого файла - реализуем программу без использования VCL. Андрей Терехов
# Другое
- Из Delphi в FreePascal под Mac OSX. Александр Котлярский
- Обзор зарплат программистов Java/C++/C#/Delphi. рекрутинговая компания IT-Доминанта
- Куда стоило бы развиваться Delphi вместо того, куда оно развивается сейчас (в комментариях
чудесный срачоживленная дискуссия). Nashev (habrahabr) - 10 причин перестать программировать на Delphi. Просто мысли в случайном порядке. Александр Котлярский
- Open Source проект на Delphi: Домашняя электронная библиотека: MyHomeLib + FBD. Алексей Пеньков
- Расширяем функциональность клавиатуры с помощью Delphi 7. Александр (Corwal)
- Induc по-прежнему угроза для Delphi. Денис (rst59, habrahabr)
- Delphi Developer Certification. Николай Зверев.
- Интервью с CYBERMANIAC (автора Neo Sign 0f Misery, древней электронной книги “Теоретические основы крегинга”).
В публикации использована фотография с сайта FreeDigitalPhotos.net. Автор: Stuart Miles.
Огромная работа! Спасибо!
ОтветитьУдалитьНа здоровье!
УдалитьИ спасибо за переводы.
Супер, спасибо!
ОтветитьУдалитьЯ в этом году мало публиковался, много времени ест журнал.
Кстати, ссылка "Версия для мобильного" у тебя не работает.
ОтветитьУдалитьСпасибо, исправил.
УдалитьГигантский труд!
ОтветитьУдалитьОт всего прогрессивного Delphi-человечества - СПАСИБО!
На здоровье.
Удалить> От всего прогрессивного Delphi-человечества
От Delphi-человечества - громко сказано. Я надеюсь, что у каждого Delphi-человека, которому сей псто вельми полезным оказался достанет времени на написание личного комментария. А от вас, дорогой Всеволод, мне вполне хватило бы личной благодарности. =)
Я лишь хотел выразить общественное мнение. Часто говорят "спасибо, Всеволод, за то, как растёт популярность Delphi". Я отвечаю - "не мне, людям скажите спасибо за delphifeeds.ru и работу блоггеров". Вот, пользуюсь случаем, передаю "от всех". Что, естественно, не лишает других людей возможности "лично" засвидетельствовать.
УдалитьКруто!
ОтветитьУдалитьОтличная подборка, увидел несколько интересных для меня лично тем. Спасибо :)
ОтветитьУдалитьПожалуйста.
УдалитьСпасибо за интересный материал. Всегда с интересом читаю про то, как могут сломать программу и что можно сделать чтобы это дело затруднить.
Этого еще много будет, пока что самые основы показаны, дальше все сложнее :)
УдалитьЗЫ: добавил ссылку к себе в "рекомендуемые ресурсы" :)
☼ Как некоторые пишут - посылаю тебе лучи добра! ☺
ОтветитьУдалитьНа самом деле это уже ожидаемая подборка (в том плане, что мы сидим и ждём её). Благодаря таким подборкам очень легко искать то, что "вроде где-то уже видел, но точно не помню как называлось". Спасибо :)
Отличная подборка, приятно видеть все в одном месте.
ОтветитьУдалитьВ очередной раз большое спасибо :) Много интересного
ОтветитьУдалить