Rubrik: Variablen/Strings · Sonstiges | VB-Versionen: VB4, VB5, VB6 | 03.04.02 |
Erzeugen einer eindeutigen 128-Bit Ganzzahl Sie brauchen einen eindeutigen numerischen Wert? Eine 128-Bit Ganzzahl? Eine GUID? Dann ist das hier genau das Richtige. | ||
Autor: Dieter Otter | Bewertung: | Views: 20.003 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Sie benötigen einen eindeutigen numerischen Wert? Eine 128-Bit Ganzzahl? Eine GUID?
Dann haben wir was für Sie
GUID steht für Global Unique IDentifier und bedeutet soviel wie "globale und eindeutige ID".
Mit der CoCreateGUID-Funktion lassen sich eindeutige 128-Bit Ganzzahlen erzeugen. Die Wahrscheinlichkeit, daß genau diese ermittelte Zahl nochmals ermittelt wird (egal, auf welchem System) liegt bei fast Null. Üblicherweise werden GUIDS als eindeutige ClassIDs für Objekte und Komponenten verwendet. Was Sie mit der 128-Bit Ganzzahl anstellen, bleibt jedoch Ihnen überlassen.
Und so geht's:
' hier die benötigten API-Deklarationen Private Type GUID bytes(15) As Byte End Type Private Declare Function CoCreateGuid Lib "OLE32.DLL" ( _ pGUID As GUID) As Long Private Declare Function StringFromGUID2 Lib "OLE32.DLL" ( _ pGUID As GUID, _ ByVal lpszString As String, _ ByVal lMax As Long) As Long
' Eindeutige 128-Bit Ganzzahl erzeugen (GUID) Private Function CreateGUID() As String Dim tGUID As GUID Dim lngSize As Long Dim sGUID As String ' GUID erzeugen CoCreateGuid tGUID ' nach ANSI konvertieren sGUID = Space$(78) lngSize = StringFromGUID2(tGUID, sGUID, Len(sGUID)) sGUID = Left$(StrConv(sGUID, vbFromUnicode), lngSize - 1) CreateGUID = sGUID End Function