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
(Unicode C) 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.
#include <C_CkDateTimeW.h> #include <C_CkStringBuilderW.h> void ChilkatSample(void) { HCkDateTimeW seedDt; BOOL utc; const wchar_t *ulid; HCkStringBuilderW sbUlid; int i; seedDt = CkDateTimeW_Create(); // You can set the seed time to any desired value. // In this example, the seed time is set to the current system date/time. CkDateTimeW_SetFromCurrentSystemTime(seedDt); // Generate the 1st ULID in the series. // (i.e. the current UTC UNIX-time) utc = TRUE; ulid = CkDateTimeW_ulidGenerate(seedDt,utc); wprintf(L"%s\n",ulid); // Store the ULID in a Chilkat StringBuilder to generate the series. sbUlid = CkStringBuilderW_Create(); CkStringBuilderW_Append(sbUlid,ulid); i = 0; while (i < 50) { CkDateTimeW_UlidIncrement(seedDt,sbUlid); wprintf(L"%s\n",CkStringBuilderW_getAsString(sbUlid)); i = i + 1; } // 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 CkDateTimeW_Dispose(seedDt); CkStringBuilderW_Dispose(sbUlid); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.