Q&A

  • 만 나이 구하는 방법 좀....
도와 주세요
델 초보인데요.
현재 날짜에서 주민번호로 만 나이 구하는 소스 좀 알켜 주세요.
폼에 현재 날짜를 표현해주고 주민 번호도 표현 했거든요.
근데 이제 현재 날짜와 주민번호를 가지고 나이계산을 해서 보여줘야 하는데...
제가 델파이 책 본지가 일주일 밖에 안되서...
좀 도와 주세요.
제 생각엔 현재 날짜(2003)에서 주민번호를 80녕 생이면 주민번호가 80....나갈 건데 이걸 1980으로 인식해서 빼주면 될것 같은데... 아닌가...?
4  COMMENTS
  • Profile
    살며배우며 2003.02.14 22:32
    procedure TForm1.Button1Click(Sender: TObject);
    var
      tmpYear, nYear, nMonth, nDay : Word;
      cSex: String;
    begin
      decodeDate(DateTimePicker1.Date, nYear, nMonth, nDay);

      tmpYear := strToInt(Copy(edit1.Text,1,2));

      cSex := Copy(edit1.Text,7,1);

      if (cSex = '1') or (cSex = '2') then
        tmpYear := 1900 + tmpYear
      else
        tmpYear := 2000 + tmpYear;

      tmpYear := nYear - tmpYear;  

      ShowMessage(Format('%-.2d세',[tmpYear]));

    end;


  • Profile
    이재훈 2003.02.14 22:21
    저도 초보인데 검색해보니 '홍성락'님께서 올리신 소스가 적당한것 같아 올려드립니다.
    멋대로 답변글 소스 다시 올려서 죄송합니다...(홍성락님께 특히 죄송 ^^;;)
    var
        D1,D2 : string;
        M1, M2, M : integer;
    begin
        D1 := '2000-08-28';
        D2 := '2002-10-28';

        M1 := (StrToint(copy(D2,1,4)) - StrToint(copy(D1,1,4)))*12; //연도
        M2 := StrToint(copy(D2,6,2)) - StrToint(copy(D1,6,2));        //월

        M := M1 + M2;
        Label1.Caption := '개월:' + intToStr(M);
    end;
    //------------------------------------------------
    일수는
    var
        D1,D2 : TDateTime;
        DifD : Double;
    begin
        D1 := StrToDate('2000-08-28');
        D2 := StrToDate('2002-10-28');
        DifD := D2-D1;
        Label1.Caption := '날짜:' + intToStr(Trunc(DifD));
    end;



  • Profile
    김동민 2003.02.15 02:23

    답변해 주셔서 감사합나다.
    해결했습니다.
    초보라서 막막했는데 도움을 주셔서 해결하니 마음이 뿌듯합니다.^^
    좋은 하루되세요.
  • Profile
    김동민 2003.02.15 02:21
    답변해 주셔서 감사합나다.
    해결했습니다.
    초보라서 막막했는데 도움을 주셔서 해결하니 마음이 뿌듯합니다.^^
    좋은 하루되세요.