äÁ ÅÝÅ Ô.Ë. ×ÓÅÖ ÈÏÔÅÌÏÓØ ÓÜËÏÎÏÍÉÔØ ÎÁ ÍÅÓÔÅ ÒÁÚ ÕÖ ÏÔ ÐÏÒÑÄËÁ ÎÉÞÅÇÏ ÎÅ ÚÁÍÉÓÉÔ. òÅÛÉÌ ÐÏÓÍÏÔÒÅÔØ PackGUID ÔÁÍ ÅÓÔØ ÎÅÔÏÞÎÏÓÔÉ
function NxPackGUID (AGUID : TGUID) : string; var A : packed array [0..16] of byte absolute AGUID; ÄÏÌÖÎÏ ÂÙÔØ 0..15 Ô.Ë. TGUID 16 ÂÁÊÔ N := ((A [P] and $07) shl 2) or ((A [succ (P)] and $C0) shr 6); Ñ ÔÁË ÐÏÎÉÍÁÀ succ (P) ÎÁÄÏ ÔÏÖÅ ËÏÔÒÏÌÉÒÏ×ÁÔØ ÐÏÜÔÏÍÕ ÄÏÌÖÎÏ ÂÙÔØ ÔÁË N := ((A [P] and $07) shl 2); if P <= 14 then N := N or ((A [succ (P)] and $C0) shr 6); ÄÁÂÙ ÎÅ ÐÏÊÍÁÔØ ÍÕÓÏÒ × 17 ÂÁÊÔÅ ;) PS ÐÏÔÏÍ ÐÏÞÅÍÕÔÏ ÓÔÒÁÎÎÏÅ ÏÂÒÅÚÁÎÉÅ ÃÉÆÒÏ×ÏÊ ÞÁÓÔÉ, ÏÒÁÔÎÏÅ ÐÏÎÉÍÁÎÉÅ ÒÁÓÐÏÌÏÖÅÎÉÅ ÂÉÔÏ× ÐÒÉÎÑÔØ ÓÞÉÔÁÔØ ÐÅÒ×ÙÍ ÂÉÔÏÍ ÒÁ×ÙÊ. ïÂÙÞÎÏ ÐÒÉÎÑÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÞÉÓÌÁ ÐÏÌÎÏÓÔØÀ Á ÔÁÍ ÐÏÞÅÍÕÔÏ ÔÏÌØËÏ ÄÏ 6. ðÏÒÙÌÓÑ × ÎÅÔÅ ÎÉÞÅÇÏ ÕÍÎÏÇÏ ÐÏ ÐÏ×ÏÄÕ ÐÁËÏ×ËÉ ÎÅÎÁÛÅÌ. ìÁÄÎÏ ÆÉÇÎÑ ÜÔÏ ×ÓÅ. ëÏÍÕ ÉÎÔÅÒÅÓÎÏ Ñ ÎÁÐÉÓÁÌ 2 ×ÁÒÉÁÎÔÁ ÐÁËÏ×ÏË GUID ÐÏ ËÏÄÉÒÏ×ËÁÍ Ó ÕÞÅÔÏÍ ÒÁÓÐÏÌÏÖÅÎÉÑ ÂÉÔ. 32 ÚÎÁËÁ // LetersPack26 = '0123456789ABCDEFGHIJKLMNOPQRSTUV'; ÐÁËÕÅÔÓÑ ÄÏ 26 ÚÎÁËÏ× 64 ÚÎÁËÁ // LetersPack22 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-+'; ÐÁËÕÅÔÓÑ ÄÏ 22 ÚÎÁËÏ× (4 ÚÎÁËÁ ÜÔÏ ÎÅÍÁÌÏ ÏÄÎÁËÏ) É ÅÄÉÎÁÑ ÆÕÎËÃÉÑ ËÏÔÏÒÁÑ ÌÅÇËÏ ÒÁÓÐÁËÏ×Ù×ÁÅÔ 22, 26, 36 ÍÏÇÕ ×ÙÌÏÖÉÔØ.