Рубрика «lazarus»

Вместо предисловия

В моей недавней статье Lazarus — пишем компонент для анимации спрайтов я описал процесс создания простого компонента TImageFragment, позволяющего отображать заданный фрагмент изображения.

Продолжая выбранную тему, в этой статье я хочу показать, как легко можно сделать анимацию спрайтов в среде разработки Lazarus (официальный сайт) при помощи этого компонента.

При таком подходе отдельные кадры анимации в разных проекциях размещаются на одном изображении, а компонент для отображения спрайта показывает только один выбранный фрагмент этого изображения, используя свойства OffsetX и OffsetY (смещение левого верхнего угла фрагмента изображения по горизонтали и по вертикали).

Множество таких готовых изображений можно найти в Сети — например, вот на этом сайте.Читать полностью »

Вместо предисловия

В одесской школе ученики 8-го класса на уроках информатики используют бесплатную кроссплатформенную среду разработки Lazarus (официальный сайт: www.lazarus-ide.org), внешне и внутренне очень напоминающую любимый многими Delphi, использующую версию Object Pascal под названием Free Pascal и в действительности сильно упрощающую процесс вхождения в программирование.

Но детям неинтересно писать программу для вычисления силы тяжести по непонятной им пока формуле F=mg. Практически все дети, которых я пытался учить программированию, с первого занятия хотят написать игру. К счастью, Lazarus прекрасно подходит и для написания несложных игр.

Правда, для создания анимированных спрайтов мне понадобился компонент, отображающий произвольный фрагмент изображения (на котором изображены несколько разных проекций одного и того же персонажа в разных фазах движения), а такого компонента в стандартной поставке нет. Написать его самому оказалось совсем несложно, и об этой технологии я и хочу рассказать в этой статье.Читать полностью »

image

Доброго времени, Хабр-сообщество.

Много лет назад, натолкнулся на пост (1). Тогда меня озадачила возможность создать интересные элементы для геймплея в roguelike (2). Допустим противник может находиться за стеной, мы его не видим, пока мы не столкнёмся с ним в зоне прямой видимости. Но более мне по душе ситуация, когда мы, путешествуя по коридорам подземелья, раскрываем особенности расположения объектов постепенно на основе области видимости.
Читать полностью »

Автоматизация получения сведений из ЕГРЮЛ с помощью Freepascal - 1

В своей работе (юридической) я готов автоматизировать всё, что только поддаётся этому. Но пока прокаченные нейросетями роботы из утопии Германа Грефа не появились и не отняли всю работу у рядовых юристов, рутина надолго останется нашим главным спутником. Автоматизация этой рутины — то, чем я периодически занимаюсь на протяжении последних лет, будь то многочисленные таблицы в excel с кучей формул, позволяющих быстро распечатать сотню однотипных документов-рассылок в word'е, ну или автоматически генерируемые отчеты. Но есть и такие вещи, которые простыми формулами и подстановками не сделаешь. Здесь на помощь приходит программирование, которым я увлекаюсь с детства, и так уж вышло, что началось это с delphi. Сейчас мне проще, чем в C# или python, осваивать которые начал недавно, сделать быстро какой-то проект в среде Lazarus, используя freepascal. И да, я на полном серьёзе считаю, что возможностей этой среды более, чем достаточно. Поэтому автоматизировать ЕГРЮЛ, как вы догадались, предстоит с помощью паскаля.
Читать полностью »

Lazarus вездесущий - 1Взлом Sony Entertainment, ограбление центробанка Бангладеш и дерзкие атаки на систему SWIFT по всему миру, уничтожение данных южнокорейских медиа- и финансовых компаний. Казалось бы, между этим акциями нет ничего общего. И каждый раз это были одни и те же ребята из группы Lazarus.

Впечатляют и масштаб кампаний, и разнообразие, и объем затрат – только наши исследователи смогли увязать с Lazarus более 150 вредоносных инструментов! Фактически для каждой атаки хакеры писали новые инструменты – от эксплойтов до стирателей. Код был новый, но не полностью, что в конечном итоге их и выдало. Подробный отчет об известной деятельности Lazarus содержит 58 страниц, здесь же я приведу наиболее любопытные моменты.
Читать полностью »

Или как можно проще об основных принципах ООП в Lazarus и FreePascal

Часть I

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

Во всех книгах, посвященных паскалю, delphi и lazarus (я нашел аж целых две о последнем), очень схожая часть, посвященная ООП. По этим книгам можно много узнать о том, насколько круче ООП устаревшего структурного подхода, но так и не получить достаточных навыков применения этого на практике. Конечно, любой программист, использующий визуальные IDE, уже по умолчанию использует ООП, так как все компоненты и структурные элементы визуального приложения представляют собой объекты, однако свои собственные структуры и абстракции перенести в парадигму ООП бывает очень сложно. Чтобы понять всю прелесть и оценить открывающиеся перспективы, я решил сделать небольшое приложение, которое в конечном итоге превратилось в простенький screensaver. Заодно вспомнил о существовании тригонометрии.

Приложение будет рисовать на экране в случайных местах пятьдесят полярных роз с разными характеристиками: размер, цвет, количество лепестков. Потом их же затирать и рисовать новые, и т.д. Используя принципы структурного программирования, можно, конечно, сделать обычный многомерный массив объемом на 50 и в нем сохранять все уникальные характеристики. Однако стоит вспомнить, что паскаль подразумевает строгую типизацию данных, а, следовательно, массив не может состоять их элементов с разными типами. Можно сделать массив из записей (record), но чего уж мелочиться, от записи до класса — один шаг. Вот его мы и сделаем.

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

На польском портале ZaufanaTrzeciaStrona.pl, посвященном кибербезопасности, не так давно появилась новость об успешных атаках на польские банки (версия на английском здесь). Инцидент был охарактеризован как «серьезнейший». Данные подтвердили Symantec и BAE Systems. Список жертв пополнили учреждения из Мексики и Уругвая, а также другие цели по всему миру.

image

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

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

Друзья, все мы знакомы с кроссплатформенным инструментом быстрой разработки Lazarus.
Сегодня мы поговорим об одной сборке GetLazarus, которая, на мой взгляд, заслуживает некоторого внимания.
Это не форк, это удачная сборка, которая сразу готова к работе с еще большим Delphi-подобным внешним видом.

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

Друзья, поздравляю всех с выходом нового релиза FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)!

Вчера компания FastReport выпустила свой флагманский продукт FastReport.
FastReport — генератор отчётов любой сложности с огромными возможностями для Delphi, C++Builder и Lazarus.

На мой взгляд, продукт FastReport не нуждается в каком-то особом представлении, этот продукт является де-факто стандартом построения отчётов не только в России, СНГ, но и во всём мире. Практически любое бизнес-приложение нуждается в использовании генератора отчётов.
image

Новый релиз FastReport 5.5 полностью совместим с последними новейшими инструментами разработки приложений в RAD Studio 10.1 Berlin и Lazarus 1.6.
Приятно, что разработчики уделили особое внимание улучшениям и появлению новых возможностей для разработчиков в Lazarus таких, как поддержка внутренних диаграмм(Charts), экспорт в PDF и исправления совместимости.
Читать полностью »

Друзья, поздравляю всех с выходом нового релиза Lazarus 1.6!
Оказывается, мы забыли посвятить этому событию отдельный пост, навёрстываем.

image

Прошло уже больше года после крупного релиза. И вот, наконец-то, после недавних двух релиз-кандидатов мы встречаем долгожданный Lazarus 1.6 с впечатляющим перечнем улучшений и исправлений.
Читать полностью »