Программа Дата и время в Delphi 2010

data time

Создам простую программу «Дата и время» на Delphi, которая будет выводить: текущую дату, количество дней в году, количество часов в году, а также количество минут в году. Также можно подсчитать количество дней в текущем месяце.


Для начала создам проект VCL Forms Aplication.

new project Delphi

Назову программу Дата и время. Это осуществляется во вкладке Properties поле Caption.

caption form Delphi

Теперь мне нужно пять кнопок TButton и пять текстовых меток TLabel из набора Standart. Приведу все кнопки в красивый вид как указано на рисунке:

Предварительный вид программы Дата и время

Теперь настало время для программирования. Как определить текущую дату? Для этого воспользуюсь типом TDateTime. Нужно создать переменную. Она будет называться, допустим, MyData.

Переключение между графическим режимом и режимом ввода кода осуществляется клавишей F12. Теперь нужно задать событие первой кнопке. Переключаюсь в графический режим и нажимаю на нее:

Первая кнопка в программе

Система Delphi сама создает событие procedure TForm1.Button1Click(Sender: TObject); . Напишу следующий код:

[code]
MyData := Now();
Label1.Caption:=DateToStr(MyData);
[/code]

Из выше изложенного получается, что нужно инициализировать текущую переменную MyData и декодировать в текстовый тип. Могу сказать, что для работы с датой в delphi 2010 пока не потребовалось подключать DateUtils в секции uses. Первый вопрос решен. Попробую вывести количество дней в текущем месяце в кнопке номер 5.

[code]
var D,M, Y:Word;
begin
MyData := Now();
DecodeDate(MyData, D,M,Y);
M:= DaysInAMonth(Y, M)
Label5.Caption:=IntToStr(M);
end;
[/code]

Для получения Даты пришлось ввести три переменные типа Word, а также опять получить текущую дату, что не очень удобно. Убираем дублирование строки MyData := Now(); в событие (Events) OnCreate.
MyData Now
Строка DecodeDate(MyData, D,M,Y); разбивает переменную MyData на три отдельные переменные со значениями: День, Месяц и Год. Дальше DaysInAMonth возвращает число дней в текущем месяце.
Настало время разобраться с количеством дней в году. Можно конечно долго не думать и проверить год на высокосность и вывести просто количество дней, а можно подсчитать в цикле по месяцам:

[code]
var D,M, Y:Word;
i, day:Integer;
begin
day:=0;
DecodeDate(MyData, D,M,Y);
for i:=1 to 12 do day:=day+DaysInAMonth(Y, i);
Label2.Caption:=IntToStr(day);
end;
[/code]

Немного переборщил с переменными, но считает. Опять декодируем дату. В цикле суммируем дни месяцев текущего года. Вроде ничего сложного. Осталось посчитать количество часов в текущем году. Оформлю событие третьей кнопки Label3:

[code]
var D,M, Y:Word;
i, time:Integer;
begin
time:=0;
DecodeDate(MyData, D,M,Y);
for i:=1 to 12 do
begin
time:=time+DaysInAMonth(Y, i);
end;
time:=time*24;
Label3.Caption:=IntToStr(time);
end;
[/code]

datetime delphi
В этой процедуре ничего особенного. Подсчет количества дней, а потом умножение на 24. Вот такая программа Дата и время в Delphi 2010. С минутами не стал делать. Решил оставить вам. Жду Ваши комментарии!!! Также вы можете обратиться на форум программистов.

1 Star2 Stars3 Stars4 Stars5 Stars (5 голосов, средний:5,00 из 5)
Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.
Оставить комментарий