"Пикеры" - это вспомогательный функционал для ввода значений различных типов (Дата / Время и др.) без использования и компоновки отдельной формы или группы компонентов пользовательского интерфейса. Это утилитные классы, предлагающие платформозависимые пути выбора значения.
Выбор даты
Пикеры даты позволяют пользователю выбрать дату.
Работа с пикером осуществляется через вспомогательный класс FGX.Pickers.Date.TfgPickerDate
. Этот класс позволяет сконфигурировать параметры и логику работы пикера.
Быстрое отображение пикера даты
Если вы просто хотите предоставить пользователю выбрать дату без дополнительных ограничений, вы можете использовать легковесную версию фабричного метода FGX.Pickers.Date.TfgPickerDateFactory.PickDate
.
Ниже представлен код отображения выбора даты, с заданной стартовой датой в 1 января 2020 года. Когда пользователь совершит выбор даты, вызывается анонимный обработчик, который в этом примере отобразит сообщение.
TfgPickerDateFactory.PickDate(Self, EncodeDate(2020, 1, 1), procedure (const ASelectedDate: TDate) begin
TfgToast.Show('Selected date: ' + DateToStr(ASelectedDate));
end;
Создание вручную
Экземпляр пикера можно получить используя фабричный метод FGX.Pickers.Date.TfgPickerDateFactory.CreatePicker
. После получения экземпляра пикера, вы можете задать обработчики событий для отслеживания процесса выбора даты, а также отслеживания видимости пикера.
uses
System.SysUtils, FGX.Pickers.Date, FGX.Toasts;
var
DatePicker: TfgPickerDate;
begin
DatePicker := TfgPickerDateFactory.CreatePicker(Self);
DatePicker.Date := EncodeDate(2020, 1, 1); // По умолчанию пикер использует сегодняшнюю дату
DatePicker.OnDateSelectedCallback := procedure (const ASelectedDate: TDate) begin
TfgToast.Show('Selected date: ' + DateToStr(ASelectedDate));
end;
end;
Выбор даты из диапазона
Пикер даты поддерживает возможность указать допустимые границы дат. Вы можете задать: нижнюю дату, верхнюю дату или задать и нижнюю и верхнюю даты вместе.
DatePicker.MinDate := EncodeDate(2020, 1, 10);
DatePicker.MaxDate := EncodeDate(2020, 1, 25);
Выбор времени
Пикер времени позволяет пользователю указать время.
Быстро отображение пикера времени
Если вы просто хотите предоставить пользователю выбрать время, вы можете использовать легковесную версию фабричного метода FGX.Pickers.Time.TfgPickerTimeFactory.PickTime
.
Ниже представлен код отображения пикера выбора времени, с заданным времением "15:30". Когда пользователь совершит выбор времени, вызовется анонимный обработчик, который в этом примере отобразит сообщение с выбранным временем.
TfgPickerTimeFactory.PickTime(Self, EncodeTime(15, 30, 0, 0), procedure (const ASelectedTime: TTime) begin
TfgToast.Show('Selected time: ' + TimeToStr(ASelectedTime));
end;
Создание вручную
Экземпляр пикера можно получить используя фабричный метод FGX.Pickers.Time.TfgPickerTimeFactory.CreatePicker
. После получения экземпляра пикера, вы можете задать обработчики событий для отслеживания процесса выбора времени, а также отслеживания видимости пикера.
uses
System.SysUtils, FGX.Pickers.Time, FGX.Toasts;
var
TimePicker: TfgPickerTime;
begin
TimePicker := TfgPickerTimeFactory.CreatePicker(Self);
TimePicker.Time := EncodeTime(15, 30, 0, 0); // By default picker uses Now time
TimePicker.OnTimeSelectedCallback := procedure (const ASelectedTime: TTime) begin
TfgToast.Show('Selected time: ' + TimeToStr(ASelectedTime));
end;
end;