sudo apt install git make binutils build-essential subversion zip unzip libx11-dev libgtk2.0-dev libgdk-pixbuf2.0-dev libcairo2-dev libpango1.0-dev
为方便快速查看需要的博客,将原置顶博客分类列出如下:
一、秋风原创控件:
1、[原创控件]为lazarus TDataSet增加类似TClientDataSet的Delta功能,可直接生成增删改的SQL
lazarus/fpc自带的bufDataSet和MemDataSet缺少类似TClientDataSet的Delta功能,这个单元从TDataSet扩展了Delta,可以直接生成增删改的SQL,适用于所有TDataSet。
2024-10-25 高勇高老板增强了GetActionSQL功能:
function GetActionSQL(const ATableName : String; const AKeyFields: String = ''): String; overload; function GetActionSQL(const DataBaseType:string;aTablename: string; AKeyFields: string; aAutoIncFieldname: string = ''; aNotEditFields: string = ''; aReturnStrType: integer = 1): String; overload;
2024-08-17增加blob类型转base64,不过服务器需将base64转为blob保存。
2024-07-04 合并ccc(QQ1650680975)增加的delphi 12.0版(unidac)2024-06-09 修正可能QFDataSetMonitor1.Active:=true放在表打开前设置时数据监控可能会失效的Bug;
2024-06-07 将TDataSetChangesMonitor封装为控件,安装DatasetMonitorPack.lpk就可以
2、[原创控件]QFComponent for lazarus(2024.09.29更新)
QFComponent for lazarus 包含 4个控件:
1、TQFRichView:采用自定义的富文本格式,类RichView控件,支持超链接、书签跳转等丰富的功能,适合作为使用说明等用途;
2、TQFScrollingText:采用自定义的富文本格式,可实现图文的滚动;
3、TQFHorizontalScrollingText:单行横向滚动控件,同样支持自定义富文本格式。
4、TQFGridPanelComponent:秋风原创控件。支持在单元格绑定可视控件,运行时单元格绑定的控件会吸附到相应的单元格里。重点解决了lazarus跨平台时界面布局问题(用lazarus编写过跨平台应用的就清楚,同一代码linux和windows控件位置是不一致的)。
2024.06.25 重构TQFGridPanelComponent单元格显示及单元格宽度调整的算法。
3、lazarus linux/windows简单实用的三层控件QFRemoteDataSet
这个三层控件功能相对简单,只适合lazarus使用,但非常实用,编写的应用软件能在windows和国产信创操作系统(linux)及CPU运行。
二、秋风改的控件
1、LazarusToastMessage
实现类似安卓的Toast消息提示。
2024-05-20:
修复指定字体的Bug
2024-05-15:
显示方向增加左右上下居中
2024-05-14:
1)将System.NetEncoding改用Base64
2)增加从form底向上移动
2、增强Lazreport控件功能及修正Bug
lazarus 在linux arm下可用的报表控件不多,著名的fastreport在linux arm的兼容性有问题,经测试,发现lazreport的平台兼容性最好,但存在的问题也较多,通过对lazreport控件修改,现在基本满足我的要求。
1、Master data增加每页行数:当数据集记录数少于指定每页行数时添加相应的空白行,并可以指定TfrMemoView设置添加空白行时,添加的第一行空白行显示指定文字,如:以下空白
2、修正lrOfficeImport导入xls等格式时出错的Bug。
3、增加自动调整TfrMemoView字体大小功能。
4、报表设计时增加拆分、合并单元格,水平、垂直匀分单元格,与word方法一样调整单元格大小。
5、修正中文换行乱码。
6、增加文本强制换行、上下标等。
7、在windows和Linux能正确导出含中文的pdf(2022-04-03解决中文乱码)。
8、增加QRCode。
9、修复网友往事如风发现的Bug(2022.04.21修复)。
10、修复在linux下未安装打印机打印出错的Bug(2022.05.20)
2024.08.17 修正linux打印时的文字字距的Bug
2022.05.20 更新
三、Lazarus绿色版本
0、lazarus 4.0 RC2/fpc 3.3.1绿色版整合安装包(2025-01-19新增)
1、lazarus更新到3.6/fpc 3.2.2 for win64绿色版整合安装包(2025-01-09更新)
lazarus更新到3.6/fpc 3.3.1 for win64绿色版整合安装包(2025-01-09更新)
2024-12-04:
fpc 3.3.1用{$define SKIP_INTERNAL20231102}模式,重新编译打包,解决有些控件编译时出现Internal 20231102错误后无法安装的问题。
2024-11-21:
1.更新交叉编译linux-x86-64,解决在兆芯KX-U6780A(UOS)不能运行的Bug(提示:段出错)
2.修正树莓派系统先出现一个空白窗口,关闭这窗口后才能显示实际的应用窗口的Bug(使用wayland窗口类型的linux也可能出现同样问题)
2024-08-19 今天在树莓派5实测交叉编译为aarch64 for win64的控制台应用可以运行,带UI的应用出现界面后就退出,lazarus暂时不适合编译aarch64的win带UI的应用。
2024-08-15 增加aarch64 for win64交叉编译,现在可以编译aarch64的win原生应用,fpc太强了。
这个版本可以交叉编译:
windows:
1、x86_64 for win64
2、aarch64 for win64
3、i386 for win32
Linux:
1、aarch64 for linux
2、x86_64 for linux
3、loongarch64 for linux
4、riscv64 for linux
5、riscv32 for linux
6、arm for linux
7、i386 for linux
2、lazarus 3.4+FPC 3.3.1绿色整合版 for linux aarch64
这个整合版的特点:
一、修复代码编辑不能输入中文的Bug
二、修复Object Inspector、使用combobox、colorbox等控件下拉列表文字不显示的问题
三、修复含mask的控件如果mask中包含/或:时在form设计阶段会出现乱码的情况。
四、修复lazarus DateEdit控件在linux乱码的Bug
五、支持交叉编译(win x86_64)
六、已整合常用控件,能做到开箱即用。
2024-08-15更新
3、lazarus_loongArch64 龙芯(纯净及常用控件)
龙芯版的特点:
一、修复代码编辑不能输入中文的Bug
二、修复Object Inspector、使用combobox、colorbox等控件下拉列表文字不显示的问题
三、修复含mask的控件如果mask中包含/或:时在form设计阶段会出现乱码的情况。
四、修复lazarus DateEdit控件在linux乱码的Bug
五、支持中文变量、常量、过程、函数和中文控件名称
四、Lazarus/fpc增加UTF8(中文)支持:
为什么其他语言基本上都支持中文,就我们使用的lazarus/fpc不支持呢?让lazarus/fpc支持中文变量/控件名称/过程及函数(用和谐说话,准确说应该叫utf8变量)给需要的人多个选择吧。
1、【原创】让fpc/lazarus支持UTF8(中文)变量/过程/函数/UTF8(中文)控件名称
原版的fpc/lazarus不支持UTF8(中文)变量、过程和函数,经debug发现,只需修改12个文件(fpcsrc7个文件:scanner.pas、sysstr.inc、parser.inc、options.pas、objcutil.pas、assemble.pas和dfmreader.pp,lazarus5个文件:keywordfunclists.pas、lresources.pp、lazstringutils.pas、propedits.pp和CustomCodeTool.pas,synhighlighterpas.pp)28处(原理很简单,将字符范围扩大)就能实现fpc/lazarus支持UTF8(中文)变量/过程/函数/UTF8(中文)控件名称。
2、【原创】修复lazarus断点时不能显示中文变量的值和未定义的中文变量在Messages显示乱码的2个Bug )
3、【原创】为lazarus的IDE代码提示增加中文变量等拼音首字母搜索中文的功能(2024-09-18)
4、【原创】修正中文控件名称时IDE代码提示出错的Bug
5、【原创】实现lazarus中文代码补全功能
6、【原创】lazarus使用拼音首字母实现中文变量等快速代码补全
linux下Lazarus 2.2.0 GTK2版代码编辑器及SynEdit控件不支持中文输入,长期困扰着使用中文的开发者,需然网上已有解决方案,但并不是最佳的解决办法,跟踪源码后发现官方已支持中文输入,但默认没启用。只需将这5个文件按博客的方法添加{$define WITH_GTK2_IM}和{$define Gtk2IME}就能完美修复不支持中文输入的bug,修改后需重新编译lazarus。
8、【原创】修复lazarus在linux搜狗词组只能输入第一个字的Bug
虽然之前修复了lazarus的代码编辑、synedit控件和cudatex在linux下不能输入中文的bug,但存在使用搜狗输入法输入词组时只能输入第一个字的问题,原以为是synEdit控件引起的,对lazarus进行debug,终于找到问题所在的位置,最后发现在gtk2widgetset的gtk_commit_cb处理时添加1行代码就能解决这个Bug。
9、【原创】今天终于解决lazarus debug模式为GDB时中文变量显示Invalid character \xxx in expression的问题
10、【原创】修复lazarus for windows的debug模式为GDB时不能正确显示中文字符的问题
五、使用技巧:
1、lazarus 3.0/fpc 3.3.1在windows交叉编译龙芯应用程序的方法
用fpcupdeluxe创建的龙芯交叉编译环境带的libc.so版本比uos/loongxin(2.28)等的版本高,导致编译后的应用不能运行的问题,从loongxin系统提取相关文件后,交叉编译出来的应用可正常运行。
2、【原创】unidac在linux(loongarch64/arm64)使用SQLite(2024.09.11更新)
unidac 9.x.x不支持lazarus for linux(loongarch64或arm64)SQLite,因unidac SQLite默认使用静态连接方式,但UNIDAC官方SQLite未提供arm64或loongarch64静态库,造成linux forloongarch64/arm64无法安装liteprovider10.lpk,经跟踪unidac源码发现在source/uniProviders/SQLite/LiteDac.inc添加{$DEFINE NOSTATIC}就可以安装liteprovider10.lpk。
3、lazarus用系统默认软件打开指定文件
4、lazarus使用技巧(2022.04.20修正)
5、lazarus 使用技巧2
6、lazarus数据集使用技巧汇编
7、Lazarus Linux 创建菜单及桌面快捷方式
8、用lazarus创建linux的菜单、桌面快捷方式及文件关联
9、准备在linux使用lazarus编写软件的建议
10、lazarus使用优化(2023-11-16更新)
11、制作linux deb安装包的方法
12、lazarus添加project的全局设置
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2022-08-17 firebird4.0.2嵌入版在linux aarch64使用的注意事项