
Lazarus
文章平均质量分 55
老狼8848
业余编程爱好者。
展开
-
lazarus:获取文件创建、最近读取、最近修改时间
FPC中的FileDateToDateTime()函数,在转换毫秒时不够精确。如果你使用jcl中的FileTimeToDateTime(),可以获得毫秒数。原创 2025-03-25 08:57:50 · 155 阅读 · 0 评论 -
CodeTyphon8.4实现跨平台编译
CodeTyphon可以使用2种方式生成特定平台中的可执行程序。例如,目标平台是aarch-linux。第一种,在目标平台 aarch-linux 安装 CodeTyphon,然后直接编译已经写好的源代码即可。第二种,在开发者使用的源平台,例如我用的是 x86_64-win64,编译生成aarch-linux下可运行的程序。两种方式我都测试成功,这里简单分享一下。原创 2024-11-08 17:09:08 · 954 阅读 · 0 评论 -
翻译:用FPC开发的一些项目名称与简介
原文作者整理了大量用FPC开发的应用,或者入门示例,值得学习。翻译 2024-04-17 17:39:47 · 250 阅读 · 0 评论 -
lazarus:不安装任何驱动,直接使用csv文件作为数据集
在某些数据操作需求特别简单的情况下,我们希望不要安装任何数据库,甚至连一个驱动dll都不要,因为这些驱动dll可能涉及到版本甚至跨平台问题。这种简单需求,可以直接使用csv文件作为数据集来进行增查删改操作。注意,这不是用某些数据库映射csv文件作为数据库的一个表。这种直接操作csv文件数据集好处不少,比如不用安装任何驱动,支持跨平台,可以直接使用文本编辑器修改文件,体积极小容易发布等。原创 2023-11-07 10:09:00 · 637 阅读 · 0 评论 -
lazarus:数据集快速导出为excel、csv、sql及其他多种格式
lazarus被成为快速开发工具,为什么说“快速”,重要的一点是,很多工具是现成的,可以拿来直接就用。比如数据导出,如果需要把数据集导出为excel格式文件,写代码可能需要很多时间。lazarus就不用了,有TFPSExport。另外还有很多其他格式的导出工具,简单设置一下属性就可以。前几天我自己写了一个导出为sql文件的函数,废了不少时间。导出完成: D:\ssss.sql,用时46毫秒。原创 2023-11-06 16:09:50 · 1114 阅读 · 0 评论 -
lazarus开发:提升sqlite数据插入速度
这里的数据容器是指,数据从外部读入后,插入数据库之前,暂时存放在什么地方。原来是以com方式调用excel程序,打开excel文件,读取数据到stringGrid中。这种方式速度慢,容易出错。近期有一个需求是向数据库中插入excel文件中的10万多条数据,接近70个字段。最初整个插入数据时间是大约40分钟,经过优化调整后,大幅优化为大约5分钟。如果数据量特别大,就不需要在程序界面全部显示所有数据,那样太浪费时间,可以只显示100行或者1000行数据。开启事务方式后,插入数据效率有数十倍的提升!原创 2023-10-29 19:32:12 · 1473 阅读 · 0 评论 -
快速数据处理:根据多字段查找重复记录及删除多余记录
如果一个数据集中含有重复记录,可能需要仅仅保留一条记录,清理掉多余的记录。重复记录的定义,可能仅根据一个字段值确定,也可能需要根据多个字段值确定。为了便于导出数据,显示查询结果数据这里使用了 TsWorksheetGrid 控件。这里同时完成了字段名称由英文向中文的转换,便于浏览数据。到主页面刷新一下记录数,从830变为24。此处需要自定义查询字段。原创 2023-10-12 16:19:53 · 615 阅读 · 0 评论 -
lazarus中的eval功能——表达式解析
lazarus中,TFPExpressionParser单元可以分析和计算变量x的复杂表达式,如sin(x)*cos(2*x)。除了数学表达式,它还可以处理布尔值、字符串公式、日期/时间值等。甚至可以处理用户定义的函数。使用很简单,只需将 fpexprpars 添加到use子句中即可访问其功能。解析器的优点之一是它很容易扩展功能,包含其他函数。可以通过调用方法 Identifiers.AddFunction 来完成。beginend;原创 2023-07-25 19:10:12 · 627 阅读 · 0 评论 -
一个CT调用openGL例子,看看超酷动画效果
今天看到一个codetyphon调用openGL的例子,C:\codetyphon\CodeOcean\pl_OpenGL\samples\4b_ParticleLines编译运行后,动画效果真酷。不做深究了,录一下屏,感兴趣的伙伴一起欣赏一下。原创 2023-04-23 14:19:44 · 262 阅读 · 2 评论 -
用typhon制作嵌入式Chromium浏览器
用CEF4Typhon是“嵌入式Chromium框架”的Pascal包,使用它,可以用Typhon制作一个基于Chromium引擎的应用程序。目前,可以制作基于Windows和Linux的应用程序。原创 2022-07-18 17:59:09 · 889 阅读 · 0 评论 -
lazarus开发:生成压缩包以及中文的处理
lazarus开发:生成压缩包以及中文的处理原创 2021-12-21 10:56:53 · 740 阅读 · 0 评论 -
Lazarus中,多行文本保存为utf8文件格式
第一种情况,在memo控件中直接输入多行文本,用一行代码直接保存为utf8格式。Memo1.Lines.SaveToFile('aa.csv');打开aa.csv文件,另存,可以看到文件格式是utf8格式。第二种情况,memo控件加载外部文件后如果是乱码,需要处理后再保存。外部文件为utf8格式,汉字显示正常。加载到memo后,汉字为乱码。如果不进行处理,直接保存,则格式为ansi。// 文件先加载到memo再另存为procedure TForm1.Button3Clic.原创 2021-10-09 11:17:38 · 630 阅读 · 0 评论 -
判断worksheetgrid中某单元格是否是合并单元格的一部分
单击grid,判断单击位置是否位于合并单元格中。uses fpsutils; 。。。。。。var mouseCell: TPoint; r, c: Cardinal; begin mouseCell := grid.MouseToCell(Point(X, Y)); c := grid.GetWorksheetCol(mouseCell.X); r := grid.GetWorksheetRow(mouseCell.Y); memo1.append('p原创 2021-08-23 15:46:07 · 266 阅读 · 0 评论 -
lazarus:多行文本保存为UTF8格式
找了好久,发现Lazarus中已经有这个函数。uses LazUTF8Classes;......SaveStringsToFileUTF8(stringList.Lines, 'aaa.csv');这个单元中还有好几个相关的函数:{ TFileStreamUTF8 } TFileStreamUTF8 = class(TFileStream) private FFileName: string; public ...原创 2020-06-23 23:03:45 · 757 阅读 · 0 评论 -
freepy:创建label控件的参数
'''Created by catpy.2020/6/9 14:05:37'''lbl = '###[name:label1,type:label,size:19,color:$008CFF,left:20,top:20,width:250,height:100,caption:label测试1111]###'颜色格式:https://www.cnblogs.com/del/archive/2008/02/19/1073568.html...原创 2020-06-09 14:51:20 · 261 阅读 · 0 评论 -
catpy:pyechart迁徙图的快速定制
运行界面:应该加上label。运行结果:代码:'''Created by catpy.2020/6/9 11:22:05'''import osfrom pyecharts import options as optsfrom pyecharts.charts import Geofrom pyecharts.globals import ChartType, SymbolTypec = ( Geo() .add_schema( ...原创 2020-06-09 12:51:50 · 436 阅读 · 0 评论 -
lazarus:对treeview控件内容进行自然排序
有以下文件夹:用lazarus中的treeview控件显示,默认是这样的:现在我们需要按从小到大顺序排列。先建一个natural 模块:unit natural;{$MODE OBJFPC}{$H+}// Natural Order String Comparison by Martin Pool(* -*- mode: c; c-file-style: "k&r" -*- strnatcmp.c -- Perform 'natural order' c.原创 2020-06-08 16:39:48 · 633 阅读 · 0 评论 -
python程序可视化探索:让pyecharts更易用
pyecharts功能强大,但是如果发布一个小应用,例如可自己定制参数并生成地图,就有点难度了。前面用自己开发的工具实现了计算器。今天对工具修改功能,实现了edit控件内容读取,可以图形界面下设置应用参数了。小试牛刀,制作了pyecharts运行程序。可以读取外部excel文件中的数据,并对一些参数进行修改,然后运行显示地图。整体代码量很少。源代码:'''Created by freepy.2020/6/5 20:29:30'''s_series_name = '###[name:e原创 2020-06-04 23:46:50 · 296 阅读 · 0 评论 -
lazarus:对字符串列表进行自然排序
字符串列表内容如下:8啊啊啊.txt 11.txt 11啊啊啊.txt 这样的3风景线在美国越多越好.txt 1啊啊啊.txt 2啊啊啊.txt 1.1 啊啊啊.txt 1.2 啊啊啊.txt 7 2019年度.txt 这样的2风景线在美国越多越好.txt 21啊啊啊.txt原创 2020-06-01 17:46:48 · 371 阅读 · 0 评论 -
生成了一个python计算器界面
又增加了几个空间的支持。界面的代码现在需要手工写入,不用安装GUI模块。界面是这样:原创 2020-05-28 14:33:22 · 678 阅读 · 0 评论 -
点击自定义按钮,执行自定义的python函数
这是一段简单的生成自定义界面代码。包括:panel、splitter、输入框、按钮。split1 = '###[name:split1,type:splitter,width:5,align:alleft]###'panel1 = '###[name:panel1,type:panel,width:390,align:alleft,left:1,]###'panel2 = '###[name:panel2,type:panel,align:alclient,]###'print(...原创 2020-05-26 15:36:13 · 2659 阅读 · 0 评论 -
lazarus:一个取得字典字符串中某个值的函数
这里有一个类似python中生成字典内容的字符串:id:1,type:open_dialog,lable:待处理的excel文件,button:打开,width:200 下面函数取得该字符串中特定键的值:function getAValueOfDict(strDict, strAKey: string) : string;var strlistOfItems: TStringList; s, sRes: string;begin strlistOfItems := T...原创 2020-05-20 17:00:36 · 509 阅读 · 0 评论 -
lazarus:用上下左右键控制一个图层的位移
用键盘的上下左右键控制一个图层的位移。unit Unit1;{$mode objfpc}{$H+}interfaceuses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, BGRABitmap, BGRABitmapTypes;type { TForm1 } TForm1 = ...原创 2020-05-04 23:08:41 · 293 阅读 · 0 评论 -
lazarus:正则查找函数,支持单行多行
用以下函数可以非常方便的查找单行或者多行字符串种符合条件的字串。//单行模式或多行模式————字符串正则匹配返回第n个符合条件的字符串function getNstrByReg(strSource, strReg: string; n: integer; boolM: boolean): string;var r: TRegExpr; sRes: string; i: int...原创 2020-04-27 11:11:05 · 518 阅读 · 0 评论 -
lazarus:用 ExtractStrings 函数分割字符串并填充到列表中
现有一个比较杂乱的字符串s:>>> >>> ... ... ... ... ... ,df_dd,830,14,['订单ID', '客户ID', '雇员ID', '订购日期', '到货日期', '发货日期', '运货商', '运货费', '货主名称', '货主地址', '货主城市', '货主地区', '货主邮政编码', '货主国家']如何把方括号中的内...原创 2020-04-15 23:47:30 · 686 阅读 · 0 评论 -
lazarus:用DCPCrypt对文本文件加密
需要uses两个单元:DCPrc4, DCPsha1。加密过程:procedure TForm1.ButtonEnCryptClick(Sender: TObject);var Cipher: TDCP_rc4; Source, Target: TFileStream;begin if not FileExists(EditSource.Text) then begin...原创 2020-02-24 10:13:37 · 900 阅读 · 0 评论 -
lazarus:以AES方式加密字符串
引入这两个单元:DCPrijndael, DCPsha256加密过程:procedure TForm1.ButtonEnCryptClick(Sender: TObject);var i: integer; Cipher: TDCP_rijndael;begin if EditKey.Text<>'' then begin Cipher:=T...原创 2020-02-24 09:46:32 · 1015 阅读 · 3 评论 -
lazarus:辣子工具现在成为一个丰富的工具集合
LazUtils单元中,包含了众多工具单元: AvgLvlTree, DynamicArray, DynHashArray, DynQueue, EasyLazFreeType, ExtendedStrings, FileUtil, FPCAdds, Laz2_DOM, Laz2_XMLCfg, laz2_XMLRead, laz2_xmlutils, laz2_XMLWr...原创 2020-02-23 16:41:20 · 1308 阅读 · 2 评论 -
lazarus:使用DCPrc4进行字符串加密
lazarus默认没有安装DCPcrypt控件,需要从Package-online Package manager进行安装,安装速度很快。字符串加密:原创 2020-02-23 16:27:16 · 683 阅读 · 0 评论 -
lazarus中,用正则表达式对文本进行查找替换
需要对以下文本中的注释进行替换:'''import pandas as pdimport numpy as np'''import tushare as ts使用RegExpr单元,代码如下: reg1 := TRegExpr.Create; reg1.Expression := '''''''(.+?)'''''''; reg1.InputString :=...原创 2020-02-22 23:00:19 · 607 阅读 · 0 评论 -
(转)究竟什么是Lazarus?
Lazarus是一个基于Free Pascal的Delphi仿制品。Free Pascal是Linux、Win32、WinCE、Mac OS、OS/2、68K等操作系统下的一个基于GPL/LGPL的编译器,她被设计成可以理解,并编译OOP的Delphi语法。Lazarus在上述平台下可以像 Delphi一样来开发程序,打破了这些环境下缺少可视化开发工具的困窘局面。不像Java致力于“一次编写,到处转载 2012-06-20 15:05:19 · 1223 阅读 · 0 评论 -
如何减小Lazarus生成文件尺寸
更改Lazarus的配置1. 工程-编译选项-链接,去掉“当出现运行错误时显示行号”2. 选择“从可执行文件中除去符号”3. 编译程序,这是后程序会有原来的12m,变为1.5m,如果还感觉不够小,这时候使用upx压缩转载 2012-08-24 16:34:31 · 1979 阅读 · 0 评论 -
草稿
**extp_ctrls 编译extp_ctrls.lpk,修改第469行: TCustomExtTabPanel = class(TCustomNotebook) 修改为: TCustomExtTabPanel = class(TCustomTabControl)原创 2012-11-22 05:59:01 · 476 阅读 · 0 评论 -
ExtJs4.1:结合现有Laz例程生成酷Grid页面
安装完laz1.0之后,找到目录:lazarus\fpc\2.6.0\source\packages\fcl-web\examples\webdata,这是演示CGI方式读取数据库中数据,并用浏览器展示的一个程序。可能它所用的ext版本比较老了吧,我试了半天都不能让他正常显示。 这个如果能正常使用,还是蛮有意思的。我给大家讲一下怎样弄才能让它正常显示。 先上结果图,ext弄原创 2012-12-16 16:36:11 · 1345 阅读 · 1 评论 -
Extjs4.2+lazarus1.1:CRUD网页的快速实现(附源码)
2012.3.1我是Extjs初学者,由于lazarus中的例子:lazarus\fpc\2.6.0\source\packages\fcl-web\examples\webdata\demo用的extjs是3.4版,在新的extjs4.2环境下不能运行,费了好大劲,终于搞定。期间到laz英文论坛提问,可能跟我英文差有关吧,一个回答的都没有。搞定后,版主又要我进行了“ open a n原创 2013-03-06 15:42:45 · 3547 阅读 · 0 评论 -
lazarus:单独编译某目录下pp文件
使用以下命令D:\lazarus\fpc\2.6.1\bin\i386-win32>fpc D:\lazarus\fpc\2.6.1\source\packages\fcl-web\src\webdata\fpwebdata.pp生成:fpwebdata.ofpwebdata.ppufpwebdata.rst三个文件。原创 2013-02-27 16:29:41 · 1256 阅读 · 2 评论 -
lazarus开发apache下fastcgi应用,如何配置httpd.conf文件
以lazarus附带的fastcgi例程为例子:lazarus\fpc\2.6.0\source\packages\fcl-web\examples\helloworld\fcgi, 1、用lz打开并编译,得到helloworld.exe文件; 2、将其复制到Apache2.2\cgi-bin目录,这一步并非必须,只是为了操作方便。 3、下载http://www.原创 2012-11-26 21:21:43 · 1609 阅读 · 0 评论 -
lazarus1.1:一行代码完成MD5加密
在lazarus主站转悠了半天,才发现MD5加密好简单:1、uses 部分加上md52、加密操作:Edit2.Text := MD5Print(MD5String(Edit1.Text)); 源程序:unit Unit1;{$mode objfpc}{$H+}interfaceuses Classes, SysUtils, FileUti原创 2013-03-25 09:31:21 · 1288 阅读 · 0 评论 -
lazarus1.1:ListView用法
ListView数据填充:procedure TForm1.FormActivate(Sender: TObject); Names: array[0..5, 0..3] of string = ( ('Rubble', 'Barney', 'Rubble', 'Barney'), ('Michael', 'Johnson', 'Rubble', 'Barne原创 2013-03-25 09:40:00 · 1211 阅读 · 0 评论 -
lazarus连接access数据库
连接: 用控件ODBCConnectionvar sql: string;begin ODBCConn.Driver:= 'Microsoft Access Driver (*.mdb)'; ODBCConn.Params.Add('DBQ=D:\0fastdata\' + utf8ToSys('access数据库.mdb')); ODBCConn.Param原创 2013-10-31 14:01:16 · 3027 阅读 · 2 评论