|
|
| Make a GUID Globally Unique Identifiers are an important part of today’s software. Look into the Windows registry, you’ll find GUIDs everywhere. A GUID is an alternative to an automatic identifier. You will not be able to generate two identical GUIDs, hence its name Globally Unique IDentifier. A GUID is 16 characters in length. Alexander Predl has made a WinDev Function which produces a different GUID on each call. PROCEDURE GetGUID() GUID is TO structure Data1 is int on 4 bytes Data2 is int on 2 bytes Data3 is int on 2 bytes Data4 is fixed array of 8 unsigned int on 1 byteEND LOCAL i is int on 4 bytes udtGuid is GUID s is string g is string i=CallDLL32("OLE32.DLL","CoCreateGuid",&udtGuid) IF i = 0 THEN s = NumToString(udtGuid:Data1, "08X")+NumToString(udtGuid:Data2, "04X")+NumToString(udtGuid:Data3, "04X") IF udtGuid:Data4[1] < 0x10 THEN s=s+"0" END s=s+NumToString(udtGuid:Data4[1],"X") IF udtGuid:Data4[2] < 0x10 THEN s=s+"0" END s=s+NumToString(udtGuid:Data4[2],"X") IF udtGuid:Data4[3] < 0x10 THEN s=s+"0" END s=s+NumToString(udtGuid:Data4[3],"X") IF udtGuid:Data4[4] < 0x10 THEN s=s+"0" END s=s+NumToString(udtGuid:Data4[4],"X") IF udtGuid:Data4[5] < 0x10 THEN s=s+"0" END s=s+NumToString(udtGuid:Data4[5],"X") IF udtGuid:Data4[6] < 0x10 THEN s=s+"0" END s=s+NumToString(udtGuid:Data4[6],"X") IF udtGuid:Data4[7] < 0x10 THEN s=s+"0" END s=s+NumToString(udtGuid:Data4[7],"X") IF udtGuid:Data4[8] < 0x10 THEN s=s+"0" END s=s+NumToString(udtGuid:Data4[8],"X")END RESULT s |
|
|
|