SQL GUID 2 String (Compression)
2 functions to convert a 38 character GUID eg. {2E1EFAD8-4AD9-48A6-B9A9-75505F2B9A51} to a compact/compressed 16 character VB String eg. @#$%
AI
Podsumowanie AI: This codebase represents a historical implementation of the logic described in the metadata. Our preservation engine analyzes the structure to provide context for modern developers.
Kod źródłowy
Public Function GUID2ID(ByRef InGUID As String) As String
Dim Hex As String * 4
Let GUID2ID = Space$(16)
Let Hex = "&H00"
Mid$(Hex, 3, 2) = Mid$(InGUID, 2, 2)
Mid$(GUID2ID, 1, 1) = Chr$(CLng(Hex))
Mid$(Hex, 3, 2) = Mid$(InGUID, 4, 2)
Mid$(GUID2ID, 2, 1) = Chr$(CLng(Hex))
Mid$(Hex, 3, 2) = Mid$(InGUID, 6, 2)
Mid$(GUID2ID, 3, 1) = Chr$(CLng(Hex))
Mid$(Hex, 3, 2) = Mid$(InGUID, 8, 2)
Mid$(GUID2ID, 4, 1) = Chr$(CLng(Hex))
Mid$(Hex, 3, 2) = Mid$(InGUID, 11, 2)
Mid$(GUID2ID, 5, 1) = Chr$(CLng(Hex))
Mid$(Hex, 3, 2) = Mid$(InGUID, 13, 2)
Mid$(GUID2ID, 6, 1) = Chr$(CLng(Hex))
Mid$(Hex, 3, 2) = Mid$(InGUID, 16, 2)
Mid$(GUID2ID, 7, 1) = Chr$(CLng(Hex))
Mid$(Hex, 3, 2) = Mid$(InGUID, 18, 2)
Mid$(GUID2ID, 8, 1) = Chr$(CLng(Hex))
Mid$(Hex, 3, 2) = Mid$(InGUID, 21, 2)
Mid$(GUID2ID, 9, 1) = Chr$(CLng(Hex))
Mid$(Hex, 3, 2) = Mid$(InGUID, 23, 2)
Mid$(GUID2ID, 10, 1) = Chr$(CLng(Hex))
Mid$(Hex, 3, 2) = Mid$(InGUID, 26, 2)
Mid$(GUID2ID, 11, 1) = Chr$(CLng(Hex))
Mid$(Hex, 3, 2) = Mid$(InGUID, 28, 2)
Mid$(GUID2ID, 12, 1) = Chr$(CLng(Hex))
Mid$(Hex, 3, 2) = Mid$(InGUID, 30, 2)
Mid$(GUID2ID, 13, 1) = Chr$(CLng(Hex))
Mid$(Hex, 3, 2) = Mid$(InGUID, 32, 2)
Mid$(GUID2ID, 14, 1) = Chr$(CLng(Hex))
Mid$(Hex, 3, 2) = Mid$(InGUID, 34, 2)
Mid$(GUID2ID, 15, 1) = Chr$(CLng(Hex))
Mid$(Hex, 3, 2) = Mid$(InGUID, 36, 2)
Mid$(GUID2ID, 16, 1) = Chr$(CLng(Hex))
End Function
Public Function ID2GUID(ByRef InID As String) As String
Let ID2GUID = "{12345678-1234-1234-1234-123456789012}"
Mid$(ID2GUID, 2, 2) = Format$(Hex$(Asc(InID)), "@@")
Mid$(ID2GUID, 4, 2) = Format$(Hex$(Asc(Right$(InID, 15))), "@@")
Mid$(ID2GUID, 6, 2) = Format$(Hex$(Asc(Right$(InID, 14))), "@@")
Mid$(ID2GUID, 8, 2) = Format$(Hex$(Asc(Right$(InID, 13))), "@@")
Mid$(ID2GUID, 11, 2) = Format$(Hex$(Asc(Right$(InID, 12))), "@@")
Mid$(ID2GUID, 13, 2) = Format$(Hex$(Asc(Right$(InID, 11))), "@@")
Mid$(ID2GUID, 16, 2) = Format$(Hex$(Asc(Right$(InID, 10))), "@@")
Mid$(ID2GUID, 18, 2) = Format$(Hex$(Asc(Right$(InID, 9))), "@@")
Mid$(ID2GUID, 21, 2) = Format$(Hex$(Asc(Right$(InID, 8))), "@@")
Mid$(ID2GUID, 23, 2) = Format$(Hex$(Asc(Right$(InID, 7))), "@@")
Mid$(ID2GUID, 26, 2) = Format$(Hex$(Asc(Right$(InID, 6))), "@@")
Mid$(ID2GUID, 28, 2) = Format$(Hex$(Asc(Right$(InID, 5))), "@@")
Mid$(ID2GUID, 30, 2) = Format$(Hex$(Asc(Right$(InID, 4))), "@@")
Mid$(ID2GUID, 32, 2) = Format$(Hex$(Asc(Right$(InID, 3))), "@@")
Mid$(ID2GUID, 34, 2) = Format$(Hex$(Asc(Right$(InID, 2))), "@@")
Mid$(ID2GUID, 36, 2) = Format$(Hex$(Asc(Right$(InID, 1))), "@@")
Let ID2GUID = Replace$(ID2GUID, " ", "0")
End Function
Oryginalne komentarze (3)
Odzyskane z Wayback Machine