- 
GUID生成代码
作者: 许泽博 发布: 2016/10/5 分类: 软件 阅读: 次 查看评论
 -  
VB
OptionExplicitPrivateType GUIDData1AsLongData2AsIntegerData3AsIntegerData4(8)AsByteEndTypePrivateDeclareFunctionCoCreateGuidLib"ole32.dll"(pguidAsGUID)AsLongPrivateDeclareFunctionStringFromGUID2Lib"ole32.dll"(rguidAsAny,ByVallpstrClsIdAsLong,ByValcbMaxAsLong)AsLongPrivateFunctionGUIDGen()AsString'生成GUIDDimuGUIDAsGUIDDimsGUIDAsStringDimbGUID()AsByteDimlLenAsLongDimRetValAsLonglLen = 40bGUID =String(lLen, 0)CoCreateGuid uGUID'把结构转换为一个可显示的字符串RetVal = StringFromGUID2(uGUID, VarPtr(bGUID(0)), lLen)sGUID = bGUIDIf(Asc(Mid$(sGUID, RetVal, 1)) = 0)ThenRetVal = RetVal - 1GUIDGen = Left$(sGUID, RetVal)EndFunctionC++
#include <objbase.h>#include <stdio.h>//--生成GUIDconstchar* newGUID(){staticcharbuf[64] = {0};GUID guid;if(S_OK == ::CoCreateGuid(&guid)){_snprintf(buf,sizeof(buf),"{%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X}", guid.Data1, guid.Data2, guid.Data3, guid.Data4[0], guid.Data4[1], guid.Data4[2], guid.Data4[3], guid.Data4[4], guid.Data4[5], guid.Data4[6], guid.Data4[7]);}return(constchar*)buf;}intmain(intargc,char* argv[]){//--COMCoInitialize(NULL);printf(newGUID());printf("\n");//--COMCoUninitialize();return0;}Delphi
usesActiveX;functionctGUID:string;varid:TGUID;beginCoCreateGuid(id);Result:=GUIDToString(id);end;C
usingSystem;namespaceGUID测试{classProgram{staticvoidMain(string[] args){//产生一个新的GUID并输出Console.WriteLine(System.Guid.NewGuid());Console.ReadKey();}}}Java
importjava.util.UUID;publicclassguid {/*** @param args*/publicstaticvoidmain(String[] args) {// TODO Auto-generated method stubUUID uuid = UUID.randomUUID();System.out.println(".{"+uuid.toString()+"}");}}OC
NSString * get_uuid(){CFUUIDRef uuid_ref = CFUUIDCreate(NULL);CFStringRef uuid_string_ref= CFUUIDCreateString(NULL, uuid_ref);CFRelease(uuid_ref);NSString *uuid = [NSStringstringWithString:(NSString*)uuid_string_ref];CFRelease(uuid_string_ref);return uuid;}Pascal
FunctionGuid_Gen:ansistring;Vars:string;i:longint;Begins:='0123456789abcdef';//8-4-4-4-12Guid_Gen:='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx';fori:=1tolength(Guid_Gen)dobeginifGuid_Gen[i]='x'thenGuid_Gen[i]:=s[Random(16)+1];end;End;易语言
.版本 2.DLL命令 CoCreateGuid, ,"ole32","CoCreateGuid".参数 guid, 字节集.版本 2.子程序 生成新的GUID, 文本型.局部变量 guid, 字节集.局部变量 a, 长整数型.局部变量 b, 整数型.局部变量 c, 整数型.局部变量 s, 文本型.局部变量 i, 整数型guid = 取空白字节集 (16)CoCreateGuid (guid)a = 取字节集数据 (取字节集左边 (guid, 4), #长整数型, )b = 取字节集数据 (取字节集中间 (guid, 5, 2), #整数型, )c = 取字节集数据 (取字节集中间 (guid, 7, 2), #整数型, )s = “”s = s + 取文本右边 (“00000000” + 取十六进制文本 (a), 8) + “-”s = s + 取文本右边 (“0000” + 取十六进制文本 (b), 4) + “-”s = s + 到小写 (取文本右边 (“0000” + 取十六进制文本 (c), 4)) + “-”' 第三部分中的字母为小写字母.计次循环首 (8, i)s = s + 取文本右边 (“00” + 取十六进制文本 (guid [i + 8]), 2).如果真 (i = 2)s = s + “-”.如果真结束.计次循环尾 ()返回 (“{” + s + “}”)PHP
public
functioncreate_guid(){$charid=strtoupper(md5(uniqid(mt_rand(), true)));$hyphen=chr(45);// "-" $uuid = substr($charid, 6, 2).substr($charid, 4, 2).substr($charid, 2, 2).substr($charid, 0, 2).$hyphen .substr($charid, 10, 2).substr($charid, 8, 2).$hyphen .substr($charid,14, 2).substr($charid,12, 2).$hyphen .substr($charid,16, 4).$hyphen .substr($charid,20,12); return $uuid; }Excel VBA
FunctionGetGuidToString()AsStringGetGuidToString = LCase(Mid$(CreateObject("Scriptlet.TypeLib").GUID, 2, 36))EndFunction原创文章,转载请注明出处!标签: Visual Studio 编程
 

评论列表: