It works standalone. Again

2015-06-20_151344

Странная фигня. После вчерашнего добавления иконки в трей программа работает только когда запущена из IDE. Когда скомпилена как отдельный exe файл — не работает. v0.1 как отдельный exe — работает. Заработало Читать далее It works standalone. Again

Полиног!

Сегодня как-то легко пошло. Тупил совсем не долго. Сначала разобрался какой код у учителя отвечает за выбор последнего элемента в списке точек. Переделал этот код чтобы выбранный элемент не перемещался в списке, а то полигон забавно колбасило при выборе точек.

Потом еще был глюк с тем, что Читать далее Полиног!

Добавил, удалить, переместить

Надо молчать о том, что я делаю, пока я это не сделаю. А то вскользь оброненное в процессе обдумывания тут же превращается учителем в работающий аккуратный код. С одной стороны удобно — есть наглядный пример как надо делать. С другой стороны я не могу удержать в голове столь сложные конструкции и просто списываю готовые решения. Читать далее Добавил, удалить, переместить

Как запускать код на PureBasic

Я постоянно публикую ссылки на github, но нигде не написал как запускать код на PureBasic который я пишу. Гуглим purebasic. Заходим на официальный сайт (на данный момент purebasic.com) качаем демо версию компилятора. Устанавливаем. Вставляем код в появившееся окно компилятора. Нажимаем F5. Готово, программка работает. Читать далее Как запускать код на PureBasic

2 точки и линия

И вправду утро вечера мудренее. Сделал то, что казалось займёт неделю.

Сначала починил проверку попадания в точку. Оказалось достаточно просто написать если попал, popal = 1, если не попал popal = 0 :-)

Затем добавил вторую точку. Напрашивается написание процедуры для управления множеством точек, а не только двух.

Добавил линию между ними.

При перемещении точки на ее месте, как писал вчера, рисуется белая точка. Так же поступил и с линией. Только она оставляет на точках забавные засечки. Будем думать как от этого избавиться.

Читать далее 2 точки и линия

Шаг назад

Сегодня вернулся обратно на канву. Не гоже перемещать кусочки канвы по полотну программы. Нам нуно перемещать объекты по канве. Но прикол в том, что точки и линии, которыми я оперирую не являются объектами. И к ним нельзя обратиться напрямую. Поэтому я запоминаю их координаты и если нынешнее положение курсора совпадает с ними — я начинаю какое-то действие. Например сегодня я применил грязный хак, который рисует белый кружок на месте черного, чтобы его стереть и рисует новый чёрный кружок в том месте, где была отпущена мышка. Правда после первого нажатия можно больше не целиться в кружок — он будет всегда появляться там, где была отпущена мышка.

Это визуальный шаг назад, ведь вчера я оперировал уже двумя точками, а сегодня снова одной, но это шаг вперёд к пониманию как это вообще работает. Читать далее Шаг назад

Двигаем канву по окну

Перечитал код программы на свежую голову. Оказывается мы двигает не рисунок по канве, а канву по окну программы. Не изящное решение…

Переделал картинку в точку. Добавил еще одну точку. Глобализовал переменные и вынес передвижение точек в процедуру. Далее попытаюсь прочертить между ними линию, которая будет следовать за точками. Читать далее Двигаем канву по окну