Skip to content

Latest commit

 

History

History

Delphi

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

❄ idgenerator-Delphi (Pascal)

编译环境、运行环境

Delphi XE10.3.3

调用示例(Delphi)

第1步,全局初始化(创建只执行一次):

// 添加引用
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:

// 初始化后,在任何需要生成Id的地方,调用以下方法:
var Id: Int64 := YitIdHelper.NextId();

第3步,释放内存(销毁只执行一次):

YitIdHelper.Free;
IdGeneratorOption.Free;

代码贡献者

塵封追憶(Delphi-asdf, 82257695)