lazarus汉字输入临时解决方案
现在lazarus(类似delphi的pascal ide)不支持汉字输入,特别是Source Editor窗口,根本打不开输入法。
现在有一个临时解决方案:
1,用lazarus打开“SourceEditor.pp”(在/usr/share/lazarus/ide下,也可能因为安装版本不同有所差异)。
2, 在界面下方放下一个memo,顶端放下两个button(自己取名和加caption),适当安排界面(比如把memo1.align设置成 albottom等,和调整按钮位置,还可以放下一个splitter,align也设置成albottom等,用于调整memo的高度)
3,分别双击两个button,分别输入以下语句:
代码: 全选
SourceNotebook.Memo1.Lines.Clear;
SourceNotebook.Memo1.Lines.Assign(SourceNotebook.GetActiveEditor.Lines);
代码: 全选
if application.MessageBox('将要覆盖源代码!按“确定”继续。','请确定',mb_okcancel)=idok then
begin
SourceNotebook.GetActiveEditor.Lines.Clear;
SourceNotebook.GetActiveEditor.Lines.Assign(SourceNotebook.Memo1.Lines);
end;
还可以再加上一个字体选择对话框,和第三个按钮,加上以下语句:
代码: 全选
if SourceNotebook.FD.Execute then
SourceNotebook.Memo1.Font.Assign(SourceNotebook.FD.Font);
4,重新编译lazarus。
这样,SourceEditor窗口多出来两个按钮和一个memo,这个memo里面可以输入汉字。
开发时先不输入汉字,只写指令部分,需要输入汉字的地方先空着。写完指令部分,点击第一个按钮把程序代码从上面全部拷贝到下面,然后补充进汉字部分,再点击第二个按钮,把指令从下面拷贝回上面去,即可。
有个缺陷:因为lazarus整体还不支持输入法,我用的fictx输入法,直接ctrl-空格切换输入状态的话,按下一个字母,输入法里面跳出几个字母来这个问题比较严重,如果用鼠标点输入法切换到汉字输入状态则基本正常。
(今天编程误按了第二个按钮,结果把上面的代码覆盖乱了,所以我改进了一下,加了一个提示。)