понедельник, 4 августа 2014 г.
Простой текстовый итератор. Пример использования record в Delphi
Решение:
пятница, 28 февраля 2014 г.
VCL: Show vs Visible
У котнролов в VCL есть свойство Visible, которое как называется, за то и отвечает. Если Visible = False, то контрол скрыт и пользователь его не увидит. Если Visible = True, то есть вероятность, что пользователь его увидит.
А есть ещё два метода – Hide и Show, которые взаимодействуют со свойством Visible.
А теперь вопрос: как же правильно скрывать/отображать контрол?
На самом деле вопрос с небольшим подвохом, на него ответить однозначно нельзя, но… давайте по порядку
среда, 12 февраля 2014 г.
Вопросик про Show, Hide и Visible
А вопрос такой. Как лучше писать:
LabelSomeInfo.Visible := True;или
LabelSomeInfo.Show;?
Как пишете Вы? Почему?
Ответ в следующей заметке.
воскресенье, 19 января 2014 г.
Tap-Tap on Google Play
Ура! Конкурс завершён, поздравляю победителей с победой!
Обещанный нехус 7 в оригинальной футболке приехал прямо ко мне домой курьерской доставкой. Достойный приз требует достойного завершения, а именно – размещения конкурсной программы в Google Play.
Ниже я опишу, что для этого мне потребовалось сделать.
воскресенье, 22 декабря 2013 г.
Delphi плюс Android? Есть идея! Tap#5
Эта заметка является продолжением предыдущих: Tap#1, Tap#2, Tap#3, Tap#4. И в ней я хочу завершить.
Итак, игра на логическое мышление. Я решил сделать аналог игры Flip-Flop компании Gamos. На всякий случай, оговорюсь – я не ставлю перед собой цель создать коммерческий продукт. Цель другая – попробовать, покрутить, поучаствовать.
Ну и поскольку, у меня нет опыта в написании игр, не думаю, что мой аналог будет таким атмосферным, как оригинал. Однако я поэкспериментирую с размером игрового поля (не только 4 на 4), “поиграю” с векторной анимацией и масштабированием, порадую близких и коллег мобильным аналогом уже подзабытой игры.
воскресенье, 8 декабря 2013 г.
Delphi плюс Android? Есть идея! Tap#4
Эта заметка является продолжением предыдущих: Tap#1, Tap#2, Tap#3. И в ней я поговорю об анимации.
В моей будущей игре у персонажа будет два основных состояния. Назовём их “Открытый” и “Закрытый”. В первом состоянии внешний вид персонажа соответствует тому, который разработан в дизайнере и сохранён в переменной DesignPositions. Во втором, вид персонажа будет другой. Для робота я решил так: меняем цвет на серый, чуть-чуть уменьшаем общий размер, втягиваем ноги, руки и антенны, закрываем глаза.
Соответственно переход из состояния в состояние будет анимированным.
понедельник, 2 декабря 2013 г.
Delphi плюс Android? Есть идея! Tap#3
Эта заметка является продолжением предыдущих. Tap#1, Tap#2.
И прежде чем приступить к анимации, стоит определиться с масштабированием персонажа. То есть необходимо настроить фрейм таким образом, чтобы, задавая его размеры “сверху”, все объекты персонажа автоматически подгоняли свой размер, и персонаж (по своим внешним размерам) оказался вписанным во фрейм.
Сделать это можно очень просто. Для самой фреймы устанавливаем свойство Align = alFit (чтобы сохранить пропорцию у соотношения сторон фреймы), а всем контролам на фрейме – Align = alScale. Тогда, при изменении размеров фреймы, контролы будут масштабироваться автоматически. Оговорюсь, что размеры и положения контролов в FM задаются вещественными числами, поэтому масштабирование будет плавным.
Однако есть такой нюанс: платформа FM масштабирует контролы относительно их текущих размеров. Что это значит? А это значит, что при задании маленьких размеров фреймы, наш персонаж может оказаться очень маленьким. Настолько маленьким, что при последующем увеличении фреймы персонаж перестанет масштабироваться.