Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
182.89 Кб
Скачать

4. Инструкция программиста

4.1. Бизнес-логика приложения в пользовательском классе

В исходном приложении на языке Java бизнес-логика приложения была представлена public class Clock2, после трансляции на язык C# класс был переименован в public class Clock и унаследован от FrameworkElement.

4.1.1. Поля и свойства Clock

private double r – определяет радиус циферблата аналоговых часов.

public double Radius { get { return r; } } – свойство для получения значения радиуса циферблата аналоговых часов.

private DateTime currentDataTime – поле для хранения текущей даты и времени.

public DateTime CurrentDataTime { get { return currentDataTime; } } - свойство для получения занчения текущей даты и времени.

private double xcenter, ycenter – координаты центра циферблата на Canvas.

private int Hour, Minutes, Seconds – целочисленные значения текущего времени, где Hour – текущий час, Minutes – текущее значение минут, Seconds – текущее значение секунд. Используется в вычислениях новых координат стрелок часов.

private int lastxs, lastys, lastxm, lastym, lastxh, lastyh – поля хранят координаты концов секундной, минутной и часовой стрелок соответственно. Используется для перерисовки стрелок часов.

private bool drag = false – поле используемое для определения возможности перемещения окна приложения по экрану.

private Point startpoint = new Point(0, 0) – хранит значение координат окна приложения на экране.

public Canvas ParrentCanvas – используется для расположения фигур представляющих часы.

public Ellipse CircleOfDial – окружность циферблата.

public TextBlock TBDate – используется для хранения и отображения текущей даты. Располагается на ParrentCanvas.

public TextBlock TBTime используется для хранения и отображения текущего времени. Располагается на ParrentCanvas.

private TextBlock[] NumberHour – массив техтовых блоков, используемый для отображения цифр на циферблате часов.

public Line HourArrow, HourArrow1, MinutesArrow, MinutesArrow1, SecondsArrow – линии для отображения стрелок часов. Для отображения минутной и часовой стрелок (для каждой) используется по две фигуры (линии).

private StackPanel PanelControlBtn – панель для хранения кнопок закрытия, сворачивания окна, настройки приложения.

private Button btnOption, btnClose, btnMinimazed – кнопки настройки, закрытия и сворачивания окна приложения.

private OptionWin OptionWindow – окно для отображения и настройки параметров приложения.

public ClockConfig clockConfig – пользовательский класс используемый для хранения настроек приложения, а также для их записи и чтения в/из файла.

private Thread TimerOfClock – поток, отвечающий за перерисовку часов.

private double MinR = 120, MaxR = 350 – минимальное и максимальное значения радиуса циферблата часов.

private ThreadStart threadStartClock – основной метод потока TimerOfClock, отвечающий за перерисовку часов.

4.1.2. Конструкторы класса Clock

Данный класс имеет один конструктор по умолчанию: public Clock().

В конструкторе по умолчанию выполняется создание ParrentCanvas, а затем расположение всех фигур, текстовых боков на нем, также выполняется чтение настроек приложения из файла и их применение. После того как настройки будут применены, будет запущен поток TimerOfClock, отвечающий за перерисовку часов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]