1 頁 (共 1 頁)

如何修改系統預設的日期格式(中曆及西曆)

發表於 : 2008年 11月 27日, 17:18
tim
西曆及中曆的設定 windows locale info
在繁體中文,依照個人電腦使用的不同,可以顯示民國或西元,當需要利用程式來控制時,就需要透過WIN API來設定,程式如下:

代碼: 選擇全部

     
    procedure Tform1.Button1Click(Sender: TObject); 
    var  
      DefaultLCID: LCID; 
      CS:string; 
    begin 
      DefaultLCID := GetThreadLocale; 
      //修改為西曆 
      SetLocaleInfo(DefaultLCID, LOCALE_ICALENDARTYPE, '1'); 
      cs:='intl'; 
      SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, Integer(CS)); 
    end; 
     
    procedure Tform1.Button2Click(Sender: TObject); 
    var  
      DefaultLCID: LCID; 
      CS:string; 
    begin 
      DefaultLCID := GetThreadLocale; 
      //修改為民國曆, 英文版系統無效!! (always 是西曆) 
      SetLocaleInfo(DefaultLCID, LOCALE_ICALENDARTYPE, '4'); 
      cs:='intl'; 
      SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, Integer(CS)); 
    end;