Компонент ввода диапазона дат (постановка)
Материал из GedeminWiki
(Различия между версиями)
VK (обсуждение | вклад) (→Визуальный интерфейс) |
SYSDBA (обсуждение | вклад) (→Визуальный интерфейс) |
||
| Строка 18: | Строка 18: | ||
=== Визуальный интерфейс === | === Визуальный интерфейс === | ||
| − | Компонента должна представлять TCombobox или TPanel с расположенным на ней TCombobox, где в окошке редактирования производится ввод диапазона дат. Начальная дата и конечная дата разделяются символом '-'. | + | Компонента должна представлять [[TCombobox]] или [[TPanel]] с расположенным на ней TCombobox, где в окошке редактирования производится ввод диапазона дат. Начальная дата и конечная дата разделяются символом '-'. |
| − | Для ввода единичной даты, достаточно, чтобы одна из дат диапазона была пустой. После клика мышкой по элементу в правой части окошка редактирования (или при помощи | + | Для ввода единичной даты, достаточно, чтобы одна из дат диапазона была пустой. После клика мышкой по элементу в правой части окошка редактирования (или при помощи клавиши стрелка вниз), под окошком ввода дат должен появляться элемент [[TPageControl]] со следующими закладками: |
| − | # История - можно просмотреть и выбрать ранее введённые пользователем данные из списка TListBox | + | # История - можно просмотреть и выбрать ранее введённые пользователем данные из списка [[TListBox]]. |
| − | # Произвольный выбор дат - можно выбрать даты диапазона из двух элементов-календарей TMonthCalendar. | + | # Произвольный выбор дат - можно выбрать даты диапазона из двух элементов-календарей [[TMonthCalendar]]. |
| − | # Год - выбор | + | # Год - выбор года из списка TListBox. |
# Квартал - выбора квартала по году из первой даты, если она есть. Выбирается из списка TListBox. | # Квартал - выбора квартала по году из первой даты, если она есть. Выбирается из списка TListBox. | ||
# Месяц - выбор месяца по году из первой даты, если она есть. выбирается из списка TListBox. | # Месяц - выбор месяца по году из первой даты, если она есть. выбирается из списка TListBox. | ||
Версия 20:24, 27 августа 2008
Требования
- Ввод единичной даты;
- Ввод произвольного диапазона дат;
- Быстрый выбор диапазона:
- Год;
- Полугодие;
- Квартал;
- Месяц;
- Неделя;
- Быстрый ввод с клавиатуры с подстановкой текущей даты (текущего дня, месяца, года);
- Распознавание произвольно введенной строки. Например: "2007 1 кв" -- "1-й квартал 2007 года", "5 нед" -- "Пятая неделя текущего года", и т.п.
- Хранение истории введенных значений;
- Хранение последнего выбора пользователя: ввод даты, диапазона, квартала, месяца и т.п.
- Возможность работы только с клавиатуры без помощи мыши;
- Компонент должен быть реализован ввиде автономного pas файла (группы pas файлов) и не иметь связей с кодом платформы Гедымин.
Визуальный интерфейс
Компонента должна представлять TCombobox или TPanel с расположенным на ней TCombobox, где в окошке редактирования производится ввод диапазона дат. Начальная дата и конечная дата разделяются символом '-'.
Для ввода единичной даты, достаточно, чтобы одна из дат диапазона была пустой. После клика мышкой по элементу в правой части окошка редактирования (или при помощи клавиши стрелка вниз), под окошком ввода дат должен появляться элемент TPageControl со следующими закладками:
- История - можно просмотреть и выбрать ранее введённые пользователем данные из списка TListBox.
- Произвольный выбор дат - можно выбрать даты диапазона из двух элементов-календарей TMonthCalendar.
- Год - выбор года из списка TListBox.
- Квартал - выбора квартала по году из первой даты, если она есть. Выбирается из списка TListBox.
- Месяц - выбор месяца по году из первой даты, если она есть. выбирается из списка TListBox.
- Неделя - выбор недели по году из первой даты, если она есть. Выбирается из списка TListBox.
- День - выбор дня по году из первой даты, если она есть. Выбирается из списка TListBox.
Детали реализации
Визуальный компонент должен быть наследован от стандартного компонента TPanel.