초보자 님이 쓰신 글 :
: 영문 윈도우에 프로그램을 실행합니다.
: 영문 윈도우 Date 날짜 형식이 : MM/dd/yyyy 로 되어 있습니다.
:
:
: 1. 저희 프로그램에서 생년월일을 문자로 2010-03-25 문자열로 ini 파일에 저장됩니다.
: [DATA]
: Birth=2010-03-25
: ini 파일에서 값을 얻어 와서
: AnsiString strBirth ="2010-03-25";
:
: TDateTime dt;
: dt=StrToDateTime(strBirth) ; <- 한국 OS 에서는 yyyy-mm-dd 형식으로 되어 있기 때문에 정상 실행되는데
:
: 영문 OS에서 실행하면 "2010-03-25 is not a valid date." 에러 메시지가 창이 나타납니다.
:
: 2. Birth=03-25-2010 진행해도 같은 결과를 얻습니다.
: "03-25-2010 is not a valid date."
:
: 영문 OS 국가및 언어 옵션 : 사용자 지정 > 날짜 부분의 > 날짜 형식을 yyyy-mm-dd수정하면 정상적으로 작동 되는데
: 이부분을 국가및 언어 옵션을 수정하지 않고 프로그램에서 에러표시 되지 않게하려면 어떻게 해야하나요.
자답
장성호님 자료를 보고 알았습니다.
프로그램을 부를때 아래처럼 하면되네요...
void __fastcall TForm_Main::FormCreate(TObject *Sender)
{
ShortDateFormat="YYYY-MM-DD";
LongDateFormat="YYYY-MM-DD";
ShortTimeFormat="hh:mm:ss";
LongTimeFormat="hh:mm:ss";
DateSeparator='-';
}
|