FoxPro8

         

Использование календаря для ввода информации в поля дат


Мы рассмотрели свойства календаря. Теперь посмотрим, как можно использовать данный ActiveX-компонент для ввода информации в поля таблицы содержащие даты. В качестве примера создадим форму для ввода информации о сотрудниках фирмы. Исходная таблица Manager содержит поле dDateBirth с информацией о дате рождения сотрудника. Информацию в это поле будем вводить с помощью ActiveX-компонента Календарь.

Чтобы создать форму, выполните следующие действия:

  • В проекте sales откройте окно конструктора.
  • В окружение формы добавьте таблицу, содержащую список сотрудников.
  • Разместите в форме необходимые для ввода информации поля таблицы.
  • Откройте окно свойств Properties (Свойства) поля, предназначенного для ввода даты рождения сотрудника.
  • Используя свойство Name (Имя), присвойте объекту наименование txtBirthday.
  • Используя свойство controisource (Источник данных), задайте в качестве источника данных поля для ввода даты рождения поле dDateBirth таблицы.
  • Рис. 16.25. Форма для ввода списка сотрудников

  • Рядом с полем, предназначенным для ввода даты рождения, расположите кнопку.
  • Используя свойство caption (Надпись), присвойте кнопке название Календарь. Форма будет иметь вид, представленный на рис. 16.25.
  • Откройте окно свойств Properties (Свойства) кнопки Календарь.
  • Рис. 16.26. Окно процедур метода Click для кнопки Календарь

  • В окне процедур свойства click (Нажатие) введите команды, которые программно формируют и задают свойства ActiveX-компонента календарь (рис. 16.26):

    #DEFINE С CALCAFTIOK_LOC "Календарь"

    oCalForm = Create('form1 )

    oCalForm.NewObject("oleCalendar","_olecalendar","_datetime")

    WITH oCalForm.oleCalendar

    .date_column = "manager.ddatebirch"

    .RefreshDisplay()

    .BackColor = THISFORM.BackColor

    .Visible = . T. ENDWITH WITH oCalForm

    .BorderStyle - '.:

    .MaxButton = .F.

    .MinButton = .F.

    .Height = oCalForm.oleCalendar.Height

    .Width = oCalForm.oleCalendar.Width

    .Caption = C__CALCAPTION_LOC ENDWITH

    oCalForm.Show(1) THISFORM.Refresh

  • Закройте окно процедур.
  • Создание формы завершено. Запустите ее на выполнение. Для ввода информации в поле дата рождения нажмите кнопку Календарь. На экране откроется календарь. Выберите необходимое число, месяц и год и закройте календарь. Указанная вами дата будет перенесена в поле дата рождения (рис. 16.27).

    Рис. 16.27. Использование ActiveX-компонента для ввода информации в таблицу



    Содержание раздела