*--GETGUID.PRG * *------------------------------------------------------------------------------------------------ *Example *lnguid=getguid() *?lnguid DECLARE INTEGER CoCreateGuid ; IN Ole32.dll ; STRING @lcGUIDStruc DECLARE INTEGER StringFromGUID2 ; IN Ole32.dll ; STRING cGUIDStruc, ; STRING @cGUID, ; LONG nSize cStrucGUID=SPACE(16) cGUID=SPACE(80) nSize=40 IF CoCreateGuid(@cStrucGUID) # 0 RETURN "" ENDIF IF StringFromGUID2(cStrucGUID,@cGuid,nSize) = 0 RETURN "" ENDIF RETURN STRCONV(LEFT(cGUID,76),6)You can strip out the { and - :
LPARAMETERS lresult IF TYPE('lresult')="L" lresult = '' ENDIF lresult=getguid() ? lresult RETURN Function GetGuid() declare integer CoCreateGuid in ole32 string @ declare integer StringFromGUID2 in ole32 string,string @,integer local guid, guidString, n, s guid = space(16) do case case empty(CoCreateGuid(@guid)) guidString = space(78) n = StringFromGUID2(guid, @guidString,len(guidString)) do case case n = len(guidString)/2 s = chrtran(guidString, chr(0) + '-{}', '') return s otherwise assert FALSE return Null endcase otherwise assert FALSE return Null ENDCASE return guid endfuncThink I got the 2nd example originally from Sergey...