随笔分类 - delphi新语法
delphi新语法
摘要:delphi win64 DEBUG不能进预设断点的问题
阅读全文
摘要:DELPHI 10.2(TOKYO) FOR LINUX的兼容性说明 自DELPHI 10.2(TOKYO) 始开始支持Linux 。 Delphi Linux 编译器 64 位 Linux 平台支持 Delphi 语言支持 ARC 支持 基于1 开始的字符串 基于 LLVM 引擎 支持的 Linu
阅读全文
摘要:DELPHI 10.1 BERLIN新增TDBXJSONStream类,用于方便地将数据序列为JSON,和将JSON还原出来数据。 DATASNAP远程方法也相应地增加了支持返回TDBXJSONStream。必须引用 Data.DBXCommon单元。 url rest方式呼叫远程方法,直接返回JS
阅读全文
摘要:高版本DELPHI提供的匿名方法,如果使用的好,可有效地节省代码。 procedure TCMServerForm.CMServerTransportDisconnectEvent(Event: TDSTCPDisconnectEventObject);var Index: Integer;begi
阅读全文
摘要:在WINDOWS里面使用临界来保护多线程需要访问的共享对象,现在,DELPHI有了新的跨平台临界保护者--System.TMonitor 代码演示如下: FConnections := TObjectDictionary<TIdTCPConnection,TDSTCPChannel>.Create;
阅读全文
摘要:咏南 DATASNAP LINUX中间件 咏南 DATASNAP LINUX中间件,一套源码,同时支持WINDOWS和LINUX操作系统。 基于DELPHI 10.2 TOKYO开发 使用FIREDAC数据库引擎,支持MYSQL,MSSQL,ORACLE等数据库。 咏南 DATASNAP LINUX
阅读全文
摘要:DELPHI新版本WEBSERVICE,不仅可以编译成ISAPI DLL,依靠IIS部署, 并且还可以编译成单独的EXE,不再依赖IIS就可以独立运行,这一点未尝不可以说是非常方便的改进。
阅读全文
摘要:// 声明 bplList: TDictionary<string, Integer>; // 创建 bplList := TDictionary<string, Integer>.Create; // 往字典里增加一条 h := LoadPackage(bplName); bplList.Add(
阅读全文
摘要:新版本DELPHI增加的泛型语法带来的是编写代码的异常方便。 uses System.Generics.Collections; // 创建队列 FPrintQueue := TQueue<TOneTimePrint>.Create;end; // 出队:从队列中获取一个任务 OneTimePrin
阅读全文
摘要:DELPHI XE7 的新功能列表里面增加了并行库System.Threading, System.SyncObjs。 为什么要增加新的并行库? 还是为了跨平台。以前要并行编程只能从TThread类继承进行多线程处理,大家知道TThread类是从WINDOWS的线程API封装起来的,它封装的是WIN
阅读全文
摘要:现在的DELPHI因为支持泛型的语法,所以也能支持模板编程了。// 标准模板unit UntPools;interfaceuses Classes, SysUtils, UntThreadTimer;type { 这是一个对像池, 可以池化所有 TObject 对像 } { 用法: 在一个全局的地方定义 var Pooler: TObjectPool; 用到的地方 obj := Pooler.LockObject as Txxx; try finally Pooler.UnlockObject; end; 初始化 initialization Pool...
阅读全文
摘要:测试代码文件:--------------------------------------------------------------------------------unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Memo1: TMemo; Memo2: TMemo; Button1: TButton; Button2: TButton; Butt
阅读全文
摘要:如用 TArray<Word> 代替 array of Word, 还可以使用 TArray 类提供的算法(就是少了点).--------------------------------------------------------------------------------uses Generics.Collections, Generics.Defaults;{测试 TArray 的 Sort 方法}procedure TForm1.Button1Click(Sender: TObject);var arr: TArray<string>; //同 array
阅读全文
摘要:system.zlib单元 封装了zlib 1.2.5system.zip单元内主要就是 TZipFile 类, 最方便使用的是它的类方法:--------------------------------------------------------------------------------TZipFile.ExtractZipFile() //解压 Zip 文件到指定文件夹TZipFile.IsValid() //判断指定文件是否是有效的 Zip 文件TZipFile.ZipDirectoryContents() //压缩指定路径下的所有文件
阅读全文
摘要:procedure MyMethod;var i: Integer;begin for i := 0 to 500000 do begin Form1.Canvas.Lock; Form1.Canvas.TextOut(10, 10, IntToStr(i)); Form1.Canvas.Unlock; end;end;procedure TForm1.Button1Click(Sender: TObject);begin TThread.CreateAnonymousThread(MyMethod).Start; end;1、TThread 现在增加了许多 class 方法(直接通过类名调用
阅读全文
摘要:以后路径相关的处理, 用 IOUtils.TPath 就很方便了.//较常用的方法:TPath.GetTempPath; {获取临时文件夹路径}TPath.GetTempFileName; {获取一个临时文件名}TPath.GetPathRoot(); {提取盘符, 如: c:\}TPath.GetDirectoryName(); {提取路径}TPath.GetFileName(); {提取文件名}TPath.GetExtension(); {提取扩展名}TPath.GetFileNameWithoutExtension(); {提取无扩展名的文件名}TPath.ChangeExtension
阅读全文
摘要:IOUtils 单元主要就是三个结构: TDirectory、TPath、TFile, 很有用; 下面是 TFile 的功能简介.--------------------------------------------------------------------------------TFile.Exists();--------------------------------------------------------------------------------//判断指定的文件是否存在-----------------------------------------------
阅读全文
摘要:TDirectory.CreateDirectory(); {建立新目录}TDirectory.Exists(); {判断文件夹是否存在}TDirectory.IsEmpty(); {判断文件夹是否为空}TDirectory.Copy(); {复制文件夹}TDirectory.Move(); {移动文件夹}TDirectory.Delete(); {删除文件夹, 第二个参数为 True 可删除非空文件夹}TDirectory.GetDirectoryRoot(); {获取目录的根盘符, 如: C:\}TDirectory.GetCurrentDirectory; {获取当前目录}TDirect
阅读全文
摘要:方法的更多信息是指: 方法类型、返回值、参数等.--------------------------------------------------------------------------------unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; procedure Button1Cl
阅读全文
摘要:编辑器通过 Rtti 还能够调用一个类的方法, 也能读取或设置其属性值. --------------------------------------------------------------------------------unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TB...
阅读全文