Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Сергей Борщ 18 марта 2003 г. 00:34
В ответ на: Как лучше редактировать Время и Дату отправлено pxva 17 марта 2003 г. 11:02

Я делал так:
Кнопки:
ESC, Enter
Вправо, Вниз.

При редактировании Вправо двигает курсор по цифрам (по кругу - после последней перескакивает на первую), Вниз меняет число. Enter проверяет Дату(время) на допустимость, ESC выбрасывает обратно в меню без изменения.

Реализовано дофольно просто: На каждую цифру (ед. года, десятки года, единицы месяца, десятки месяца, месяц в виде текстового названия (JAN, FEB, MAR...) своя функция для Влево и Вниз. Далее двумерный массив указателей на эти функции - по формату и позиции курсора.
Функции для Влево указывают на какую позицию перескочить, для Вниз - меняют соответствующее число и проверяют на ограничение (десятки часов не более 2, десятки месяца не более 1, десятки секунд не более 6).


Таким образом очень легко оказалось организовать коррекцию даты в любом формате (дд-мм-гг, дд-ммм-гг, мм-дд-гг, ммм-дд-гг, ...) и времени в форматах чч:мм:сс, РМ/АМ чч:мм, чч:мм РМ/АМ.

Разделитель (:/-,) хранится в отдельном массиве.


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru