在控制面板中“语言和区域选项”修改后程序就会出现问题,如:汉字变成???,数字、货币等也发生改变(123.30变成123,30)请问大家编程中是怎么解决这样的问题?

解决方案 »

  1.   

    看看sysUtils单元里
    var
      CurrencyString: string;
      CurrencyFormat: Byte;
      NegCurrFormat: Byte;
      ThousandSeparator: Char;
      DecimalSeparator: Char;
      CurrencyDecimals: Byte;
      DateSeparator: Char;
      ShortDateFormat: string;
      LongDateFormat: string;
      TimeSeparator: Char;
    。。
    看看它们的帮助,在你程序主窗体的CREATE事件中就可以设置它们,Currency的就是跟货币有关的
    NegCurrFormat: Byte;
      ThousandSeparator: Char;
      DecimalSeparator: Char;
    这几个应该跟数字显示有关,举个设置的例子:
    procedure Tfrm_Main.FormCreate(Sender: TObject);
    begin
     //设置时间格式
     DateSeparator:='-';
     TimeSeparator:=':';
     ShortDateFormat:='yyyy-MM-dd';
     ShortTimeFormat:='HH:nn:ss';
      

  2.   

    在Project Options->Version Info->Language可以设定软件使用的语言版本。