Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[11849] Re:콘솔창에서 달력 만들기!!
civilian [civilian] 1978 읽음    2008-03-20 22:26
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)도 잘안되네요!!

+ -

관련 글 리스트
11848 콘솔창에서 달력 만들기!! 델파초보 1465 2008/03/20
11849     Re:콘솔창에서 달력 만들기!! civilian 1978 2008/03/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.