>>PROCEDURE guid >> LOCAL lcPK,lcBuffer,i,lnHex,lnUpper,lnLower >> DECLARE INTEGER CoCreateGuid IN OLE32.DLL STRING @lcBuffer >> lcBuffer=SPACE(17) >> lcPK=SPACE(0) >> IF CoCreateGuid(@lcBuffer) = 0 >> FOR i=1 TO 16 >> lnHex=ASC(SUBSTR(lcBuffer,i,1)) >> lnUpper=INT(lnHex/16) >> lnLower=lnHex-(lnUpper*16) >> lcPK=lcPK+SUBSTR('0123456789ABCDEF',lnUpper+1,1)+; >> SUBSTR('0123456789ABCDEF',lnLower+1,1) >> ENDFOR >> ENDIF >> RETURN lcPK >> ENDPROC >> >>FUNCTION guid2 >> >>IF VAL(LEFT(VERSION(4), 2)) > 6 >> oGUID = CreateObject("scriptlet.typelib") >> cGUID = Strextract(oGUID.GUID, "{", "}" ) >>ELSE >> ** "VFP 6" >> oGUID = CreateObject("scriptlet.typelib") >> cGUID = substr( oGUID.GUID, 2, 36 ) >>ENDIF >> >>RETURN cGUID