*Function SomethingUniqueEnoughForYou :) >>Local pGUID,rGUID,lnSize >>Declare integer CoCreateGuid in 'OLE32.dll' ; >> string @pguid >>Declare integer StringFromGUID2 in 'OLE32.dll' ; >> string rguid, string @lpsz, integer cchMax >>pGUID=replicate(chr(0),16) >>rGUID=replicate(chr(0),80) >> >>If "5." $ OS() && 2000/XP >> Declare integer UuidCreateSequential in 'RPCRT4.dll' string @ Uuid >> Return substr( iif( UuidCreateSequential(@pGUID) = 0 ; >> and StringFromGUID2(pGUID,@rGUID,40) # 0, ; >> StrConv(left(rGUID,76),6), "" ), 26,12) >>Else >> Return substr( iif( CoCreateGuid(@pGUID) = 0 ; >> and StringFromGUID2(pGUID,@rGUID,40) # 0, ; >> StrConv(left(rGUID,76),6), "" ), 26,12) >>Endif >>>>PS:CoCreateGuid(@pGUID) = 0 check in fact obsolote. No check there.