AutoIt
AutoIt
Generate Monotonic ULIDs
See more ULID/UUID Examples
Generate a sequence of monotonic ULIDs all using the same seed time. This code sample generates a series of ULIDs with continuously increasing values.Important: Chilkat's ULID functionality was introduced in v9.5.0.94.
Chilkat AutoIt Downloads
$oSeedDt = ObjCreate("Chilkat.CkDateTime")
; You can set the seed time to any desired value.
; In this example, the seed time is set to the current system date/time.
$oSeedDt.SetFromCurrentSystemTime()
; Generate the 1st ULID in the series.
; (i.e. the current UTC UNIX-time)
Local $bUtc = True
Local $sUlid = $oSeedDt.UlidGenerate($bUtc)
ConsoleWrite($sUlid & @CRLF)
; Store the ULID in a Chilkat StringBuilder to generate the series.
$oSbUlid = ObjCreate("Chilkat.StringBuilder")
$oSbUlid.Append($sUlid)
Local $i = 0
While $i < 50
$oSeedDt.UlidIncrement($oSbUlid)
ConsoleWrite($oSbUlid.GetAsString() & @CRLF)
$i = $i + 1
Wend
; Sample output:
; 01GRGH30H8DMQ4F9A0XCTZHPGM
; 01GRGH30H8DMQ4F9A0XCTZHPGN
; 01GRGH30H8DMQ4F9A0XCTZHPGP
; 01GRGH30H8DMQ4F9A0XCTZHPGQ
; 01GRGH30H8DMQ4F9A0XCTZHPGR
; 01GRGH30H8DMQ4F9A0XCTZHPGS
; 01GRGH30H8DMQ4F9A0XCTZHPGT
; 01GRGH30H8DMQ4F9A0XCTZHPGV
; 01GRGH30H8DMQ4F9A0XCTZHPGW
; 01GRGH30H8DMQ4F9A0XCTZHPGX
; 01GRGH30H8DMQ4F9A0XCTZHPGY
; 01GRGH30H8DMQ4F9A0XCTZHPGZ
; 01GRGH30H8DMQ4F9A0XCTZHPH0
; 01GRGH30H8DMQ4F9A0XCTZHPH1
; 01GRGH30H8DMQ4F9A0XCTZHPH2
; 01GRGH30H8DMQ4F9A0XCTZHPH3
; 01GRGH30H8DMQ4F9A0XCTZHPH4
; 01GRGH30H8DMQ4F9A0XCTZHPH5
; 01GRGH30H8DMQ4F9A0XCTZHPH6
; 01GRGH30H8DMQ4F9A0XCTZHPH7
; 01GRGH30H8DMQ4F9A0XCTZHPH8
; 01GRGH30H8DMQ4F9A0XCTZHPH9
; 01GRGH30H8DMQ4F9A0XCTZHPHA
; 01GRGH30H8DMQ4F9A0XCTZHPHB
; 01GRGH30H8DMQ4F9A0XCTZHPHC
; 01GRGH30H8DMQ4F9A0XCTZHPHD
; 01GRGH30H8DMQ4F9A0XCTZHPHE
; 01GRGH30H8DMQ4F9A0XCTZHPHF
; 01GRGH30H8DMQ4F9A0XCTZHPHG
; 01GRGH30H8DMQ4F9A0XCTZHPHH
; 01GRGH30H8DMQ4F9A0XCTZHPHJ
; 01GRGH30H8DMQ4F9A0XCTZHPHK
; 01GRGH30H8DMQ4F9A0XCTZHPHM
; 01GRGH30H8DMQ4F9A0XCTZHPHN
; 01GRGH30H8DMQ4F9A0XCTZHPHP
; 01GRGH30H8DMQ4F9A0XCTZHPHQ
; 01GRGH30H8DMQ4F9A0XCTZHPHR
; 01GRGH30H8DMQ4F9A0XCTZHPHS
; 01GRGH30H8DMQ4F9A0XCTZHPHT
; 01GRGH30H8DMQ4F9A0XCTZHPHV
; 01GRGH30H8DMQ4F9A0XCTZHPHW
; 01GRGH30H8DMQ4F9A0XCTZHPHX
; 01GRGH30H8DMQ4F9A0XCTZHPHY
; 01GRGH30H8DMQ4F9A0XCTZHPHZ
; 01GRGH30H8DMQ4F9A0XCTZHPJ0
; 01GRGH30H8DMQ4F9A0XCTZHPJ1
; 01GRGH30H8DMQ4F9A0XCTZHPJ2
; 01GRGH30H8DMQ4F9A0XCTZHPJ3
; 01GRGH30H8DMQ4F9A0XCTZHPJ4
; 01GRGH30H8DMQ4F9A0XCTZHPJ5
; 01GRGH30H8DMQ4F9A0XCTZHPJ6