10 date time
TRANSCRIPT
![Page 1: 10 date time](https://reader030.vdocuments.pub/reader030/viewer/2022032506/55cb4cc3bb61eb53448b45f9/html5/thumbnails/1.jpg)
Обробка даних в форматіОбробка даних в форматі дата/час.дата/час. Вивід даних з Вивід даних з
програми на друк. програми на друк.
Delphi. Delphi.
![Page 2: 10 date time](https://reader030.vdocuments.pub/reader030/viewer/2022032506/55cb4cc3bb61eb53448b45f9/html5/thumbnails/2.jpg)
План темы:План темы:
1. Тип 1. Тип TDateTimeTDateTime.. 2. Операции с данными типа 2. Операции с данными типа
TDateTime.TDateTime. 3. 3.
Процедуры и Функции для даннПроцедуры и Функции для данных типа ых типа TDateTimeTDateTime..
4.4. Компоненты Компоненты MonthCalendar, DateTimePicker, TiMonthCalendar, DateTimePicker, Timer.mer.
5. Вывод данных из программы н5. Вывод данных из программы на печать.а печать.
66. . Пример программы.Пример программы.
![Page 3: 10 date time](https://reader030.vdocuments.pub/reader030/viewer/2022032506/55cb4cc3bb61eb53448b45f9/html5/thumbnails/3.jpg)
1. Тип 1. Тип TDateTimeTDateTime..
Для хранения и обработки значений Для хранения и обработки значений даты и времени в даты и времени в Delphi Delphi применяется применяется тип данных тип данных TDateTime.TDateTime.
Он соответствует типу Он соответствует типу DoubleDouble ((вещественный с двойной точностью).вещественный с двойной точностью).
Целая часть элемента данных типа Целая часть элемента данных типа TDateTimeTDateTime соответствует количеству соответствует количеству дней, прошедших с полночи 30 декабря дней, прошедших с полночи 30 декабря 1899 года.1899 года.
Дробная часть соответствует времени Дробная часть соответствует времени дня.дня.
![Page 4: 10 date time](https://reader030.vdocuments.pub/reader030/viewer/2022032506/55cb4cc3bb61eb53448b45f9/html5/thumbnails/4.jpg)
2. Операции с данными 2. Операции с данными типа типа TDateTime.TDateTime.
Дата_2 – Дата_1 = Дата_2 – Дата_1 = <<Кол-во суток Кол-во суток между датамимежду датами>;>;
Дата_1 + Дата_1 + <<Кол-во сутокКол-во суток> = > = Дата_2;Дата_2;
Дата_2 - Дата_2 - <<Кол-во сутокКол-во суток> = > = Дата_1;Дата_1; Формат записи константы Формат записи константы
TDateTime:TDateTime:
ЧислоЧисло..Месяц.Год Месяц.Год Часы:Минуты:СекундыЧасы:Минуты:Секунды
![Page 5: 10 date time](https://reader030.vdocuments.pub/reader030/viewer/2022032506/55cb4cc3bb61eb53448b45f9/html5/thumbnails/5.jpg)
3. 3. Процедуры и функции Процедуры и функции для данных типа для данных типа TDateTimeTDateTime..
Функции:Функции: DateDate – – возвращает текущую дату.возвращает текущую дату. TimeTime – – возвращает текущее время.возвращает текущее время. NowNow – – возвращает текущие дату и возвращает текущие дату и
время.время. DayOfWeek(D)DayOfWeek(D) – – возвращает номер возвращает номер
дня недели даты дня недели даты D (1 – D (1 – воскресенье, 2 – понедельник, …, воскресенье, 2 – понедельник, …, 7 – суббота).7 – суббота).
![Page 6: 10 date time](https://reader030.vdocuments.pub/reader030/viewer/2022032506/55cb4cc3bb61eb53448b45f9/html5/thumbnails/6.jpg)
3. 3. Процедуры и функции Процедуры и функции для данных типа для данных типа TDateTimeTDateTime..
DateTimeToStr (D)DateTimeToStr (D) – – преобразует дату и преобразует дату и время время D D в строку.в строку.
StrToDateTime (S)StrToDateTime (S) – – преобразует строку преобразует строку S S в в дату и время.дату и время.
DateToStr (D)DateToStr (D) – – преобразует дату преобразует дату D D в в строку.строку.
StrToDate (S)StrToDate (S) – – преобразует строку преобразует строку S S в дату.в дату. TimeToStr (D)TimeToStr (D) – – преобразует время преобразует время D D в в
строку.строку. StrToTime (S)StrToTime (S) – – преобразует строку преобразует строку S S в в
время.время.
![Page 7: 10 date time](https://reader030.vdocuments.pub/reader030/viewer/2022032506/55cb4cc3bb61eb53448b45f9/html5/thumbnails/7.jpg)
3. 3. Процедуры и функции Процедуры и функции для данных типа для данных типа TDateTimeTDateTime..
EncodeDateEncodeDate (g, m, d)(g, m, d) – – возвращает возвращает дату, сформированную по году дату, сформированную по году ((g), g), месяцу (месяцу (m), m), дню (дню (d)d)..
EncodeTime (ch, min, sec, msec) EncodeTime (ch, min, sec, msec) – – возвращает время, возвращает время, сформированное по часам (сформированное по часам (ch), ch), минутам (минутам (min), min), секундам секундам (sec), (sec), миллисекундам (миллисекундам (msec)msec)..
![Page 8: 10 date time](https://reader030.vdocuments.pub/reader030/viewer/2022032506/55cb4cc3bb61eb53448b45f9/html5/thumbnails/8.jpg)
3. 3. Процедуры и функции Процедуры и функции для данных типа для данных типа TDateTimeTDateTime..
Процедуры:Процедуры: DecodeDateDecodeDate (D, g, m, d)(D, g, m, d) – – Разбивает Разбивает
значение даты значение даты D D на год (на год (g), g), месяц (месяц (m), m), день (день (d)d). .
DecodeTimeDecodeTime ((T,T, ch,ch, min,min, sec,sec, msec)msec) – – Разбивает значение времени Разбивает значение времени T T на часы на часы ((ch), ch), минуты (минуты (min),min), секунды секунды (sec), (sec), миллисекунды (миллисекунды (msec)msec). .
Переменные Переменные g, m, d, ch, min, sec, msec g, m, d, ch, min, sec, msec должны иметь тип должны иметь тип WordWord ( (целый целый беззнаковый).беззнаковый).
![Page 9: 10 date time](https://reader030.vdocuments.pub/reader030/viewer/2022032506/55cb4cc3bb61eb53448b45f9/html5/thumbnails/9.jpg)
• Для ввода и отображения данных в формате дата удобны компоненты DateTimePicker или MonthCalendar.
44. . Компоненты Компоненты MonthCalendar, MonthCalendar, DateTimePicker, Timer.DateTimePicker, Timer.
![Page 10: 10 date time](https://reader030.vdocuments.pub/reader030/viewer/2022032506/55cb4cc3bb61eb53448b45f9/html5/thumbnails/10.jpg)
•Таймер - это системный генератор событий, который периодически сообщает программе о завершении заданного промежутка времени (событие OnTimer). •Интервал времени между таймерными событиями может устанавливаться в диапазоне от 1 до 65535 миллисекунд (свойство Interval).
44. . Компоненты Компоненты MonthCalendar, MonthCalendar, DateTimePicker, Timer.DateTimePicker, Timer.
![Page 11: 10 date time](https://reader030.vdocuments.pub/reader030/viewer/2022032506/55cb4cc3bb61eb53448b45f9/html5/thumbnails/11.jpg)
5. Вывод данных из 5. Вывод данных из программы на печать.программы на печать.
Некоторые компоненты Некоторые компоненты ((RichEdit, RichEdit, Chart)Chart) имеют специальный метод имеют специальный метод PrintPrint, , который выводит данные из который выводит данные из этих компонентов на печать.этих компонентов на печать.
Для большинства компонентов Для большинства компонентов ((Memo, StringGridMemo, StringGrid и др.) и др.) необходимо организовать вывод необходимо организовать вывод их данных на печать аналогично их данных на печать аналогично выводу данных в текстовый файл.выводу данных в текстовый файл.
![Page 12: 10 date time](https://reader030.vdocuments.pub/reader030/viewer/2022032506/55cb4cc3bb61eb53448b45f9/html5/thumbnails/12.jpg)
5. Вывод данных из 5. Вывод данных из программы на печать.программы на печать.
Для выбора принтера и настройки Для выбора принтера и настройки печати на форму необходимо печати на форму необходимо установить невизуальный установить невизуальный компонент компонент PrintDialogPrintDialog ( (раздел раздел DialogDialog в Палитре компонентов).в Палитре компонентов).
Вызов соответствующего окна Вызов соответствующего окна диалога осуществляет метод диалога осуществляет метод ExecuteExecute, который возвращает , который возвращает значение значение True, True, если пользователь если пользователь завершил диалог по кнопке завершил диалог по кнопке <Ok>.<Ok>.
![Page 13: 10 date time](https://reader030.vdocuments.pub/reader030/viewer/2022032506/55cb4cc3bb61eb53448b45f9/html5/thumbnails/13.jpg)
5. Вывод данных из 5. Вывод данных из программы на печать.программы на печать.
Для организации вывода данных Для организации вывода данных на печать необходимо:на печать необходимо:
Подключить в секции Подключить в секции uses uses модуль модуль PrintersPrinters;;
Определить файловую Определить файловую переменную: переменную: Prn: TextFile;Prn: TextFile;
Открыть принтер:Открыть принтер:
AssignPrn(Prn); Rewrite(Prn);AssignPrn(Prn); Rewrite(Prn);
![Page 14: 10 date time](https://reader030.vdocuments.pub/reader030/viewer/2022032506/55cb4cc3bb61eb53448b45f9/html5/thumbnails/14.jpg)
5. Вывод данных из 5. Вывод данных из программы на печать.программы на печать.
Сформировать очередную строку Сформировать очередную строку выводимой информации, выводимой информации, например:например:
For i:=1 to n doFor i:=1 to n do
S := Memo1.Lines[i];S := Memo1.Lines[i]; Вывести строку на принтер:Вывести строку на принтер:
Writeln(Prn, S);Writeln(Prn, S); Закрыть принтер:Закрыть принтер:
CloseFile(Prn);CloseFile(Prn);