星期三, 10月 05, 2011

設定短日期時間格式及日曆格式

  var
    m_pcDateFormat: array[0..127] of Char;  // for locale setting
    m_pcCalendarFormat: array[0..127] of Char;
  begin
    FillChar(m_pcDateFormat, 127*SizeOf(Char), 0);
    FillChar(m_pcCalendarFormat, 127*SizeOf(Char), 0);
    //取得日期格式資訊,並存放置 m_pcDateFormat 中
    GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SSHORTDATE, m_pcDateFormat, 127) ;

    //取得日曆格式,並存放置 m_pcCalendarFormat 中
    GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_ICALENDARTYPE, m_pcCalendarFormat, 127) ;

    //設定日期格式為 yyyy/MM/dd
    SetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SSHORTDATE, 'yyyy/MM/dd');

    //設定日曆格式為1型式  (1="西曆 (中文)" 4="中華民國曆")
    SetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_ICALENDARTYPE, '1');

    //還原
    SetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SSHORTDATE, m_pcDateFormat);
    SetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_ICALENDARTYPE, m_pcCalendarFormat);
  end;