1
0
mirror of synced 2026-02-17 18:37:56 +08:00
Files
SnowFlake-IdGenerator/Delphi/README.md
2022-10-17 11:36:59 +08:00

71 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ❄ idgenerator-Delphi (Pascal)
## 编译环境、运行环境
Delphi XE10.3.3
## 调用示例Delphi
第1步**全局**初始化(创建只执行一次):
```objectpascal
// 添加引用
uses uIdGeneratorOptions, uIIdGenerator, uDefaultIdGenerator, uYitIdHelper;
// 声明IdGeneratorOptions、YitIdHelper对象为全局变量
var
IdGeneratorOption: TIdGeneratorOptions;
YitIdHelper: TYitIdHelper;
// 创建并配置雪花算法参数:
begin
IdGeneratorOption := TIdGeneratorOptions.Create;
// 参数参考IdGeneratorOptions定义。
with IdGeneratorOptiondo
begin
//以下全部为默认参数
Method := 1;
// BaseTime := DateTime.Now.AddYears(-10);
WorkerId := 1;
WorkerIdBitLength := 6;
SeqBitLength := 6;
MaxSeqNumber := 0;
MinSeqNumber := 5;
TopOverCostCount := 2000;
DataCenterId := 0;
DataCenterIdBitLength := 0;
TimestampType := 0;
end;
YitIdHelper := TYitIdHelper.Create;
// 保存参数(务必调用,否则参数设置不生效):
YitIdHelper.SetIdGenerator(options);
// 以上过程只需全局一次且应在生成Id之前完成。
end;
```
第2步生成ID
```objectpascal
// 初始化后在任何需要生成Id的地方调用以下方法
var Id: Int64 := YitIdHelper.NextId();
```
第3步释放内存销毁只执行一次
```objectpascal
YitIdHelper.Free;
IdGeneratorOption.Free;
```
## 代码贡献者
塵封追憶(Delphi-asdf, 82257695)