Рубрика «Delphi» - 11

С составными файлами я работаю давно, больше 15 лет. За все время работы у меня накопилось достаточно информации о плюсах и минусах составных файлов.
С одной стороны они являются действительно очень удобным хранилищем информации, позволяющим менять данные на лету, с другой стороны это удобство частично нивелируется скоростью доступа к данным.

Вообще для чего обычно используют составные файлы?
Для всего, что нужно хранить в некоем контейнере (NoSQL подмножество).
К примеру, файлы старых версий Microsoft Office от 97 до 2003 включительно (состоящие на самом деле из нескольких десятков файлов), хранились как раз в составном файле. Сейчас тоже хранятся, только в качестве контейнера используется ZIP.

Инсталляционные пакеты MSI тоже являются составными файлами, и даже файл кэша эскизов папок Thumbs.db использует этот формат.

Правда для того же Word есть целый комплекс утилит (Recovery for Word, Word Recovery Toolbox, Munsoft Easy Word Recovery) восстанавливающих, ну или по крайней мере пытающихся восстановить, поврежденные документы. Выводы можете сделать сами.
Хотя, при должной работе с составными файлами проблему их повреждения можно решить (и я покажу как).

Ну и, конечно же, несомненным плюсом этого формата является то, что внутри хранилища эмулируется полноценная файловая система со своими файлами и папками.

Кстати, нюанс. Перед началом статьи я провел опрос на нескольких форумах, и выяснилось, что подавляющее большинство разработчиков не работают с составными файлами, причем по простой причине — не слышали что это такое.
Вот сейчас и закроем этот пробел.
Читать полностью »

Поговорим о том, как «подружить» или настроить Android и RAD Studio XE7 (или Delphi, или C++Builder, или AppMethod).
На самом деле вопрос не очень сложный, но часто поступающие на эту тему вопросы побудили меня написать этот пост.
Читать полностью »

Говоря по правде, я никогда не имел дел с платежными терминалами от QIWI или с софтом для них. Видимо, так сложились звезды, что мое почти пятилетнее общение с платежными автоматами началось с неизвестной фирмочки подвального типа, где и были в 2006-м году приобретены пять «железных друзей» розового цвета. Тем не менее, видя как много вокруг именно QIWI-терминалов, думаю, что их владельцам будет интересно прочитать, как я создал свою собственную сеть, со своим терминальным софтом, процессингом и мониторингом, и, возможно, что-то взять себе на вооружение.
Читать полностью »

История одной игры - 1

Помнится стоял на дворе 2002 год (возможно даже конец 2001-го, кто же сейчас вспомнит). Тогда мы и начали делать эту игру. На руках уже были некоторые наработки. Надо сказать, что наработки эти не могли похваться какой-то красивой картинкой, изяществом, грацией и даже уникальностью. Всё, что было в этих наработках симпотичного — фишки. В то время мне их нарисовал брат. Но в показывать игру белому свету было еще очень рано и не очень хорошо. Она еще была сыра и кроме механики ничем похвастаться не могла, разве что багами. Делал я её в то время один и показывал только знакомым и друзьям, которым она, безусловно, очень нравилась. Будем честны с собой, друзьям всегда всё «нравится» из того, что ты делаешь. Не каждый готов выложить правду, что называется, «в лоб» и сказать что всё ужасно.
Читать полностью »

Недавно мы опубликовали серию статей, посвящённых разработке приложений в FireMonkey. Тогда мы описали ключевые моменты построения приложения, в том числе создание базы данных, подключение данных с помощью технологии LiveBinding, развёртывание приложения на мобильной платформе. Однако, детально рассматривать ньюансы создания мобильных приложений мы не стали. Во многом это связано с тем, что сам процесс мобильной разработки в Delphi эволюционирует от версии к версии. В частности, в последней XE7 на сегодняшний день версии Delphi, был представлен новый дизайнер форм FireUI Multi-Device Designer. В данной статье с помощью небольшого примера мы рассмотрим, что же из себя представляет FireUI и каким образом с его появлением изменилась методология разработки.

Знакомство с FireUI - 1
Читать полностью »

Конкурс по созданию приложений «Весенний марафон» - 1

Уважаемые друзья,

Мы решили запустить конкурс по разработке приложений на Delphi и C++Builder XE7, чтобы наградить лучших разработчиков по кроссплатформенной разработке. В этом году мы не стали выделять какую либо платформу, вы можете писать приложение, как для IOS, Android, Windows или MAC OS X, а также настольное и мобильное приложение (связанное с помощью технологии App Tethering.
Мы стартуем 26 февраля, зарегистрироваться для участия вы можете до 1 апреля, до 15 мая мы будем принимать ваши работы, а 1 июня – объявим победителей.

Регистрируйтесь на сайте конкурса, создавайте приложения на Delphi XE7 и выигрывайте призы: планшет Samsung Galaxy S5, планшет Samsung Galaxy Tab 4 10.1 или лицензию RAD Studio XE7.
Если вы разрабатываете на Delphi, но только задумываетесь о создании мобильных приложений, это хороший способ попробовать свои силы.
Если вы уже писали приложения на Delphi, конкурс – отличный повод попробовать новый инструмент разработки.
Читать полностью »

Вебинары по новым возможностям RAD Studio XE7 - 1

Уважаемые разработчики!

Спешим сообщить Вам, что мы запускаем серию вебинаров для Вас

Вот наша программа на ближайшие месяцы:

18 февраля 2015 — 12:00

Новые возможности InterBase XE7

В ходе вебинара мы рассмотрим новые возможности Interbase XE7 такие как: улучшения в производительности, инкрементный дамп, транзакции, счетчики производительности, индексы, 64-разрядный идентификатор транзакций, Change views и другие. В вебинаре примет участие Дмитрий Кузьменко, эксперт по InterBase.

4 марта 2015 — 12:00

Что нового в FireDAC XE7

FireDAC, являясь флагманской технологией доступа к данным компании Embarcadero, успешно эволюционирует. Данный вебинар посвящен нововведениям в FireDAC XE7, в частности, новым возможностям работы с BLOB-значениями и новому компоненту TFDBatchMove. В вебинаре примет участие Дмитрий Арефьев, главный разработчик и идеолог FireDAC.

18 марта 2015 12:00

Построение пользовательского интерфейса с помощью универсальной панели MultiView

В ходе вебинара мы рассмотрим различные варианты применения нового уникального компонента TMultiView, который позволяет существенно сократить время на проектирование интерфейсов, благодаря заложенным в него возможностям. Рассмотрим поведение компонента на различных платформах, свойства компонента, варианты использования компонента в мобильных приложениях.

Читать полностью »

Вступление

Не так давно меня перевели в офис, в проектно-технический отдел. Работал я монтажником связи в одной не самой большой организации в городе. Затем было повышение на более престижную должность в организации – спайщик оптических волокон. Это всё действие происходило в течение 3-х лет.

За это время мы построили много объектов по городу и по областям, в том числе и целые города опутывали сетью FTTH/FTTB, так что опыт в строительстве и ведении кое-какой документации уже имелся.

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

Вот тут и началось самое интересное.
Читать полностью »

А помните, как вы просили меня про шейдеры написать? Помните? Нет? А вот я помню и даже написал. Милости просим, поговорим о прекрасном.

Сегодня я поведу речь о том, как я делал объемные вращающиеся планеты для нашей игры blast-off. Тоесть они, конечно, совершенно плоские, всего пара треугольников, но выглядят как объемные.

Объемные планеты в 2D через шейдер - 1

Заинтересовало? Прошу под кат. Картинок прилично.
Читать полностью »

Часть 1.
Часть 2.
Часть 3. DUnit + FireMonkey
Часть 3.1. По мотивам GUIRunner
Часть 4. Serialization

Здравствуйте, дорогиее.

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

Сейчас наш проект выглядит так:

MindStream. Как мы пишем ПО под FireMonkey. Часть 5. Тестирование - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js