После относительно недавнего релиза Lazarus 1.0, захотелось опробовать эту IDE на практике. Так появилась идея написать игру. Из основных требований — она должна быть несложной, с небольшими затратами времени на ее реализацию. Ну и конечно же, ее написание и сам геймплей должны быть достаточно увлекательными процессами, даже для меня как ее создателя.
Что ж, пожалуй лучшим способом добиться поставленных целей, являться высокий уровень случайности, что бы параметры и поведение игры было трудно точно спланировать. Ну и конечно спонтанность в разработке, когда наперед ничего конкретного не планируется.
Читать полностью »
Рубрика «Delphi» - 24
О разработке небольшой игры с помощью Lazarus
2012-10-05 в 7:59, admin, рубрики: Delphi, game development, lazarus, open source, Программирование, метки: Delphi, lazarus, open source, без SMSАвтообновление программы через MSSQL server
2012-09-26 в 8:23, admin, рубрики: Delphi, mssql, Песочница, метки: Delphi, mssql Дабы не бегать по своей работе к каждому человеку который использует мою программу разумно сделать автообновление, которое будет обновлять программу, если загрузить новую версию на сервер. Испробовав множество способов, нашел самый простой в использовании (хотя и не самый правильный)
Итак алгоритм:
- Программа при включении проверяет на сервере последнюю версию.
- Если на сервере выше текушей то скачиваем Zip-архив c программой.
- Переименовываем файл приложения на другое (ради бэкапа и доступности к файлу), например с program.exe на program.backup.
- Распаковываем архив заменяя файлы в папке.
- Удаляем архив с обновлением.
- Перезапускам программу.
Моя «парадигма» работы с потоками
2012-09-23 в 11:02, admin, рубрики: Delphi, параллельное программирование, потоки, Программирование, синхронизация, метки: Delphi, потоки, синхронизация
Когда я учился писать многопоточные приложения — я перечитал кучу литературы и справочной информации по этой области. Но между теорией и практикой — огромная пропасть. Я набил кучу шишек, и до сих пор иногда получаю по голове от собственных потоков. Для себя я выработал набор некоторых правил, которым стараюсь строго следовать, и это значительно помогает мне в написании многопоточного кода.
Поскольку ошибки, связанные с синхронизацией потоков крайне сложно отлаживать, то самым эффективным способом тут является предупреждение этих самых ошибок. Для этого используются различные парадигмы программирования на разных уровнях абстракции. Нижним уровнем абстракции будем считать работу с объектами синхронизации (критические секции, мьютексы, семафоры). Верхним — такие парадигмы программирования, как Futures and promises, STM (software transactional memory), обмен асинхронными сообщениями и т.п. Верхний уровень абстракции зачастую всегда основан на нижнем.
В данной статье я поделюсь своим стилем написания кода на нижнем уровне абстракции. Поскольку я дельфист, то все примеры будут на Delphi, однако все нижесказанное справедливо и для других языков программирования (позволяющих работать с объектами синхронизации конечно)
Читать полностью »
Запуск Delphi XE3 и RAD Studio XE3 в Петербурге, Москве и онлайн
2012-09-10 в 16:43, admin, рубрики: Delphi, Delphi XE3, RAD Studio XE3, день программиста, метки: Delphi XE3, RAD Studio XE3, день программиста 
11 сентября в Санкт-Петербурге и 12 сентября, в День Программиста, в Москве состоится мероприятие Embarcadero, посвященное выходу новой Delphi XE3 и RAD Studio XE3. Участие в мероприятие бесплатное, зарегистрироваться можно на softwarepeople.ru/delphi. Там же 12 сентября в 10 утра начнётся трансляция московского запуска.
В прямом эфире пройдут выступления Джона Томаса, который имеет отношение к созданию семейства продуктов RAD Studio и Всеволода Леонова, отвечающего за связи с разработчиками в России.
Читать полностью »
Обновление VirtualTreeView 5.01. Добавлена поддержка Delphi XE3, C++ Builder XE2
2012-09-10 в 6:08, admin, рубрики: Delphi, Delphi XE3, soft-gems, update, virtualtreeview, обновление, метки: Delphi, Delphi XE3, soft-gems, update, virtualtreeview, обновление 
Обновление 5.01 вышло 3 дня назад, теперь VirtualTreeView поддерживает:
- Delphi XE3
- C++ Builder XE2!
Полный список изменений смотрите под катом.
Читать полностью »
Обновление VirtualTreeView 5.01
2012-09-10 в 6:08, admin, рубрики: Delphi, Delphi XE3, soft-gems, update, virtualtreeview, обновление, метки: Delphi, Delphi XE3, soft-gems, update, virtualtreeview, обновлениеОбновление 5.01 вышло 3 дня назад, теперь VirtualTreeView поддерживает:
- Delphi XE3
- C++ Builder XE2!
Полный список изменений смотрите под катом.
Читать полностью »
Lazarus как он есть
2012-09-06 в 15:42, admin, рубрики: Delphi, FPC, freepascal, lazarus, Pascal, Песочница, разработка, метки: FPC, freepascal, lazarus, PascalДовольно часто наше нежелание разбираться в вопросе и уверенность в собственной логике рождает неверные предположения. Эти предположения, высказанные как утверждения на публичной площадке, могут прочно осесть в чужих головах и сформировать ложные отрицательные представления.
Так в комментариях к недавней теме «Lazarus 1.0 увидел свет!» были высказаны некоторые неверные утверждения, а также задан ряд вопросов оставшихся без ответов. Являясь разработчиком Lazarus и FPC уже довольно продолжительное время, я могу и хочу дать ответ на большинство связанных с этими продуктами вопросов и развеять некоторые неверные предположения.
Утверждение: Размер исполняемых файлов оставляет желать лучшего. Виноват компилятор, компоновщик и др.
Читать полностью »
Куда стоило бы развиваться Delphi вместо того, куда оно развивается сейчас
2012-09-05 в 18:59, admin, рубрики: Delphi, native code, метки: Delphi, native code 
Вот что нам, разработчикам, действительно нужно? Я тут как раз сегодня задумался — накидал несколько букв, сначала комментом, а потом решил, что оно на пост тянет:
Во-первых, меня ужасно раздражает, что всю разработку под винды уже который раз пытаются пересадить подальше уровнем от железа. Побольше толстых прокладок напихать между прикладным софтом и процессором, между пригладным софтом и ОС. ИМХО, ближе к native коду нужно стремиться, ближе к железу, ближе к ОС! К любому железу, к любой ОС. Нужно развивать Object Pascal как альтернативу C++, отличающуюся развитыми средствами ООП, синтетическим сахаром, за который мы Паскаль любим, мощным IDE и родным быстрым однопроходным компилятором.
Кроме того, нужны развитые возможностями интеграции со сторонними библиотеками. Этого, по сравнению с C, очень не хватает. Вокруг множество библиотек, всякие интерпретаторы чего только не умеют, а для Delphi библиотеки нынче фиг найдёшь, и в итоге с известным трудом сам делаешь. А потом переделываешь при обновлении API. Для этого — генераторы тонких обёрток нужны. У Лазаруса есть поделка под названием pas2h, но её ж развивать нужно, а то интегрировать! Занялись бы они, а?.. А ещё лучше — попробовать осмыслить и сделать прозрачное использование в одном проекте модулей на разных языках — в частности, прямое подключение h-файлов библиотек. Уверен, что линкер можно сделать так, что бы он с этим справлялся.
Читать полностью »
Как завести свой Web-сервис скриншотов — версия 1.1
2012-09-05 в 17:58, admin, рубрики: Delphi, Help Desk Software, скриншотер, метки: скриншотер В конце прошлого года мне для целей поддержки пользователей Windows-программ потребовалось организовать Web-сервис скриншотов с клиентской программой, позволяющей выделять для размещения нужный прямоугольный фрагмент экрана. Сторонние сервисы вроде Gyazo удовлетворять перестали ввиду чрезмерного объёма рекламы и невозможности своими силами контролировать мероприятия по обеспечению надёжности вроде резервного копирования, поэтому были написаны свои сервис скриншотов и клиентская программа.
Читать полностью »
Lazarus 1.0 увидел свет!
2012-09-05 в 10:57, admin, рубрики: Delphi, freepascal, IDE, lazarus, open source, Pascal, разработка, метки: Delphi, freepascal, IDE, lazarus, Pascal
В то время как поклонники и ненавистники Delphi ломают копья по поводу, недавно анонсированной, версии XE3, ребята из команды Lazarus 29 августа объявили о выходе Lazarus 1.0.
Для тех кто не в курсе, Lazarus — это IDE и набор классов для FreePascal, который эмулируют Delphi. Проект был открыт в далеком 1999 году усилиями трёх разработчиков: Cliff Baeseman, Shane Miller и Michael A. Hess. История более детально описана в Wiki.
Читать полностью »
