摘要:lazarus编译的程序在树莓派运行前先出一个空白窗口,要关闭这个窗口后才能显示正常的窗体(使用wayland窗口类型的linux也可能存在同样情况)。Gtk2: better recognition of wayland session, do not create dummy frame. (5
阅读全文
随笔分类 - Lazarus
摘要:fastreport(FastReport VCL 2023_1_3)在linux导出pdf中文乱码(lazarus) 2024-11-24:修正在深度Linux导出pdf时显示“Cant swap font”导致导出失败的问题。原因:1.导出时没找到对应字体的linux字体目录2.设置的字体名称不
阅读全文
摘要:在Lazarus中要实现TEdit组件的文本垂直居中,可以通过自定义TEdit组件并重写其CreateParams方法来设置编辑框的样式为多行,然后通过SetCenter方法来调整文本的垂直位置。在需要的unit添加EditCenter单元。注意:EditCenter单元一定要放StdCtrls后面
阅读全文
摘要:RxDBGrid实现高亮显示指定字符,效果如下: 方法:用OnDrawColumnCell自绘: 直接上代码(在“心有阳光”的代码基础完善而来的): procedure FindAllOccurrences(Text, SearchStr: string; var Positions: TStrin
阅读全文
摘要:lazarus richmemo在linux打开GBK内码的rtf不能显示中文,但在linux编辑保存的rtf可以显示中文: 在Windows richmemo显示的rtf: 打开windows保存的rtf文件,中文使用GBK内码: 【中国人】 对应的GBK内码: \'d6\'d0\'b9\'fa\
阅读全文
摘要:lazarus的menu控件在银河麒麟显示(GTK2)灰黑色背景,荆通大神通过修改gtk2源码(gtk2proc.inc和gtk2wsmenus.pp)可以修改背景但效果还是不理想。近日在GitHub找到一个LazarusMenu,经试用发现问题很多,其中还使用了bgracontrols控件。 我修
阅读全文
摘要:网友“海”在使用fpspreadsheet时遇到读取复杂的xlsx文件会出错: 经跟踪发现运行到fpspreadsheet\source\common\xlsxooxml.pas的procedure TsSpreadOOXMLReader.ReadFromStream的ReadDefinedName
阅读全文
摘要:lazarus最大的缺点我认为是Debug功能,如需要查看View:Width的值,lazarus是无法直接看到的,经试用debugserver+SendDebug可以显示。使用方法:1、首先编译debugserver,打开编译lazarus\tools\debugserver\debugserve
阅读全文
摘要:按《lazreport的pdf导出插件lrPDFExport的DoMemoView(View: TfrMemoView)功能缺失》修复后英文显示正常,但中文显示为框框的问题。前几天经网友“安全生产监管”提醒我,使用freepascal自带的fpPDF创建的pdf可以正常显示中文,字体名称不能用中文。
阅读全文
摘要:lazreport的pdf导出插件lrPDFExport缺失MemoView功能,导出的报表如有TfrMemoView,生成的pdf会直接丢弃TfrMemoView的文字,原TfrMemoView的位置出现空白。 导出的pdf: 修复步骤: 打开Lazreport\source\addons\lrF
阅读全文
摘要:Lazarus 4.0RC1/fpc3.3.1安装ehlib 10时出现以下出错: EhLibReg.pas(761,27) Error: Incompatible type for arg no. 1: Got "Constant String", expected "LongInt" 原因:la
阅读全文
摘要:之前写过一个类似的,不过没严格按照UTF8编码规则判断。参考网上C代码,重新写一个符合UTF8编码规则的IsStringUTF8函数。调用方法: procedure TForm1.Button1Click(Sender: TObject); begin if IsStringUTF8(edit1.T
阅读全文
摘要:出现的问题: tdbf不支持utf8,中文字段名称转utf8时可能出现文字错: 问题原因: tdbf在处理字段名称使用AnsiUpperCase将字段名称转为大写,使用AnsiUpperCase需要配置,但不知道是怎样配置才可以将中文字段名转为utf8时不会有问题,我这个方法比较粗暴,直接将Ansi
阅读全文
摘要:注意:这个问题在lazarus4.99 / fixes-4(lazarus 4.0rc1) 分支中已修复。lazarus在windows使用GDB时中文字符不能正确显示,显示为#229#173#151之类的字符而不是中文。 处理方法: 打开lazarus/components/lazdebugger
阅读全文
摘要:之前已修复fpdebug中文变量的Bug,但GDB还存在问题(提示:Invalid character xxxx in expression) 修复步骤: 打开lazarus/components/lazdebuggergdbmi/gdbmidebugger.pp,按红色代码修改。 在TGDBMIE
阅读全文
摘要:如果在windows下project目录包含中文,编译出错时定位出错行会提示找不到文件的Bug。这个问题是支持中文变量后发现的Bug,只存在windows,在linux是没问题的。 解决方法:打开lazarus\ide\main.pp,找到function TMainIDE.DoJumpToComp
阅读全文
摘要:在lazarus使用中文变量等代码补全功能基础上,按以下方法就可以实现输入中文拼音首字母就可以快速代码补全功能。代码补全功能快捷键:Ctrl+w 修改步骤:打开\lazarus\ide\wordcompletion.pp文件,修改以下2个位置,添加红色代码后,重新编译lazarus就可以。1、在us
阅读全文
摘要:按《让fpc/lazarus支持中文变量/过程/函数/中文控件名称》增加中文变量支持后,lazarus使用中文变量等代码补全时,列表框没对应的中文变量的: 解决方法:要修改以下3个文件,打开相应文件,添加红字代码,修改后重新编译lazarus就可以。 1、\lazarus\ide\wordcompl
阅读全文
摘要:根据之前的方法增加中文控件名称后发现中文控件名称IDE代码提示”Error:identifier not found:“,不能显示控件的方法/属性。 解决方法:打开lazarus\components\codetools\customcodetool.pas添加红色代码部分(lazarus 3.4在
阅读全文