Метка: delphi

Задача про встречу роботов

Задача про встречу роботов

Задача:

Двух роботов сбрасывают на парашутах на бесконечную планету-линию. Роботы могут идти по линии только влево или вправо. Изначально неясно какое между роботами расстояние и кто находится слева и справа. Нужно написать программу для встречи роботов.

UPD Роботы после приземления оставляют после себя парашуты — которые можно использовать за точки отсчета.

Найдите лучший алгортим для встречи роботов.

Обновления для Rad Studio 10.3.3

Обновления для Rad Studio 10.3.3

Обновление для Delphi Rad Studio 10.3.3 Rio можно скачать здесь:
https://rutracker.org/forum/viewtopic.php?t=5850023

Сам Delphi 10.3.3 можно взять здесь:
https://rutracker.org/forum/viewtopic.php?t=5807293

Но я предпочитаю Lite-сборку:
https://rutracker.org/forum/viewtopic.php?t=5808516

Это всё пиратские сборки, впрочем можно получить бесплатную лицензию:
http://moskovchenko.com/2018/07/20/delphi-community-edition-besplatno/

Для входа на заблокированные ресурсы я использовал VPN-расширение для Chrome, но теперь просто пользуюсь отдельным браузером, анонимным Tor.

Как я свои приложения на Android 64 переводил

Как я свои приложения на Android 64 переводил

В 2019 года, компания Google решила перевести все свои приложения на 64-битную платформу и предупредила об этом разработчиков. Все кто пишут приложения на Delphi Rad Studio столкнулись с тем, что компиляции под 64-битный режим не было.

И вот, наконец выходит Rad Studio 10.3.3, скачивается с торрентов, выбирается компиляция под Android 64 и приложение (созданное ранее) зависает на заставке. Ново-созданное приложение выдает такое:

Покопавшись, обнаружил что процессор моего Doogee Shoot хоть и поддерживает 64 операционную систему, но все доступные прошивки на него 32 битные. Засада.

Пришлось брать телефон жены (Samsung A30) и собирать проекты уже на нём.

Но как оказалось, просто так взять и добавить скомпилированное приложение не получиться, по хорошему нужно собирать так называемый Бандл который содержит 32 и 64 битные приложения. Делается он просто, нужно всего лишь поставить галку:

Однако Google не хочет принимать такой бандл, сетуя на установку каких-то дополнительных ключей-подписей:

Выбираем нужный пункт, скачиваем нужный jar-файл:

Запускаем консоль, лучше сразу в администраторском режиме:

И пишем подобный код:

java -jar PATH_TO_PEPK —keystore=PATH_TO_KEYSTORE —alias=ALIAS_YOU_USE_TO_SIGN_APK —output=PATH_TO_OUTPUT_FILE —encryptionkey=GOOGLE_ENCRYPTION_KEY

Описание:

PATH_TO_PEPK = Путь до скаченного вам файлаC:\pepk.jar
PATH_TO_KEYSTORE = Путь до вашего файла-ключей приложения C:\keystore.keystore
ALIAS_YOU_USE_TO_SIGN_APK = Пишем ALIAS:

PATH_TO_OUTPUT_FILE = путь выходного файла C:\private_key.pem
GOOGLE_ENCRYPTION_KEY = ваш ключ шифрования: eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a1

Пример, так как я скачивал всё в корневой каталог, то у меня выглядит всё вот так:

java -jar «C:\pepk.jar» —keystore=»C:\mykeystore» —alias=storm —output=»C:\private_key.pem» —encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13

Два раза нужно будет ввести пароль для вашего существуюего ключа и на выходе получим искомый файл, который скармливаем Google:

Ура!

Теперь собираем сдвоенные бандлы (32+64) и публикуем их как раньше.

Двойная буферизация на Delphi

Двойная буферизация на Delphi

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

[Код удалил]

Проект кода для Delphi 7 —  canvas_delphi_7

Хакинтош

Хакинтош

Для разработки приложений под айфоны, а точнее под IOS необходима настольная система с MacOS. MacOS есть на MacBook (ноутбуки от Apple), Mac Mini (мини-компьютеры), iMac (моноблоки), самые дешевые железки на авито начинаются от 5 тысяч рублей. Но для разработки под телефоны нам нужно установить программу XCode — которая ставиться только на последние версии MacOS — на данный момент это High Sierra (10.13) и Mojave (10.14), для которых, в свою очередь, нужно последнее железо. Цены на такое оборудование просто зашкаливают.

Установка

Но как оказалось, MacOS можно ставить и на обычное Intel-совместимое железо, так называемый Hackintosh. У меня как раз нашелся системник:

  • Asus P8H61M LX3 R20
  • Intel Celeron G1610 (Ivy Bridge)
  • 4 gb RAM
  • 160 gb HDD

С установкой системы мучался около двух недель. Хакинтош очень привередлив к железу, загрузчикам, драйверам, но в итоге я поставил самую последнюю версию Mojave.

Образ системы вместе с загрузчиком скачал на RuTracker (ссылка), образ поставился без проблем — единственный нюанс был с сетевыми драйверами. После загрузки хакинтоша, он предлагал мне подключится к сети — и после попытки коннекта вылетал. Решение простое — отказаться от подключения, а затем установить необходимый драйвер-кекст (ссылка).

Из-за использования встроенной графики рекомендуется в загрузчиках ставить обе галки в Graph. injector, и дополнительно прописывать -disablefgxfirmware (справедливо для 13-ой версии, для 14-ой делать ненужно).

AppleID

Для пользования встроенным магазином AppleStore, а так же для пользования хранилищем iCloud нужно создать свой AppleID. Создать его просто — просто зарегистрироваться на сайте Apple, но при использовании в хакинтоше может возникнуть ошибка. Для этого нужно, что бы ваш ID побывал на реальном устройстве — например на айфоне.

Delphi

Настроить MacOS с дельфями можно по двум статьям с хабра:

  1. Настройка Mac OS X и iOS-симулятор
  2. Настройка Mac OS X и Delphi
Theme: Overlay by Kaira Все права защищены 2003-2020
Love Delphi and Rad studio