Delphi奇技淫巧

当一个属性为[]类似的数组访问形式, 并且标记为default时,那么可以不用写Itemsp[], 直接 objs[]这样访问 property Items[const Key:string]:TObject read FGetItem write FSetItem;default; 当多个

消愁

当你走进这欢乐场 背上所有的梦与想 各色的脸上各色的妆 没人记得你的模样 三巡酒过你在角落 固执的唱着苦涩的歌 听他在喧嚣里被淹没 你拿起酒杯对自己说 一杯

使用一个数字存储很多状态

假设这样一种情景,一个界面上几十个CheckBox,每个都表示某个选项的启用或不启用,并且这些选项都需要存储起来。 那么怎么做呢?每个都创建一

mORMot REST服务端自动解析json body为record

声明 type TMyRecord = record id:Integer; name:string; end; ITestService = interface(IInvokable) ['{CB7ABEE8-134D-4706-8C6D-FAACECA754D4}'] function PostClient(const rec:TMyRecord):TServiceCustomAnswer; end; function TTestService.PostClient(const rec:TMyRecord): TServiceCustomAnswer; begin CheckMethod('POST',Result); Success('成功取得请求体:'+RecordSaveJson(rec,TypeInfo(

mORMot返回TClientDataSet

DataSetJSONConverter4D mORMot 我是从自带的例子 20 - DTO interface based service 进行修改而来 IAirportService = interface(IInvokable) ['{4A613FCE-3B0D-4582-97C5-4244B06C2006}'] function ReturnCds(a:Integer):TServiceCustomAnswer; end; 这里返回 TServiceCustomAnswer的原因是 google 搜索到 https://synopse.info/forum/viewtopic.php?id=2400 这个帖子,作者说

mORMot运行在普通VCL程序中

uses SynCommons, SynLZO, SynCrtSock; type TTestServer = class protected fstr : string; fServer: THttpApiServer; //内部为http.sys的实现 function Process(Ctxt: THttpServerRequest): cardinal; public constructor Create(const str:string;const path:string); destructor Destroy; override; end; { TTestServer } constructor TTestServer.Create(const str:string;const path:string); begin fstr := str; fServer := THttpApiServer.Create(false); fServer.AddUrl(path,'888',false,'+',true); fServer.RegisterCompress(CompressSynLZ); //可以启用不同的压缩

TJSONObject 对象内存释放

使用 ReportMemoryLeaksOnShutdown := True; 来开启自带的内存泄露检测 引用 System.JSON单元 测试代码如下: procedure TForm1.FormCreate(Sender: TObject); var jo:TJsonObject; joo:TJsonObject; ja:TJsonArray; jao:TJsonValue; begin //状况1 单个JSON对象 直接释放即可 jo := TJSONObject.ParseJSONValue('{"A":true}')

gasphack 补丁让字体更好

gasp_hack 下载之后, 运行 GaspHack_v2_MOD.bat 等待补丁执行完毕, 然后到进入PE系统, 将 .\workingDir\output中的字体替换到系统字体目录,重启 重新执行一次

使用git钩子在VPS架设hugo博客

首先第一步, 当然是先在本地搭建好hugo 配置nginx server { listen 443 ssl default_server; listen [::]:443 ssl default_server; root /var/www; ssl on; ssl_certificate /etc/ssl/certs/llinx.me.pem; ssl_certificate_key /etc/ssl/private/llinx.me.key; ssl_dhparam /etc/ssl/certs/dhparam.pem; index index.html index.htm index.nginx-debian.html; server_name llinx.me; location / { try_files $uri $uri/ =404; } } server { listen 80; server_name llinx.me; rewrite ^(.*)