10 date time

14
Обробка даних в форматі Обробка даних в форматі дата/час. дата/час. Вивід даних з Вивід даних з програми на друк. програми на друк. Delphi. Delphi.

Upload: pogromskaya

Post on 12-Aug-2015

33 views

Category:

Education


0 download

TRANSCRIPT

Page 1: 10 date time

Обробка даних в форматіОбробка даних в форматі дата/час.дата/час. Вивід даних з Вивід даних з

програми на друк. програми на друк.

Delphi. Delphi.

Page 2: 10 date time

План темы:План темы:

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

1. Тип 1. Тип TDateTimeTDateTime..

Для хранения и обработки значений Для хранения и обработки значений даты и времени в даты и времени в Delphi Delphi применяется применяется тип данных тип данных TDateTime.TDateTime.

Он соответствует типу Он соответствует типу DoubleDouble ((вещественный с двойной точностью).вещественный с двойной точностью).

Целая часть элемента данных типа Целая часть элемента данных типа TDateTimeTDateTime соответствует количеству соответствует количеству дней, прошедших с полночи 30 декабря дней, прошедших с полночи 30 декабря 1899 года.1899 года.

Дробная часть соответствует времени Дробная часть соответствует времени дня.дня.

Page 4: 10 date time

2. Операции с данными 2. Операции с данными типа типа TDateTime.TDateTime.

Дата_2 – Дата_1 = Дата_2 – Дата_1 = <<Кол-во суток Кол-во суток между датамимежду датами>;>;

Дата_1 + Дата_1 + <<Кол-во сутокКол-во суток> = > = Дата_2;Дата_2;

Дата_2 - Дата_2 - <<Кол-во сутокКол-во суток> = > = Дата_1;Дата_1; Формат записи константы Формат записи константы

TDateTime:TDateTime:

ЧислоЧисло..Месяц.Год Месяц.Год Часы:Минуты:СекундыЧасы:Минуты:Секунды

Page 5: 10 date time

3. 3. Процедуры и функции Процедуры и функции для данных типа для данных типа TDateTimeTDateTime..

Функции:Функции: DateDate – – возвращает текущую дату.возвращает текущую дату. TimeTime – – возвращает текущее время.возвращает текущее время. NowNow – – возвращает текущие дату и возвращает текущие дату и

время.время. DayOfWeek(D)DayOfWeek(D) – – возвращает номер возвращает номер

дня недели даты дня недели даты D (1 – D (1 – воскресенье, 2 – понедельник, …, воскресенье, 2 – понедельник, …, 7 – суббота).7 – суббота).

Page 6: 10 date time

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

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

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

• Для ввода и отображения данных в формате дата удобны компоненты DateTimePicker или MonthCalendar.

44. . Компоненты Компоненты MonthCalendar, MonthCalendar, DateTimePicker, Timer.DateTimePicker, Timer.

Page 10: 10 date time

•Таймер - это системный генератор событий, который периодически сообщает программе о завершении заданного промежутка времени (событие OnTimer). •Интервал времени между таймерными событиями может устанавливаться в диапазоне от 1 до 65535 миллисекунд (свойство Interval).

44. . Компоненты Компоненты MonthCalendar, MonthCalendar, DateTimePicker, Timer.DateTimePicker, Timer.

Page 11: 10 date time

5. Вывод данных из 5. Вывод данных из программы на печать.программы на печать.

Некоторые компоненты Некоторые компоненты ((RichEdit, RichEdit, Chart)Chart) имеют специальный метод имеют специальный метод PrintPrint, , который выводит данные из который выводит данные из этих компонентов на печать.этих компонентов на печать.

Для большинства компонентов Для большинства компонентов ((Memo, StringGridMemo, StringGrid и др.) и др.) необходимо организовать вывод необходимо организовать вывод их данных на печать аналогично их данных на печать аналогично выводу данных в текстовый файл.выводу данных в текстовый файл.

Page 12: 10 date time

5. Вывод данных из 5. Вывод данных из программы на печать.программы на печать.

Для выбора принтера и настройки Для выбора принтера и настройки печати на форму необходимо печати на форму необходимо установить невизуальный установить невизуальный компонент компонент PrintDialogPrintDialog ( (раздел раздел DialogDialog в Палитре компонентов).в Палитре компонентов).

Вызов соответствующего окна Вызов соответствующего окна диалога осуществляет метод диалога осуществляет метод ExecuteExecute, который возвращает , который возвращает значение значение True, True, если пользователь если пользователь завершил диалог по кнопке завершил диалог по кнопке <Ok>.<Ok>.

Page 13: 10 date time

5. Вывод данных из 5. Вывод данных из программы на печать.программы на печать.

Для организации вывода данных Для организации вывода данных на печать необходимо:на печать необходимо:

Подключить в секции Подключить в секции uses uses модуль модуль PrintersPrinters;;

Определить файловую Определить файловую переменную: переменную: Prn: TextFile;Prn: TextFile;

Открыть принтер:Открыть принтер:

AssignPrn(Prn); Rewrite(Prn);AssignPrn(Prn); Rewrite(Prn);

Page 14: 10 date time

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);