# ❄ 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)