Процедуры и функции вызова диалоговых окон

Процедура ShowMessage (‘<строка>’) отображающая окно с сообщением и кнопкой ОК. Пример: ShowMessage (‘До свидания!’)

Процедура ShowMessageFmt(‘Задано %d параметров из %d ’, [n1,n2]) Последний оператор при n1=5 и n2=7 выдаст сообщение с текстом: «Задано 5 параметров из 7»

Функции отображают окна, в которых пользователю задается какой-либо вопрос и анализируется полученный ответ.

Функция MessageDlg (<строка>, AType, Abuttons, HelpCtx) отображает диалоговое окно и ожидает ответ пользователя. Вид отображения окна задается параметром AType.

Значение Описание
MtWarning Окно замечаний
MtError Окно ошибок
MtInformation Информационное окно
MtConfirmation Окно подтверждения
mtCustom Заказное окно без рисунка

Параметр Abuttons определяет, какие кнопки будут присутствовать в окне.

Значение Надпись на кнопке
MbYes Yes
MbNo No
MbOk Ok
MbCancel Cancel
MbHelp Help
MbAbort Abort
MbRetry Retry
MbIgnore Ignore
MbAll All

Определены 3 константы, соответствующие часто используемым сочетанием кнопок

MbYesNoCancel Входят кнопки Yes, No, Cancel
mbOkCancel Входят кнопки Ok, Cancel
mbAbortRetryIgnore Входят кнопки Abort, Retry, Ignore

Лабораторная работа №14

Пример: В теле процедуры запишем

Begin

if MessageDlg('Yo!',mtWarning,[mbYes, mbNo],0)=mrYes

then close;

end.

Получим:

Задания для самостоятельной работы:

1.Перераспределить значения переменных x и y так, чтобы в х оказалось большее, а в у – меньшее.

2.Посетитель проиграл в казино a рублей. У него есть фишки 2, 5, 15, 20, 50, 100, 500$. Сколько фишек разного достоинства отдаст игрок, если будет платить с самых дорогих?

Работа с датой и временем

Тип TDateTime

Var t: TDateTime;

Для обработки даты и времени модуль SysUtils содержит следующие основные функции:

function Date: TDataTime;-возвращает текущую дату как значение типа TDateTime.

function DateToStr(Date: TDateTime): string;-преобразовывает дату, указанную параметром Date, в строку.

function DayOfWeek(Date: TDateTime): Integer;-возвращает номер дня недели для даты, указанной параметром Date. Для воскресенья возвращается значение 1, для понедельника - 2 и т. д.

function EncodeDate(Year, Month, Day: Word): TDateTime;-собирает значение даты из заданных составляющих Year, Month и Day и воз­вращает его как значение типа TDateTime.

function DecodeDate(Date: TDateTime): Word;-собирает значение типа TDateTime и воз­вращает его как значение типа дата из заданных составляющих Year, Month и Day.

function Now: TDateTime;-возвращает значение текущей даты и времени.

function StrToDate(const S; string): TDateTime;-преобразовывает значение строки, указываемое параметром S, в дату типа TDateTime.

function Time: TDateTime;-возвращает текущее значение времени.

function TimeToStr(Time: TDateTime): string;-преобразовывает время в строку в соответствии с форматом, определяемым глобальной переменной LongTimeFormat.

TDateTimePocker – ввод и отобрание даты/времен

Свойства компонента:

Свойство Описание
CalAlignment Определяет положение раскрывающегося календаря: dtaLeft – слева от компонента; dtaRight – справа от компонента. Учитывается только для Kind=dtkDate и DateMode=dmComoBox
CalColors Цвет календаря
Checked Если выполняются условия Checked=True и ShowCheckBox=True, то флажок рядом с полем даты (времени) будет показан и установлен. Наличие флажка или его отсутствие разрешает или запрещает ручной ввод даты или времени
Date Содержит введенную дату
DateFormat Определяет формат показа даты: dfShort – 11.01.04; dfLong – 5 сентября 2004 г.
DateMode Определяет способ выбора даты: dmComboBox – с помощью раскрывающегося календаря; dmUpDown – с помощью встроенного компонента TUpDown
Kind Определяет содержимое компонента: dtkDate – дата; dtkTime – время
MaxDate Определяет максимальную дату, которую может выбрать или ввести пользователь
MinDate Определяет минимальную дату, которую может выбрать или ввести пользователь
Time Содержит введенное пользователем время

TMonthCalendar – календарь

Предназначен для выбора и отображения даты. Очень похож на календарь, рассмотренный выше, но в отличие от него может одновременно отображать несколько смежных месяцев – в зависимости от своих размеров.

Свойства компонента:

Свойство Описание
CalColors Цвет календаря (фона, дат, заголовков)
Date Определяет выбранную дату
EndDate Определяет конечную дату диапазона выбранных дат
FirstDayOfWeek Определяет первый день недели
MaxDate Определяет максимальную дату, месяц которой еще будет доступен для отображения в компоненте. Если свойство содержит пустое значение, то отображается любой следующий месяц
MinDate Определяет минимальную дату, месяц которой еще будет доступен для отображения в компоненте. Если свойство содержит пустое значение, то отображается любой предыдущий месяц
ShowTodayCircle Разрешает/запрещает обводить кружком текущую дату
WeekNumbers Разрешает/запрещает показ порядковых номеров недель от начала года в левой колонке

TTimer – таймер

Данный компонент служит для отсчета интервалов реального времени. Минимальный реально достижимый интервал отсчета времени в ОС MS-DOS, Windows 95/98/ME не может быть меньше 55 миллисекунд (этот интервал называется тиком). Для ОС Windows NT Server, Windows 2000, Windows XP длительность тика составляет 10 миллисекунд.

TCalenar – календарь

Компонент календарь отображает календарь на выбранный месяц и год. Его свойства Day, Month, Year могут содержать любую дату от 1 до 9999 года от Рождества Христова.

Лабораторная работа №15

Рассмотрим пример, в котором числа 2006, 1, 1 выводятся в формате даты 1.1.2006.

var MyTime: TDateTime;

begin

MyTime := EncodeDate(2006, 1, 1);

Edit1.Text := DateToStr(MyTime); end;

Для вывода в однострочное окно текущей записи на экран необходимо Edit1.Text := DateToStr(Now);

Задания для самостоятельной работы:

1. По введенному номеру года найти количество понедельников в этом году.

2. По введенному номеру года найти количество пятниц 13.