program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
Controls,
DateUtils,
Dialogs;
var
FirstDate : TDate;
Date : TDate;
iDays : Integer;
iIndex : Integer;
iStart: Integer;
iYear : Word;
iMonth : Word;
iDay : Word;
iWeek : Integer;
strLine : String;
j: Integer;
begin
Writeln('년입력:');
Readln(iYear);
Writeln('월입력:');
Readln(iMonth);
FirstDate := EncodeDate(iYear, iMonth, 1); // 첫날
iDays := DaysInMonth(FirstDate); // 해당 년월의 날짜수
iStart := DayOfTheWeek(FirstDate); // 첫날의 요일
strLine := '';
if iStart > 1 then
for j := 1 to iStart do
strLine := strLine + #9;
Writeln(Format('%d년 %d월', [iYear, iMonth]));
Writeln('');
Writeln('일' + #9 + '월' + #9 + '화' + #9 + '수' + #9 + '목' + #9 + '금' + #9 + '토');
for iIndex := 1 to iDays do
begin
Date := EncodeDate(iYear, iMonth, iIndex);
iWeek := DayOfTheWeek(Date);
strLine := strLine + IntToStr(iIndex)+ #9 ;
if (iWeek = 6) or (iIndex = iDays) then
begin
Writeln(strLine);
strLine := '';
end;
end;
ReadLn(strLine);
end.
온라인상에서 바꿔본것이라......^^
델파초보 님이 쓰신 글 :
: program Project2;
:
: {$APPTYPE CONSOLE}
:
: uses
: SysUtils,
: Controls,
: DateUtils,
: Dialogs;
:
: var
: Week : Array [0..6] of String =
: ('일요일','월요일','화요일','수요일','목요일','금요일','토요일');
:
: FirstDate, EndDate : TDate;
: Date : TDate;
: iDays : Integer;
: iIndex : Integer;
:
: iYear : Word;
: iMonth : Word;
: iDay : Word;
: iWeek : Integer;
: strLine : String;
: begin
: Writeln('년입력:');
: Readln(iYear);
:
: Writeln('월입력:');
: Readln(iMonth);
:
: FirstDate := EncodeDate(iYear, iMonth, 1);
: EndDate := IncMonth(FirstDate);
: EndDate := IncDay(EndDate, -1);
:
: Writeln('월' + #9 + '화' + #9 + '수' + #9 + '목' + #9 + '금' + #9 + '토' + #9 + '일');
: iDays := DaysBetween(FirstDate, EndDate);
: for iIndex := 0 to iDays do begin
: Date := IncDay(FirstDate, iIndex);
: DecodeDate(Date, iYear, iMonth, iDay);
: iWeek := DayOfTheWeek(Date);
:
: if (iWeek = 1) then begin
: strLine := IntToStr(iDay);
: end
: else begin
: strLine := strLine + #9 + IntToStr(iDay);
: end;
:
: if (iWeek = 7) or (iIndex = iDays - 1) then begin
: WriteLn(strLine);
: end;
: end;
:
: ReadLn(strLine);
: end.
:
:
: 좀 도와 주세요..........
:
: 30까지만 나타나고....탭 정렬(#9)도 잘안되네요!!
|