Code: Select all
; Uses aXends 'COMLIB' userlib!
;
; If 'COMLIB' is not available use the following
; Uni2Ansi-Procedure ((c) aXend):
;
Procedure.s Uni2Ansi(*Unicode)
size.l = WideCharToMultiByte_(#CP_ACP, 0, *Unicode, -1, #Null, #Null, #Null, #Null)
ansi.s=Space(size)
WideCharToMultiByte_(#CP_ACP, 0, *Unicode, -1, @ansi, size, #Null, #Null)
ProcedureReturn ansi
EndProcedure
Procedure.s GUIDcreate()
g.GUID
If CoCreateGuid_(@g) = #S_OK
unicodeGUID$ = Space(78)
GUIDLen = StringFromGUID2_(g, @unicodeGUID$, Len(unicodeGUID$))
CompilerIf #PB_Compiler_Unicode
ansiGUID$ = unicodeGUID$
CompilerElse
ansiGUID$ = Left(Uni2Ansi(@unicodeGUID$), GUIDLen-1)
CompilerEndIf
EndIf
ProcedureReturn ansiGUID$
EndProcedure
Debug GUIDcreate()