Проект Small Basic #1 "Рисование по координатам"

Задача

1 часть. Пользователь вводит в файл координаты точек координатной плоскости, по которым можно выстроить фигуру. При запуске программы этот файл обрабатывается и программа выводит на графическом окне изображение.
2 часть. Пользователь ставит точки на координатной плоскости, которые объединяются прямыми. Этот рисунок он может экспортировать в виде файла.
3 часть. Продумать интерфейс программы, чтобы можно было выбирать "отрисовать по координатам/создать фигуру.

4 часть. Добавить в файл input.txt команды или символы для "поднятия пера" и "опускания пера".
5 часть. Исправить программу для отрисовки фигуры по координатам с учётом промежутков
6 часть. В части отрисовки вручную при нажатии левой кнопкой мышки рисуются линии. Но если нажимается правая кнопка мыши, линия прерывается и записывается в файл команды или символы для "поднятия пера" и "опускания пера".

7 часть. Сделать дополнительное графическое окно с описанием программы, которое запускается при запуске программы (можно добавить контрол "больше не показывать")
8 часть. Добавить кнопку "О программе", которая будет открывать графическое окно (см. 7 часть).

9 часть. Добавить расширение от Алексея, которое позволяет работать с файлами сразу из программы: редактировать input.txt и открывать output.txt

Вспомогательные материалы

Массивы

Мы можем записать координаты трёх точек (0;3), (4;-1) и (5;4) в виде массива:
coords[1] = 0
coords[2] = 3
coords[3] = 4
coords[4] = -1
coords[5] = 5
coords[6] = 4

Чтобы посчитать количество элементов в массиве используем метод:
numInArray = Array.GetItemCount(coords)

Работа с файлами

Считывание содержимого файла:
FilePath = Program.Directory + "\filename.ext" ' Возвращает абсолютный адрес файла
coordFile = File.ReadContents(FilePath) ' Возвращает содержимое файла

Считывание одной строки:
File.ReadLine(FilePath, 1)  ' Возвращает содержимое 1-й строки файла

Работа с текстом

Обрезание текста – деление на две части по определённому символу:
'Определяем индекс символа ";" в строке
pos = Text.GetIndexOf(coordsList[i],";")
'Получаем первую часть  (всё, что до символа ";")
coordX = Text.GetSubText(coordsList[i],1,pos-1)
'Получаем оставшуюся часть  (всё, что после символа ";")

coordY = Text.GetSubTextToEnd(coordsList[i],pos+1)

Алгоритм работы

1. Сделать возможность отрисовки фигуры по точкам, заданным явно (как в примере с массивами выше)
2. Создать файл с координатами. Пары координат записаны в виде строк. Каждые координаты разделены символом точки с запятой. Например:
0;3
4;-1
5;4
2. Считать строки файла, пока они не будут пустыми и записать значения строк в массив coordsList. Пример результата считывания:
coordsList[1] = "0;3"
coordsList[2] = "4;-1"
coordsList[3] = "5;4"
3. Каждый элемент массива разбить на две координаты (х - то, что находится до точки с запятой, y – то, что после) и вписать эти новые координаты в массив с точками coords.
4. По пункту 1 отрисовать из массива coords фигуру.
5. Сделать интерфейс в виде:

Комментарии