首页  编辑  

修改系统的日期格式

Tags: /超级猛料/Date.Time.时间和日期/   Date Created:
var
    str: string;

begin
    str := RadioGroup1.Items.Strings[RadioGroup1.ItemIndex];
    if SetLocaleInfoa(LOCALE_SYSTEM_DEFAULT, LOCALE_SSHORTDATE, PChar(str)) then
    begin
        showmessage('short OK!');
        then SendMessageA(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
    end;
end;
为了方便测试我用了radioGroup,items 内容如下
yy-d-m
d-yy-m
m-d-yy
yy-m-d
yyyy-m-d
yyyy-d-m
传进参数必须 null-terminate 字符串指针。我用 pchar ,而且字符串格式只能写成这样 'm-d'而不是'mm-dd'('yyyy'可以用),不然改不了另外delphi 函数 DateTostr,DateTimeTostr,都调用短格式。
长格式很灵活。随便改.RadioGroup Items 如下
yyy'年'dd'日'-mm
d-yyyy-mm
mm-dd-yyyy
yyyy-mm-dd
代码如下
var
    str: string;

begin
    str := RadioGroup2.Items.Strings[RadioGroup2.ItemIndex];
    if SetLocaleInfoa(LOCALE_SYSTEM_DEFAULT, LOCALE_SLONGDATE, PChar(str)) then
    begin
        showmessage('Loan OK!');
        SendMessageA(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
    end;
end;
// 你应该搜索一下,有着方面的讨论。