Q&A

  • 델파이5 에서 주차 구하는 함수??
2008년07월15일 은  2008년의 몇주차.. 이런 주차를 구하는 함수를 해볼려고 하는데요,

델파이7에서는 DateUtils 에서 지원하는 함수가 있는데 델파이5에서는 없는것 같네요.

그래서 여기저기 뒤져봤는데 마땅히 적용할만한 함수가 없습니다.

ㅡㅡ; 감이 안옵니다. 어케 만들어야 할지.

코딩으로 승부를 봐야 하는데 간단하게 현재 날짜를 불러와서 주차를 구하는

방법좀 부탁드립니다.
5  COMMENTS
  • Profile
    steps 2008.07.18 04:52

    procedure TForm1.btn1Click(Sender: TObject);
    var yr, mn, dy, i, days : word;
    function getDaysOfMonth(y, m : Word): Integer;
    begin
    case m of
    1,3,5,7,8,10,12 : Result := 31;
    4,6,9,11 : Result := 30;
    2 : begin
    if (y mod 4 = 0) then Result := 29;
    if (y mod 100 = 0) then Result := 28;
    if (y mod 400 = 0) then Result := 29;
    end;
    end;
    end;

    begin
    DecodeDate(Now, yr, mn, dy);
    days := 0;
    for i:= 1 to pred(mn) do
    inc(days, getDaysOfMonth(yr, mn));
    inc(days, dy);
    ShowMessage(IntToStr(days div 7));
    end;

    바라시는게 맞는지. 도움이 되셨으면 좋겠네요.
  • Profile
    따따부따 2008.07.18 20:24
    정말 감사합니다. ㅜㅜ
  • Profile
    따따부따 2008.07.21 20:04
    위 내용대로 프로그램을 만들고 델파이7 에서 기본적으로 지원하는 WeekOfTheYear(Now) 를 써서 프로그램을 만들어서 비교해보면

    위내용대로 만든 주차와 델파이 7에서 만든 주차가 서로 상이합니다.

    무슨 다른 이유가 있나요??
  • Profile
    steps 2008.07.21 22:20
    델파이에서 주는 값은 요일을 고려한 역서의 주차입니다.
    제가 올린 코드에서 DecodeDate를 DecodeDateFully로 바꾸고 코드를 수정해야 하는데 dateutils의 WeekOfTheYear와
    DecodeDateWeek를 코드에 복사하시는 편이 쉬울겁니다.
  • Profile
    Crazy™ 2008.07.25 00:22
    주차를 구하는 방식이 몇가지 있는데요.
    델파이 컴퍼넌트중 datetTimePicker ?든가. 달력보는 컴퍼넌트에서 보면 좌측에 주차가 나와있습니다.
    나라마다 매년 1월1일부터 1주차가 시작되는 곳이 있고, 1월1일이 요일의 기점에 따라 1주차가 될지, 전년 마지막주차가 될지 틀린 iso8091?방식이 있습니다.
    델파이 컴퍼넌트에선 iso8091방식을 사용하고 있기 때문에 일반적으로 일자만 계산해서 구하면 상이하게 나오는것이죠.
    • steps
      2008.07.18 04:52
      procedure TForm1.btn1Click(Sender: TObject); var yr, mn, dy, i, days : word; function getDaysO...
    • 따따부따
      2008.07.18 20:24
      정말 감사합니다. ㅜㅜ
    • 따따부따
      2008.07.21 20:04
      위 내용대로 프로그램을 만들고 델파이7 에서 기본적으로 지원하는 WeekOfTheYear(Now) 를 써서 프로그...
    • steps
      2008.07.21 22:20
      델파이에서 주는 값은 요일을 고려한 역서의 주차입니다. 제가 올린 코드에서 DecodeDate를 DecodeDateF...
    • Crazy™
      2008.07.25 00:22
      주차를 구하는 방식이 몇가지 있는데요. 델파이 컴퍼넌트중 datetTimePicker ?든가. 달력보는 컴퍼넌트...
    • 방석배
    • 2008.07.18 02:46
    • 0 COMMENTS
    • /
    • 0 LIKES
    • steps
      2008.07.18 02:57
      function MyDLL(p_Port: Integer; p_InStr:PChar; var p_OutStr:PChar):integer; cdecl; 로 해보시죠.
    • 강신구
      2008.07.18 03:05
      이미 stdcall -> cdecl 로 바꿔봤는데 안되던군요..
    • 최용일
      2008.07.18 08:00
      참조에 의한 호출이니까 아래와 같이 주소를 넘겨줘야 될 것 같은데요... int rc = MyDLL(input_port, ...
    • 최용일
      2008.07.18 08:04
      TCP통신을 하셔야 할것 같네요... 양쪽에 모두 TCP통신을 하는 프로그램이 있어야 하고, 한쪽은 서버역...
    • 김성욱
      2008.07.19 04:12
      자료실에 보시면 한델 2차 세미나 자료있습니다. 소스 보시면 금방 해결 할 수 있습니다. 참고하...
    • 미소나눔
      2008.08.01 23:55
      저희도 회사에서 공지사항을 전파하기위해 비슷한걸 만든적이 있는데.. 뭐 대충 참고하세용.. // ...
    • 전문성
    • 2008.07.16 19:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2008.07.17 10:25
      프로그램내에 자신의 어플리케이션 이름을 가지고 무엇인가 하는 부분이 있다면..확인해보세요.. 그런...
    • 임형호
      2008.07.16 02:52
      post 해보세요.
    • 석주현
      2008.07.16 06:46
      혹시 USB 드라이브나 외장하드 붙여서 작업하시다가 빼신게 아닌지 궁금하네요. 그럴경우 프로젝트가 ...
    • 가르쳐주삼
      2008.07.16 19:43
      계속 델파이 설치 CD 를 넣고 사용해야 되나요......?
    • 석주현
      2008.07.17 03:30
      아 그게 아니고요. 혹시 프로젝트 파일 중에 E 드라이브에서 읽어온 파일이 있나 없나 확인을 해보세...
    • 가르쳐주삼
      2008.07.18 20:50
      아~ 네~ 확인해보겠습니다.
    • 강정구
    • 2008.07.15 20:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2008.07.16 02:59
      일단 footer를 먼저 만드셔야돼요. RealGrid.Footers.Add; 이렇게하면 footer가 만들어지죠. 그후...
    • 장종운
    • 2008.07.15 19:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이윤도
      2008.07.16 18:30
      네~ 가능한걸로 알고있구요. http://fadelphikorea.com/index.html <-- 델파이 FA개발자들을 위한...
    • 석주현
      2008.07.12 16:10
      http://www.codegear.com/downloads/regusers/delphi 등록 유저면 여기서 다운 가능 합니다. Quick...
    • 황경수
    • 2008.07.12 01:09
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 장성호
      2008.07.12 01:21
      SysUtils.ShortDateFormat 을 바꾸지 말고 DateTimePicker의 Format을 바꿰세요 procedure TF...
    • 황경수
      2008.07.14 20:00
      장성호님 답변 감사 합니다. 그런데, 제가 질문을 잘못 한거 같네요. 지금 제가 만든 프로그램은 ...
    • 최용일
      2008.07.14 21:16
      간단하게 하세요... 디비에 넣을때 아마도 문자열로 넣으시는것 같은데... FormatDateTime을 써서 포맷...
    • 장성호
      2008.07.14 21:29
      프로그램내에서 무조건 항국어방식 '(YYYY-MM-DD)' 으로 처리하는게 목적이시라면? 님께서 질문하시기...
    • 황경수
      2008.07.17 19:07
      아... 제가 뭔가 실수 했었네요. 잘 돌아 가네요. 장성호님, 최용일님 정말 감사 드립니다. 그럼 좋은...
    • 김상진
    • 2008.07.11 21:52
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2008.07.11 22:53
      private 에 Mainfrm : TfrmMain; 이라고 메인 폼 변수를 선언하시고, procedure ShowTestDlg(App:TA...
    • 김상진
      2008.07.11 22:56
      마찬가지 결과가 나옵니당 ^^
    • 이정욱
      2008.07.11 23:05
      아.. 그렇군요. 이런형식은 한번도 해보질 못해봤었네요.. 혹시 소스 있으시면 올려주세요 ^^;
    • 김상진
      2008.07.11 23:10
      위에 소스 있는데요 ㅠㅠ
    • 장성호
      2008.07.12 00:42
      음... LoadLibrary로 같은 dll을 두번하나 열번 load하나 결과는 같은놈입니다. LoadLibrary후...
    • 김상진
      2008.07.12 01:44
      속이 시원하니 잘 됩니다.. 감사합니다...
    • 이우석
    • 2008.07.11 20:50
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2008.07.11 21:30
      델파이 개발 환경 내에서 나는 익셉션이라면 정상입니다. 인디에서는 파일이 존재 한다면 위의 익셉션...
    • 사다리
      2008.11.19 08:43
      FTP.Get(s, SaveFile.FileName, True, FTP.ResumeSupported); 요 구문에서요 세번째 파라미터 값이...
    • 석주현
      2008.07.11 18:42
      <!--CodeS--> procedure TMainForm.tmr1Timer(Sender: TObject); begin Label1.Caption := Ti...
    • 김용호
      2008.07.11 18:48
      답변 감사합니다. 그런데 그것도 역시 안되네요.. ㅎㅎ 혹시 다른 방법은 ..... 감사합니다.. ...
    • 석주현
      2008.07.11 18:49
      7.0 에서는 잘되는 데 이상하군요 ㅠ_ㅠ
    • 김용호
      2008.07.11 18:54
      감사합니다.. 아무래도 6.0에선 안되는 듯하니 버젼을 올려서 해봐야 겠어요.. 답변 정말로 감사합니...
    • 김용호
      2008.07.11 19:16
      2007로 해보니 그냥은 안되고 알려주신 코드를 추가하니 되긴하네요. 다시 그려서 그런가 화면이 약간 ...
    • 이정욱
      2008.07.11 21:27
      Label1.Caption := TimeToStr(Now); Label1.Update; 를 해보세요. 참.. 그리고, 폼 OnCreate 에...
    • 장성호
      2008.07.11 21:29
      Label은 Graphic 컨트롤입니다. 무슨 말이냐면 자신을 나타낼 핸들이 없기때문에 Parent의 DC에 자...
    • • • •