Q&A

  • 한달의 일자 리스트를 출력...
안녕하세요.
저는 특정한 달을 선택하여 그 달의 리스트를 아래와 같이 출력하고자 합니다.
만약에 7월을 선택하면...

2002-7-1
2002-7-2
2002-7-3
2002-7-4
2002-7-5
2002-7-6
.
.
.
2002-7-31

1.데이타베이스는 사용하지 않을꺼예요.(단, 필요하다면 사용해야 겠죠)
2.토요일과 일요일은 리스트에서 나오지 않아야 합니다.

2  COMMENTS
  • Profile
    최석기 2002.07.16 23:31
    소스로 올립니다.. 참고하세요

    unit Unit1;

    interface

    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, ComCtrls;

    type
      TForm1 = class(TForm)
        Button1: TButton;
        Memo1: TMemo;
        DateTimePicker1: TDateTimePicker;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.DFM}

    // 월의 마지막일자
    function dateEndOfMonth(D: TDateTime): TDateTime;
    var
      Year, Month, Day: Word;
    begin
      DecodeDate(D, Year, Month, Day);
      if Month = 12 then
      begin
        Inc(Year);
        Month := 1;
      end
      else
        Inc(Month);

      {월의 다음월의 시작일에서 1을 뺀다}
      Result := EncodeDate(Year, Month, 1) - 1;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i: integer;
      tmpDate: TDate;
    begin
      Memo1.Lines.Clear;

      for i := 1 to StrToInt(FormatDateTime('dd',dateEndOfMonth(DateTimePicker1.DateTime))) do
      begin
        tmpDate := StrToDate(FormatDateTime('YYYY-MM',DateTimePicker1.DateTime) + '-' + FormatFloat('00',i));
        //일요일 or 토요일인 경우 제외
        if DayOfWeek(tmpDate) in [1,7] then
          continue;
        Memo1.Lines.Add(FormatDateTime('YYYY-MM-DD',tmpDate));
      end;
    end;

    end.

  • Profile
    이추형 2002.07.16 23:26
    procedure TForm1.Button1Click(Sender: TObject);
    var
      ADate: TDateTime;
      days: array[1..7] of string;

    begin
      days[1] := '일요일';
      days[2] := '월요일';
      days[3] := '화요일';
      days[4] := '수요일';
      days[5] := '목요일';
      days[6] := '금요일';
      days[7] := '토요일';

      if ((days[DayOfWeek(Date)] <> '토요일') AND (days[DayOfWeek(Date)] <> '일요일') ) Then
      Memo1.Lines.Add(DateToStr(Date) +' ' +days[DayOfWeek(Date)] );

    end;

    end.

    오라클 데이타베이스를 사용하신다면 lastday라는 함수가 있어
    해당월의 마지막일자를 구해주니까 loop을 돌리면 되는데
    델파이 자체의 마지막일자 구하기 함수 찾기가 쉽지 않네요.

    • 박국성
    • 2002.07.16 23:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2002.07.16 23:23
      델파이 코리아에 가보시면 뉴스레더에서 아마 찾아보실 수 있으실 겁니다. 오래전에 "민성기"님이 ...
    • 박영진
    • 2002.07.16 22:57
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 진성열
      2002.07.16 23:04
      이전 파일에 엎퍼치면 됩니다.
    • 최용일
      2002.07.16 23:04
      안녕하세요. 최용일입니다. 델파이 메뉴에 보시면 Help/Customize...란게 있을겁니다. 그거 클릭해서 실...
    • 김진건
    • 2002.07.16 22:56
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 열심히
      2002.07.17 03:00
      아 일단 위의 그림을 보니 초딩떄 처음 접했던 가우스 함수가 생각나네요.. 여러분 1 부터 10까지...
    • 구창민
      2002.07.16 23:25
      될때까지 끝까지 해 보시구요, 어떻게 어떻게 코드를 작성해 보았는데 제 생각은 이래서 이렇게 코...
    • 강동순
      2002.07.16 23:59
      KDDG_MIN님의 말이 맞습니다. 다음에는 KDDG_MIN님 말씀대로 하시고 제가 답변을 한것은 아니지만&nb...
    • 김광율
    • 2002.07.16 22:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2002.07.16 22:57
      FindWindow를 통해 해당 핸들을 구한후 FindWindowex 함수를 이용해서 원하는 콘트롤들의 핸들을 구하실 수...
    • 이정택
    • 2002.07.16 21:53
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.07.16 22:59
      안녕하세요. 최용일입니다. 윈도우에 보시면 시작프로그램있잖아요... 거기에다가 등록시키시면 컴퓨터 ...
    • 이추형
      2002.07.16 22:59
      Demon이나 CRON등을 이용하여 자동으로 실행하게 할수 있습니다. (서버가 유닉스의 경우에 말이죠.. NT라...
    • 홍동훈
    • 2002.07.16 21:51
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 박준영
    • 2002.07.16 21:19
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2002.07.16 23:31
      소스로 올립니다.. 참고하세요 unit Unit1; interface uses   Windows, Messages, Sys...
    • 이추형
      2002.07.16 23:26
      procedure TForm1.Button1Click(Sender: TObject); var   ADate: TDateTime;   day...
    • 햇살
      2002.07.16 23:37
      이유가 뭘까요?.. 제가 짠 프로그램을 실행시키던 중 누군가가 이름입력창에는 한글이 먼저 입력될 수...
    • 최석기
      2002.07.17 01:38
      한글로 쓰시기 원하는 Edit에서 Ime mode를 imSHanguel로 설정하시고 사용하시면 원하는 효과를 얻으실 수 ...
    • 이기정
      2002.07.17 00:16
      IME Mode를 imHangul로 변경하면 입력되는 문자가 모두 2바이트로 인식이 되는것 같슴다. 한글을 표현하는...
    • KDDG_ZZOM
      2002.07.16 21:14
      혹시 ImeMode의 프로퍼티가 어케 되었나요? 여기때문에 그러는건 아닐가요? 잘모르겠네요... 즐프하세요...
    • 머슴
      2002.07.16 21:14
        editbox의 속성중 imeMode가 imAlpha로 되어 있지 않은지   확인해보시고요.. ...
    • 주관석
    • 2002.07.16 19:29
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 진성열
      2002.07.16 23:03
      ctrl + j
    • 최석기
      2002.07.16 19:43
      도움말에 찾아보면 단축키 리스트가 있네요. Ctrl+Shift+P       &...
    • 1학년
    • 2002.07.16 19:20
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이명호
      2002.07.16 22:18
      delphi 툴중에 있는 DATAPUMP 를 이용해 보세요 파라독스든 인터베이스등 아님 엑셀화일이등등.. BDE...
    • KDDG_ZZOM
      2002.07.16 19:29
      www.delphikorea.com가시면 초보강좌에 조복기님이 올리신 강좌가 있어요... 보시고 참고하시면 될것같네...
    • 이상협
    • 2002.07.16 18:48
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이현철
      2002.07.19 02:52
      먼저, 어떤 명령을 한꺼번에 처리하시려는지 구체적으로 적어주세요.. 단순히 키보드 이벤트를 발생시키면...
    • 박준열
      2002.07.17 10:25
      1. Windows에서 Apple을 실행시키려고 하는지 ?    또한 Apple을 Run후에 Return값을 받을 것인...
    • 최석기
      2002.07.16 19:53
      간단한 질문 같지만 상당히 어려운 부분이 있는거 같네요. 먼저 명령을 어떤 식으로 표현할껀지부터 정...
    • oss
    • 2002.07.16 14:11
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김호규
    • 2002.07.16 08:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.07.16 18:34
      혹, 오라클을 쓰신다면 MONTHS_BETWEEN 이란걸 써보시면 어떨지.. select MONTHS_BETWEEN(to_date('2002...
    • oss
    • 2002.07.16 08:07
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 유영권
    • 2002.07.16 08:06
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 열심히
      2002.07.17 03:22
      흠....이상하네요... 님 오라클 까실때 어떻게 까셨는지 오라클 서버의 성능은 파라미터를 어떻게 하느...
    • 조승식
      2002.07.24 06:13
      먼저 답변 감사합니다. 오라클은 어떻게 설치하는것이 가장 좋은지...한번더 조언을 부탁합니다. ...