Пример 2.3.
Создать программу работы с типом TDateTime. Она должна запрашивать дату и время рождения, выводить текущие дату/время, запрашивать желаемое время обучения, выводить дату/время и день недели конца обучения.
Листинг программы
program prg_2_3;
{$mode objfpc}{$H+}
uses
Classes, SysUtils, RusTrans;
var
Date_1,Time_1,DateTime1:string;
DateTime_1,DateTime_2:TDateTime;
Day:integer;
begin
writeln(Rus(‘Введите дату рождения день.месяц.год’));
readln(Date_1);
writeln;
writeln(Rus(‘Введите время рождения часы.минуты.секунды’));
readln(Time_1);
writeln;
DateTime1:=Date_1+’ ‘+Time_1;
DateSeparator:=’.';
TimeSeparator:=’.';
ShortDateFormat:=’dd.mm.yyyy’;
DateTime_1:=StrToDateTime(DateTime1);
writeln;
DateTime_2:=Now;
writeln(Rus(‘Сегодня ‘),DateTimeToStr(Now));
writeln;
writeln(Rus(‘Сколько дней еще хотите учиться?’));
readln(Day);
writeln;
DateTime_2:=DateTime_2+Day;
Day:=DayOfWeek(DateTime_2);
writeln(Rus(‘Вы станете умным ‘), DateToStr(DateTime_2));
writeln(Rus(‘Это будет день недели номер ‘),Day);
readln;
end.
Консоль перед закрытием программы:
Выводы
Программа на языке Lazarus имеет следующую структуру:
- Заголовок.
- Разделы объявлений констант, переменных, типов, меток, подпрограмм (процедур и функций).
- Раздел операторов, помещенный в операторные скобки begin…end.
- Точка, как признак конца программы.
Для чисел возможны типы: вещественные, целые без знака и со знаком, 16-ричные.
- Вещественные числа запоминаются в формате с плавающей точкой. Для них лучше всего использовать тип real. При переходе к типу с меньшим размером теряется точность. При использовании типов с максимальными размерами потребная память увеличивается, но точность может не измениться. Для округления результатов используются типы вещественных чисел с ограниченной дробной частью: comp (0 разрядов) и currency (4 разрядов).
- Целые числа запоминаются в формате с фиксированной точкой. Для них лучше всего использовать тип integer. При переходе к типу с меньшим размером возможна грубая ошибка, если число не умещается в отведенную под него память. Целые числа без знака целесообразно использовать для уменьшения занимаемой памяти.
Для работы с короткими строками используются типы ShortString, String [N до 255]. Это область в статической памяти, назначаемая при компиляции программы.
Для работы с длинными строками используются типы String, AnsiString, WideString. Это указатели размером 4 байта, в которые помещается адрес начала строки в динамической памяти, назначаемый при исполнении программы.
Операция + со строками выполняет конкатенацию (присоединение в конец) строк или символов.
Для работы с датой и временем определен тип TDateTime. Он в формате вещественного числа содержит и дату (целая часть – число суток, прошедших с 30.12.1899) и время (дробная часть – часть суток, прошедших с 0 часов). Тип позволяет выполнять с датой/временем операции, как с вещественными числами.