Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Generate Monotonic ULIDsSee more ULID/UUID ExamplesGenerate 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.
IncludeFile "CkDateTime.pb" IncludeFile "CkStringBuilder.pb" Procedure ChilkatExample() seedDt.i = CkDateTime::ckCreate() If seedDt.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; You can set the seed time to any desired value. ; In this example, the seed time is set to the current system date/time. CkDateTime::ckSetFromCurrentSystemTime(seedDt) ; Generate the 1st ULID in the series. ; (i.e. the current UTC UNIX-time) utc.i = 1 ulid.s = CkDateTime::ckUlidGenerate(seedDt,utc) Debug ulid ; Store the ULID in a Chilkat StringBuilder to generate the series. sbUlid.i = CkStringBuilder::ckCreate() If sbUlid.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkStringBuilder::ckAppend(sbUlid,ulid) i.i = 0 While i < 50 CkDateTime::ckUlidIncrement(seedDt,sbUlid) Debug CkStringBuilder::ckGetAsString(sbUlid) 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 CkDateTime::ckDispose(seedDt) CkStringBuilder::ckDispose(sbUlid) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.