秋·风

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
在银河麒麟和树莓派发现lazarus的DateEdit控件DateOrder选择doNone以外的选项时,在form设计界面显示乱码的Bug。

 将lazarus\lcl\editbtn.pas的1677、1678原来的/改为-,然后重新编译lazarus就可以。
procedure TDateEdit.SetDateMask;

Var
  S : String;
  D : TDateTime;
begin
  Case DateOrder of
    doNone :
       begin
       S:=''; // no mask
       FFixedDateFormat:='';
       end;
    doDMY,
    doMDY  :
      begin
      S:='99/99/9999;1;_';
      if DateOrder=doMDY then
        FFixedDateFormat:='mm/dd/yyyy'
      else
        FFixedDateFormat:='dd/mm/yyyy';
      end;
    doYMD  :
      begin
      S:='9999-99-99;1;_';
      FFixedDateFormat:='yyyy-mm-dd';
      end;
  end;
  D:=GetDate;
  EditMask:=S;
  SetDate(D);
end; 

修正后的:

 

posted on 2022-05-23 14:42  秋·风  阅读(140)  评论(0编辑  收藏  举报