굳이 날짜 데이터를 바꿔가며 하지 않아도 됩니다.
년도만 숫자로 가져와서 계산하는 것이 ...
int Term = 10;
unsigned short CurYear, CurMonth, CurDay;
Now().DecodeDate(&CurYear, &CurMonth, &CurDay);
Year->Items->Clear();
for(int i=CurYear-Term; i<CurYear+Term; i++) {
Year->Items->Add(String().sprintf(L"%04d", i));
}
Year->ItemIndex = Term;
gksqjs94 님이 쓰신 글 :
: for(int i = 10; i> -11; i--)
: {
: TDateTime day = Now();
: day = IncYear(day,-i);
: Year->Items->Add(day.FormatString("yyyy"));
: }
: Year->ItemIndex=10;
:
:
: ... 이렇게 하니까 됐네요
:
:
:
: gksqjs94 님이 쓰신 글 :
: : 안녕하세요
: : 제가 하고싶은건 지금 년도 에서 1~10 년 전이랑 1~10년후 까지 하나의 콤보박스에 넣고 현재 년도를 기본인덱스로 설정하고싶어요.
: :
: : int j = 0;
: : for(int i = 1; i< 22; i++)
: : {
: : TDateTime day = Now();
: : TDateTime day2 =Now();
: : if(i<11)
: : {
: : day = IncYear(day,-i);
: : Year->Items->Add(day.FormatString("yyyy"));
: : }
: : else
: : {
: : day2 = IncYear(day2,j);
: : Year->Items->Add(day2.FormatString("yyyy"));
: : j++;
: : }
: : }
: : 이렇게 짜니까 들어가긴하는데 코드도 더러워보이고 딱봐도 뭔가 어거지로 맞춘듯한 느낌이들어요 ..ㅠ
: : 어떻게 하면 깔끔히 짤수 있을까요 ?
: :
: : ps .그리고 저렇게 넣으면 2009년부터 2019년까지 아래에서 위로 올라가고 2020년부터 다시 2009년부터 아래로 써지더라구요
: : 위에 한줄은 제가 읽어도 이해가 잘되지않네요..
: :
|