秋·风

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

建了个技术交流群(QQ群):484097648。

特别提醒:在linux第一次使用fpcupdeluxe需要安装依赖环境,在终端执行:

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.09.29  修复添加TQFHorizontalScrollingText控件可能出错的Bug;修复添加QFComponent任一控件后,TPageControl控件只显示1个Tab的Bug。     
     2024.08.23  修正同1个form有多个TQFGridPanelComponent时的bug。
     2024.07.27  修正TQFGridPanelComponent单元格宽度调整的Bug。
     2024.07.13  优化TQFGridPanelComponent单元格宽度调整算法,调整后宽度调整更顺畅。
     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绿色版本
lazarus 4.2/fpc3.3.1(绿色整合版 2025-09-16)
1、已整合常用控件,解压后约17GB,嫌大的就别下载了
2、fpcsrc源码使用trunk(3.3.1)aa182cb14737fce742689f269210acfbc51e2b8d这个分支

3、已配置的交叉编译环境:
1、x86_64-linux
2、aarch64-linux
3、loongarch64-linux
4、riscv64-linux
5、arm-linux
6、i386-linux
7、i386-win32

QQ_1757840456785

 

解压后运行runlazarus-x86_64-win64.exe就可以
https://cloud.189.cn/web/share?code=e6Zz63yUzim2(访问码:kx50)

通过网盘分享的文件:QFLazarus4.2绿色版
链接: https://pan.baidu.com/s/1GKMsJq-XbMIVYaQ-aK8Jjg?pwd=enat 提取码: enat


lazarus 4.0/fpc 3.3.1(绿色整合版 2025-06-17)
这个版本使用了深色主题。

lazarus4_fpc331绿色整合版
百度盘: https://pan.baidu.com/s/1hK4z2Z8RDsjzpXXe3FAZNA?pwd=6s8s 提取码: 6s8s
天翼云盘:https://cloud.189.cn/web/share?code=MFNvaq6rEVfa(访问码:5jiy)

 


lazarus 4.0/fpc 3.3.1绿色版本(2025-05-06)

通过网盘分享的文件:lazarus4.0_fpc331绿色版
链接: https://pan.baidu.com/s/12ME1RLVQLsCZUbsTN1c6gw?pwd=s8bm 提取码: s8bm
天翼云盘:
https://cloud.189.cn/web/share?code=i2IZbqja2Eba(访问码:gr0b)


lazarus 4.99/fpc 3.3.1绿色安装包(2025-03-18)

通过网盘分享的文件:lazarus499
链接: https://pan.baidu.com/s/1NqJGdjVTop6xzd3r5iOmUw?pwd=t2wx 提取码: t2wx
天翼云盘:
https://cloud.189.cn/web/share?code=i2IZbqja2Eba(访问码:gr0b)


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
     五、支持中文变量、常量、过程、函数和中文控件名称

      2024-02-25 添加linux可编译安装的源码下载
      2024-01-02 更新到lazarus 3.0 fpc 3.3.1
      
四、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使用拼音首字母实现中文变量等快速代码补全

7、【原创】尝试解决linux下Lazarus 2.2.0版代码编辑器和SynEdit不支持中文输入的Bug
     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的全局设置
13、Lazarus函数自动添加声明功能

posted on 2024-08-17 20:35  秋·风  阅读(3785)  评论(14)    收藏  举报