Странная фигня. После вчерашнего добавления иконки в трей программа работает только когда запущена из IDE. Когда скомпилена как отдельный exe файл — не работает. v0.1 как отдельный exe — работает. Заработало Читать далее It works standalone. Again
Рубрика: Программирование
gtignore, readme.md
Переделал readme.txt в readme.md — теперь в рипозиториях видны заголовки. Дальше по каждому проекту в отдельности.
Рандом и прятки
Добавил процедуру рандома точек.
Добавил кнопку запуска рандома.
Добавил кнопку спрятать/показать точки. Работает. Читать далее Рандом и прятки
Полиног!
Сегодня как-то легко пошло. Тупил совсем не долго. Сначала разобрался какой код у учителя отвечает за выбор последнего элемента в списке точек. Переделал этот код чтобы выбранный элемент не перемещался в списке, а то полигон забавно колбасило при выборе точек.
Потом еще был глюк с тем, что Читать далее Полиног!
Add, Del, Move — all works!
Наконец разобрался. Читать далее Add, Del, Move — all works!
Добавил, удалить, переместить
Надо молчать о том, что я делаю, пока я это не сделаю. А то вскользь оброненное в процессе обдумывания тут же превращается учителем в работающий аккуратный код. С одной стороны удобно — есть наглядный пример как надо делать. С другой стороны я не могу удержать в голове столь сложные конструкции и просто списываю готовые решения. Читать далее Добавил, удалить, переместить
Как запускать код на PureBasic
Я постоянно публикую ссылки на github, но нигде не написал как запускать код на PureBasic который я пишу. Гуглим purebasic. Заходим на официальный сайт (на данный момент purebasic.com) качаем демо версию компилятора. Устанавливаем. Вставляем код в появившееся окно компилятора. Нажимаем F5. Готово, программка работает. Читать далее Как запускать код на PureBasic
2 точки и линия
И вправду утро вечера мудренее. Сделал то, что казалось займёт неделю.
Сначала починил проверку попадания в точку. Оказалось достаточно просто написать если попал, popal = 1, если не попал popal = 0 :-)
Затем добавил вторую точку. Напрашивается написание процедуры для управления множеством точек, а не только двух.
Добавил линию между ними.
При перемещении точки на ее месте, как писал вчера, рисуется белая точка. Так же поступил и с линией. Только она оставляет на точках забавные засечки. Будем думать как от этого избавиться.
Шаг назад
Сегодня вернулся обратно на канву. Не гоже перемещать кусочки канвы по полотну программы. Нам нуно перемещать объекты по канве. Но прикол в том, что точки и линии, которыми я оперирую не являются объектами. И к ним нельзя обратиться напрямую. Поэтому я запоминаю их координаты и если нынешнее положение курсора совпадает с ними — я начинаю какое-то действие. Например сегодня я применил грязный хак, который рисует белый кружок на месте черного, чтобы его стереть и рисует новый чёрный кружок в том месте, где была отпущена мышка. Правда после первого нажатия можно больше не целиться в кружок — он будет всегда появляться там, где была отпущена мышка.
Это визуальный шаг назад, ведь вчера я оперировал уже двумя точками, а сегодня снова одной, но это шаг вперёд к пониманию как это вообще работает. Читать далее Шаг назад
Двигаем канву по окну
Перечитал код программы на свежую голову. Оказывается мы двигает не рисунок по канве, а канву по окну программы. Не изящное решение…
Переделал картинку в точку. Добавил еще одну точку. Глобализовал переменные и вынес передвижение точек в процедуру. Далее попытаюсь прочертить между ними линию, которая будет следовать за точками. Читать далее Двигаем канву по окну