Q&A

  • 달력을 주별단위로 나누어서 화면에 출력하는.............
안녕하세요.
제가 요즘 가계부 프로그램을 짜려고 하는데요
매인화면이 맨위상단에 일~~토일까지 날짜와 함께 각각 자리를 만든다음..
요일중 하나를 선택하면 그다음폼으로 넘어가는 프로그램을 작성하려고 하는데요
요일작성하는 프로그램을 잘 모르겠네요...
아시는분...첨부파일과 함께 제 멜로 보내주시면...감사감사..
1  COMMENTS
  • Profile
    델파이탐크루즈 2002.01.23 03:32
    이건 제가 4년전에 근태프로그램 짤때 해놨던건데여...
    달력을 만들고 뿌려줍니다...
    워낙 소스가 지저분해서...
    욕은하지마세여...제가 초짜일때 만든거라...
    그래도 보시면 이해가 되실듯 하네여...
    그럼...즐코...

    일단 보시고 모르스면 제가 소스화일을 올려드릴께요...
    리플달아 놓으세요...

    procedure calendar_change;
    var
       nal,i,j,kim,eod,m,n : integer;
       k             : string[4];
       yy,buf,k1     : string;
       yo            : tdatetime;
       Compo         : TComponent;
    begin
         for i := 4 to 45 do
         begin
              Compo := calenform.FindComponent('Panel'+intTostr(i));
              TPanel(Compo).caption := '';
         end;

         m := strToint(calenform.Edit16.text);
         n := strToint(calenform.Edit17.text);

         if (m mod 4 = 0)   then nal := 29 else nal := 28;
         if (m mod 100 = 0) then nal := 28;
         if (m mod 400 = 0) then nal := 29;
         case n of
              1,3,5,7,8,10,12:eod := 31;
              4,6,9,11       :eod := 30;
              2              :eod := nal;
         end;

         yo := encodedate(m,n,1); //yo => 97-05-01

         case dayOfweek(yo) of
             1 : j := 4;
             2 : j := 5;
             3 : j := 6;
             4 : j := 7;
             5 : j := 8;
             6 : j := 9;
             7 : j := 10;
        end;

        kim := 0;
        for i := j to 45 do
        begin
             kim := kim + 1;
             Compo := calenform.FindComponent('Panel'+intTostr(i));
             TPanel(Compo).caption := intTostr(kim);

             if kim = eod then
                break;
        end;


    end;

    procedure Tcalenform.BitBtn1Click(Sender: TObject);
    var
      nal,i,eod,m,n : integer;
      k             : string[4];
      yy,buf,k1     : string;
      yo            : tdatetime;
    // nalja,cal_nalja: string[8];
    label jump;
    begin
         m := strToint(Edit16.text);
         n := strToint(Edit17.text);

         if (m mod 4 = 0)   then nal := 29 else nal := 28;
         if (m mod 100 = 0) then nal := 28;
         if (m mod 400 = 0) then nal := 29;
         case n of
              1,3,5,7,8,10,12:eod := 31;
              4,6,9,11       :eod := 30;
              2              :eod := nal;
         end;
         DM.calentbl.open;
         k     := Edit16.text; // 1997
         k1    := Edit17.text;

         yy := k;

         if length(k1) = 1 then
              buf := '0'+ k1
         else if length(k1) = 2 then
              buf := k1;



      if DM.calentbl.findkey([yy,buf,'01']) then
      begin
          showmessage(''+k+'년 '+k1+'월은 이미 등록이 되어있습니다.');
          goto jump;
      end;

      for i := 1 to eod do
      begin
            DM.calentbl.insert;
            DM.calentblcr_yy.value   := yy;
            DM.calentblcr_mm.value   := buf;
            if i < 10 then DM.calentblcr_dd.value := '0' + intTostr(i)
            else         DM.calentblcr_dd.value   := intTostr(i);
            DM.calentblcr_date.value := DM.calentblcr_yy.value + DM.calentblcr_mm.value + DM.calentblcr_dd.value;
            DM.calentblcr_ym.value   := DM.calentblcr_yy.value + DM.calentblcr_mm.value;

            yo := encodedate(strToint(yy),strToint(buf),i); //yo => 97-05-01

            case dayOfweek(yo) of
                 2 : DM.calentblcr_yo.value := '월';
                 3 : DM.calentblcr_yo.value := '화';
                 4 : DM.calentblcr_yo.value := '수';
                 5 : DM.calentblcr_yo.value := '목';
                 6 : DM.calentblcr_yo.value := '금';
                 7 : DM.calentblcr_yo.value := '토';
                 1 : DM.calentblcr_yo.value := '일';
            end;

          //  table2cr_gu.value := '1';
            case dayofweek(yo) of
                 1 : DM.calentblcr_gu.value := '1';
                 7 : DM.calentblcr_gu.value := '2';
            else
                     DM.calentblcr_gu.value := '1';
            end;
    end;

    • 최은규
    • 2002.01.23 18:13
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 송기현
      2002.01.23 14:50
      이런...어처구니..ㅋㅋㅋ 알고 보니 가까운 곳에 답이 있었군요....   // 이동할곳  &...
    • 김상조
    • 2002.01.23 09:17
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 강두헌
      2002.01.23 18:07
      TRegistry를 보시면 될거 같은데.. 한마디만 쓰자니 좀 그래서 Delphi 도움말의 예제도 올리지요.. //R...
    • 김상조
      2002.01.26 22:48
      님, 감사합니다. 자세하게 가르쳐 주셔서... 유용하게 사용하였습니다. 건강하세요.
    • 김인수
    • 2002.01.23 09:12
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 최호준
      2002.01.23 09:38
    • 김인수
      2002.01.23 10:13
    • 하얀까마귀
      2002.01.23 19:00
    • 김인수
      2002.01.23 20:39
    • 배건환
      2002.01.24 02:36
    • 김인수
      2002.01.24 03:47
    • 아무개
    • 2002.01.23 07:38
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 박상윤
      2002.01.23 23:38
      일단 장치의 능력 caps를 읽어다가 쓰셔야 합니다. 워하는 크기등등을 비디오 디바이스가 지원하는지 ...
    • 최호준
      2002.01.23 09:27
      TVideoCap 코드 안에 fhCapWnd 부분을 public 프로퍼티로 설정하시구염 vfw.pas 파일에 functi...
    • 아무개
      2002.01.23 19:12
      답변 정말 감사 드립니다. 꾸벅~~ capSetVideoFormat 을 사용하는 샘플을 좀 알려주세요.. 제 실력으...
    • 김규억
      2002.01.23 17:49
      지송합니다... ^^;
    • 하얀까마귀
      2002.01.23 19:48
      안녕ㅎ세요 하얀까마귀 입니다. TVideoCap 은 소스가 있을텐데요. 그냥 컴파일 하면 안되나요?? 전 ...
    • 아무개
      2002.01.23 21:23
      내용 무
    • 바람
    • 2002.01.23 07:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김강수
      2002.01.23 08:43
      ACCESS에서는 DISTINCT 문장이 안 될 겁니다. 그럴땐 FROM 밑줄에 GROUP BY 필드 <<<이케 대체해...
    • 김형우
    • 2002.01.23 04:34
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최호준
      2002.01.23 09:32
      저랑 같은 경우였다면 해결이 되겟네요. 제가 만들어 노은 프로그램에 그런현상이 나타나따고 호소하...
    • 이상협
    • 2002.01.23 03:34
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 버섯
      2002.01.23 03:40
      그야.. array 를 써서 하면됩니다. val : array[1..32] of Integer; val[1] := 1; val[2] := 2;...
    • 이상협
      2002.01.23 03:53
      또한번 엿주어 보겠습니다. Procedure TForm1.Button1Click(Sender: Tobject); 여기에서 Sender와 Tobj...
    • 조규춘
      2002.01.23 19:51
      델파이 6에서는 procedure TForm1.ComboBox1Enter(Sender: TObject); begin   ComboBo...
    • ccang111
      2002.01.23 19:47
      포커스가 콤보박스에 도달하는순간 combobox.DroppedDown := True; 요거 써주면 안돼나여? 질문하신...
    • 김성태
      2002.01.31 22:48
      김성태입니다. 아래의 문구중 Database Password=xxx잖아요. Password=xxx로 바꿔보세요.. 근데 ...
    • 선해석
    • 2002.01.23 02:24
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 델파이탐크루즈
      2002.01.23 03:21
      보통 Port 번호는 21 번으로 Defult로 셋팅이 되어있을것입니다. 보통 NT 서버에서 FTP서비스를 보시면 ...
    • 선해석
      2002.01.23 03:43
      먼저 답변에 감사를 드립니다. 제가 더 분석해 본결과, 서버에서 서비스하고 있는 ftp port넘버는 801...
    • 이장희
    • 2002.01.23 02:24
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 델파이탐크루즈
      2002.01.23 03:32
      이건 제가 4년전에 근태프로그램 짤때 해놨던건데여... 달력을 만들고 뿌려줍니다... 워낙 소스가 지저분...
    • 황대진
    • 2002.01.23 01:55
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 조미경
      2002.01.23 09:23
      if .........  then 아래에 처리해야할줄이 한줄이면 if .........  then 도 가능...
    • 별볼일없는
      2002.01.23 02:17
      vb를 하셨다구요... vb에서는 if  then end if delphi 에서는 if then  &nb...
    • 천상천하
      2002.01.23 02:07
      :=     <- 대입 연산자 입니다. 만일 a := 5  라고 하면 변수 a ...
    • 버섯
      2002.01.23 02:04
      헉... := 대입연산 = 비교연산 if ... then ...; 한문장 if ... then 블럭 begin   ...
    • 버섯
      2002.01.23 02:07
      그거하고.. 그거하고는 별갭니다... 데스크탑의 환경설정에 따라서 dpr을 오픈했을때. 자동으로 화...
    • 양용성
      2002.01.23 04:20
      델파이가 만들어주는 xtr 파일에 상단에 <?xml version="1.0" encoding="EUC-KR"?...
    • 서철기
      2002.01.23 19:09
      답변 감사합니다. 제가 이것 저것 해 보니까. 저의 경우는 원인이 그거는 아니더군요.. 하지만 양...
    • 이경문
    • 2002.01.23 01:19
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 박상윤
      2002.01.23 03:10
      혹시 이문제가 아닌지..^^ For primary sound buffers, you must use the IDirectSoundBuffer interface...
    • 이경문
      2002.01.25 12:23
      답변 감사합니다. 늦게 확인을 했네요 ^^. 델파이 프로그램이 아니구 VC에서 컴파일할 때 나던 에러였는데...
    • 박상윤
      2002.01.25 19:05
      ^^ VC경우 똑같은 이름의 lib존재하지여... 우선순위만 잘잡아주면 되던데... 암튼 다행이네여...
    • 버섯
    • 2002.01.23 00:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이상협
      2002.01.23 18:22
      꼭 그렇게 메모리 어드래스를 읽어야 하나요 그렇지 않다면 i/o card 를 구입한 곳에서 드라이버 지원해주...