Содержание

CreateDateInputVA

Синтаксис

GUI* CreateDateInputVA( int, ... );

Описание

Функция создает окно для ввода даты

Параметры

Переменные аргументы:

Возвращаемое значение

Возвращает указатель на созданный GUI

Пример

#define DI_GET_YEAR(x) ((unsigned int)x&0xFFFF)
#define DI_GET_MONTH(x) (((unsigned int)x>>16)&0xFF)
#define DI_GET_DAY(x) ((unsigned int)x>>24)
 
void onDateInputClose(BOOK * book, GUI *)
{
  FreeBook(book);
}
 
void onDateInputOK(BOOK * book, GUI * gui)
{
  char buf[11];
 
  unsigned int date = DateInput_GetDateInt(gui);
 
  sprintf(buf, "%02d.%02d.%04d", DI_GET_DAY(date), DI_GET_MONTH(date), DI_GET_YEAR(date));
 
  MessageBox(EMPTY_TEXTID, TextID_Create(buf, ENC_LAT1, TEXTID_ANY_LEN), NOIMAGE, 1, 5000, 0);
}
 
void CreateDateInput(void)
{
  DATETIME dt;
  char format;
 
  BOOK * DateInput = new BOOK;
  CreateBook(DateInput, 0, 0, "DateInputTest", -1, 0);
 
  REQUEST_DATEANDTIME_GET(SYNC, &dt);
  REQUEST_DATEFORMAT_GET(SYNC, &format);
 
  GUI * Date = CreateDateInputVA(0,
                                 VAR_BOOK(DateInput),
                                 VAR_HEADER_TEXT(STR("Date")),
                                 VAR_DATEINP_DATEFORMAT((int)format),
                                 VAR_DATEINP_DATE(&dt.date),
                                 0);
  GUIObject_SoftKeys_SetAction(Date, ACTION_ACCEPT, onDateInputOK);
  GUIObject_SoftKeys_SetAction(Date, ACTION_BACK, onDateInputClose);
  GUIObject_SoftKeys_SetAction(Date, ACTION_LONG_BACK, onDateInputClose);
}

См.также

REQUEST_DATEANDTIME_GET, REQUEST_DATEFORMAT_GET, DateInput_GetDateInt