-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathget_day.dpr
51 lines (41 loc) · 1.19 KB
/
get_day.dpr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
program get_day;
{$APPTYPE CONSOLE}
uses
SysUtils, Dialogs;
var
gday: string;
gady_int: integer;
m_day, m_mounth, m_year, m_days_in_mounth: integer;
begin
try
//SetConsoleTitle('get_day');
//gady_int:= StrToInt(FormatDateTime('dd', now));
//TODO -oUser -cConsole Main : Äîáàâèòü âû÷èòàíèå äíÿ -1 ñ ó÷åòîì ãðàíèöû íà ïåðâîì äíå ìåñÿöà. Ò.å. åñëè ãðàíèöà íóæíî ïîëó÷èòü ñêîëüêî äíåé áûëî â ïðåäèäóùåì ìåñÿöå è çàìåíèòü çíà÷åíèå gady_int íà ïîñëåäíèé äåíü ìåñöà.
m_day:= StrToInt(FormatDateTime('dd', now));
if m_day = 1 then
begin
m_mounth:= StrToInt(FormatDateTime('mm', now));
m_year:= StrToInt(FormatDateTime('yyyy', now));
if m_mounth = 1 then
begin
m_mounth:= 12;
m_year:= m_year -1;
end
else
begin
m_mounth:= m_mounth -1;
end;
m_days_in_mounth:= MonthDays[IsLeapYear( m_year )][ m_mounth ];
m_day:= m_days_in_mounth;
end
else
begin
m_day:= m_day - 1;
end;
// ShowMessage('Êîëè÷åñòâî äíåé = '+ IntToStr( MonthDays[IsLeapYear( m_year )][ mounth ]) );
Halt(m_day);
except
on E:Exception do
Writeln(E.Classname, ': ', E.Message);
end;
end.