delphi type
声明:
1. type Name = Existing type;
2. type Name = type Existing type;
3. type Name = (EnumValue1 [=value], EnumValue2 [=value] ...);
4. type Name = Expression1..Expression2;
5. type Name = ^Existing type;
6. type Name = array[...] of Existing type;
...
Delphi中@,^,#,$分别表示什么?
@:取址运算符; var int:integer; p:^integer; new(P); int:=24; p:=@int; dispose(P);
^:指针的引用解析操作符; var pint:^integer;
new(pint); showmessage(inttohex(integer(@pint),8)); pint^:=$ff; showmessage(inttohex(pint^,4));
#:ASCII码值表示符; const tab_key=#9;//TAB键的ASCII值
总结: ^: 指针 @: 取址 #: ...
TThread.Queue和TThread.Synchronize的区别
TThread.Queue和TThread.Synchronize的区别
效果上:二者的作用都是让业务代码在主线程中执行,差别: Synchronize是阻塞,Queue是非阻塞
代码上 两个方法最终都是调用的 class procedure TThread.Synchronize(ASyncRec: PSynchronizeRecord; QueueEvent: Boolean = False)类方法,
差别
Synchronize则是使用了Th ...
权限控制(delphi actionlist)
权限控制(delphi TActionList方案)在软件开发中,为软件加入权限控制功能,使不同的用户有不同的使用权限,是非常重要的一项功能,由其在开发数据库方面的应用,这项功能更为重要。但是,要为一个应用加入全面的权限控制功能,又怎样实现呢?大家知道,现在的应用,一般均以菜单访问功能的形式出现,按照常规的做法,只要让 ...
Delphi动态事件深入分析
[delphi] view plain copy
print?
首先做一个窗体如下
然后单元中如下代码:
在implementation下面声明两个方法如下:
//外部方法,只声明一个参数,此时按照标准的对象内部事件方法TNotifyEvent声明,此声明中,Sender则对应为产生该事件的对象指针。 ...
Delphi 10.2.3 精简版自动激活Embarcadero Delphi 10.2.3 v25.0.29899.2631 Lite v14.4
下载:https://maxwoods.ctfile.com/u/758954/28516301
Embarcadero.Delphi.10.2.RTM.v25.0.26309.314.Lite.v14.0
——————————————————————————–
基本信息:
作者:lsuper联系方式:…
——————————————————————————–
版本说明:
由于 XE5 时代 Delphi 安装体积急剧膨 ...
delphi 新版内存表 FDMemTable
c++builder XE
官方demo最全60多个
http://community.embarcadero.com/blogs?view=entry&id=8761
FireDAC.Comp.Client
用好FDMemTable代替之前的ClientDataSet,以前ClientDataSet内存表转换太繁琐了步骤。
TClientDataSet *cds = new TClientDataSet(this); DataSetProvider1->DataS ...
Delphi- ini文件的读写操作
一、读INI文件示例
procedure TForm1.FormCreate(Sender: TObject);
Var
MyIni :Tinifile;
glAppPath :string;
begin
glAppPath := ExtractFilePath(Application.ExeName);//获取当前运行程序的路径
MyIni := Tinifile.Create(glAppPath + 'myini.ini');
Edit1.Text := MyIni.ReadString('Setting','名称','');
...
DELPHI开发LINUX包
DELPHI开发LINUX包
我们知道,有了包的存在,开发插件架构的程序,才成为可能 。
DELPHI在WINDOWS里面的包的扩展名是.bpl。
在LINUX里面的包的扩展名是.so。
怎样在LINUX里面加载.so的包?
不论加载WINDOWS的包,还是加载LINUX的包,都是使用LoadPackage()函数加载。
function LoadPackage(const Name: string; AValidateP ...
Delphi通过ADO读写数据库
ADO是一种程序对象,用于表示用户数据库中的数据结构和所包含的数据。
ADO (ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。例如,如果您希望编写应用程序从DB2或Oracle数据库中向网页提供数据,可以将ADO程序包括在作 ...
IdHTTPServer开发https服务器
IdHTTPServer开发https服务器
该篇经验同样适用于DATASNAP和UNIGUI,因为它们都基于INDY10。
1)需要TIdServerIOHandlerSSLOpenSSL控件
2)设置属性
3)OPENSSL生成自签名证书
X.509证书包含三个文件:key,csr,crt。
key是服务器上的私钥文件,用于对发送给客户端数据的加密,以及对从客户端接收到数据的解密
csr是证 ...
Delphi 的环境配置
Delphi 系统安装后,有默认的配置如下:
1、在菜单 Tools\Options 中进行全局配置 :主要是:
1) Environment Options (环境)
Environment Variavbles: 包括
(系统变量System Variavbles / 用户变量User Overrides),也可以通过 Windows “高级系统设置”。
...
Delphi 的 TMS 控件安装方法
* 参考: tms xdata aurlius sparkle的手工安装(XE7): https://blog.csdn.net/winniezhang/article/details/103654553
--------------------------------------------------------------------------------------------
说明:下述安装方法的意思是:
1)将所有 包项目的编译结果放在 /Bin ...
DELPHI搭建centos开发环境
DELPHI搭建centos7开发环境
关闭防火墙
搭建开发环境,还是直接关闭LINUX防火墙,省事。
否则,使用到的网络端口号,都要在防火墙开放,麻烦。 systemctl disable firewalld.service
关闭SELINUX
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
设置后需要重启才能生效
网络设置
开启有线连 ...
Delphi 10.3.2试用报告
感谢朋友们,如此之快就发了注册机,209321818群里有下载,感兴趣可以去。
安装前,需要先卸载Delphi 10.3.1,然后就是正常的安装过程,非常顺利,现在差不多半小时就安装完成。
安装后,启动Delphi,发现原来用的控件都在,Lib目录也没变,这个挺人性的。
编译手边的项目,超呼想象之外,没遇到任何问题,看来这个版本对于 ...
Delphi 10.3.2来了!
昨晚,官方正式发布了Delphi 10.3.2,增加对Mac 64应用的开发,支持Linux桌面开发,这个是通过集成fmxlinux实现的,同时修正400个bug,编译器,102个ide,84个fmx等方面的,就照这个400个bug,也值得升级。
这是官方的下载地址:http://altd.embarcadero.com//download/radstudio/10.3/delphicbuilder10_3_2_496593b.iso 需 ...
Delphi Locate函数[1] - 查询、定位
Delphi TDataSet.Locate函数 - 查询、定位
使用ADO等数据控件的时候,经常会用到 locate 函数,在结果数据集中查询和定位,下面介绍一下:
原型:
function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean;
Locate 方法的3个参数:
1、KeyFields //字段名称。单一字段, ...
Delphi另一个多线程函数:BeginThread用法
Delphi另一个多线程函数:BeginThread━━━━━━━━━━━━━━━━━━━━━━━━━━
Delphi也提供了一个相同功能的类似函数:function BeginThread( SecurityAttributes: Pointer; StackSize: LongWord; ThreadFunc: TThreadFunc; ...
位运算
位运算
Delphi 的按位运算符共有六个: not and or xor shr shl; 其中的 not and or xor 也叫逻辑运算符, 其实功能都是一样的, 因为不管什么数据追到底都是 0 和 1 的组合
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm ...
雪花算法(DELPHI实现)
雪花算法(DELPHI实现)
生成ID能够按照时间有序生成。
分布式系统内不会产生重复id(用workerId来做区分)。
自增ID:对于数据敏感场景不宜使用,且不适合于分布式场景。
GUID:采用无意义字符串,数据量增大时造成访问过慢,且不宜排序。
算法描述:
最高位是符号位,始终为0,不可用。
41位的时间序列,精确到毫秒级,4 ...