lazarus填坑小记


使用以下方法可以解决lazarus在linux日期格式引起unidac 日期字段保存出错:

  fs:TFormatSettings;
begin
  fs.DateSeparator:='-';
  fs.TimeSeparator:=':';
  fs.ShortDateFormat:='yyyy-mm-dd';
  fs.LongDateFormat:='yyyy-mm-dd';
  fs.LongTimeFormat:='hh:NN:ss';
  fs.ShortTimeFormat:='hh:NN:ss';
  DefaultFormatSettings:=fs;
end;

但在windows下却发现原来使用正常的的float字段只显示整数(Linux下正常)

 按上面的方法设置日期格式后float字段变为整数:

后发现日期格式按以下方面设置后日期和float在windows和Linux都正常:

  DefaultFormatSettings.ShortTimeFormat:='yyyy-mm-dd';
  DefaultFormatSettings.ShortTimeFormat:='hh:NN:ss';
  DefaultFormatSettings.LongDateFormat:='yyyy-mm-dd';
  DefaultFormatSettings.LongTimeFormat:='hh:NN:ss';
  DefaultFormatSettings.DateSeparator:='-';
  DefaultFormatSettings.TimeSeparator:=':';