-
Notifications
You must be signed in to change notification settings - Fork 0
Digits7S
Денис Чухліб edited this page Jul 27, 2023
·
2 revisions
Це клас для зберігання і обробки масиву сегментів
template <uint16_t DigitsSize = 4> // DigitsSize - кількість сегментів
class Digits7S; // Використовувати так - Digits7S<DigitsSize> data;
protected:
Digits7SArray<DigitsSize> digits; // Захищене поле з масивом сегментів
public:
Digits7S(); // Пустий конструктор
Digits7S(const Digits7SArray<DigitsSize>& newDigits); // Конструктор з масивом сегментів
Digits7S(const Digits7S<DigitsSize>& newDigits); // Конструктор з іншим Digits7S
Digit7SData& operator[](uint16_t index); // Оператори для використання об'єкта як масив ( data[0] )
const Digit7SData& operator[](uint16_t index);
uint16_t size(); // Отримати кількість сегментів
operator Digits7SArray<DigitsSize>&(); // Оператор для перетворення Digits7S в Digits7SArray
Digits7S& operator = (const Digits7SArray<DigitsSize>& newDigits); // Оператор для взяттня данних з Digits7SArray
Digits7S& clear(); // Очистити дані (Прирівняння всих до 0)
// Функції для взяття даних з масивів інших розмірів
// size - розмір масиву з якого беруться дані
// pos - позиція в яку вставляються дані
// num - кількість сегментів які скопіюються
template <uint16_t size, uint16_t pos = 0, uint16_t num = size>
Digits7S& setDigits(const Digits7SArray<size>& newDigits);
template <uint16_t size, uint16_t num = size>
Digits7S& setDigitsFist(const Digits7SArray<size>& newDigits);
template <uint16_t size, uint16_t num = size>
Digits7S& setDigitsLast(const Digits7SArray<size>& newDigits);
Digits7S& setInt(int64_t n); // Встановлення числа
Digits7S& setClock(uint8_t h, uint8_t m, bool noFirstZero = 1); // Встановлення часу (мінімум 4 сегмента)
Digits7S& setClock(uint8_t h, uint8_t m, uint8_t s, bool noFirstZero = 1); // Встановлення часу (мінімум 6 сегментів)
Digits7S& setString(const String& str); // Встановлення текстового рядка
String& getString(); // Отримання тектового рядки (з тих символів що можна встановити інше буде пробілом)