CreateClassID generates a new GUID and returns it as a string.UnitComObjCategoryCOM utilitiesfunction CreateClassID: string;DescriptionUse CreateClassID to create a new GUID and access it as a string. A demo of the CreateClassID function is available in the Demos area.

解决方案 »

  1.   

    Ctrl+Shift+G
    它是随机生成的自己用随机数生成
    typedef struct _GUID {
        unsigned long Data1;
        unsigned short Data2;
        unsigned short Data3;
        unsigned char Data4[8];
    } GUID;
      

  2.   

    function GetGUID:string;
    var
     id:tguid;
    begin
     if CoCreateGuid(id)=s_ok then
      result:=guidtostring(id);
    end;
      

  3.   

    uses ActiveX, ComObj;procedure TForm1.FormCreate(Sender: TObject);
    var
      vGUID: TGUID;
    begin
      CoCreateGUID(vGUID);
      Caption := GUIDToString(vGUID);
    end;循环调用以上方法即可
      

  4.   

    Private Type GUID
    Data1 As Long
    Data2 As Integer
    Data3 As Integer
    Data4(7) As Byte
    End TypePrivate Declare Function CoCreateGuid Lib "OLE32.DLL" (pGuid As GUID) As
    LongPublic Function GetGUID() As String
    '(c) 2000 Gus MolinaDim udtGUID As GUIDIf (CoCreateGuid(udtGUID) = 0) ThenGetGUID = _
    String(8 - Len(Hex$(udtGUID.Data1)), "0") & Hex$(udtGUID.Data1) & _
    String(4 - Len(Hex$(udtGUID.Data2)), "0") & Hex$(udtGUID.Data2) & _
    String(4 - Len(Hex$(udtGUID.Data3)), "0") & Hex$(udtGUID.Data3) & _
    IIf((udtGUID.Data4(0) < &H10), "0", "") & Hex$(udtGUID.Data4(0)) & _
    IIf((udtGUID.Data4(1) < &H10), "0", "") & Hex$(udtGUID.Data4(1)) & _
    IIf((udtGUID.Data4(2) < &H10), "0", "") & Hex$(udtGUID.Data4(2)) & _
    IIf((udtGUID.Data4(3) < &H10), "0", "") & Hex$(udtGUID.Data4(3)) & _
    IIf((udtGUID.Data4(4) < &H10), "0", "") & Hex$(udtGUID.Data4(4)) & _
    IIf((udtGUID.Data4(5) < &H10), "0", "") & Hex$(udtGUID.Data4(5)) & _
    IIf((udtGUID.Data4(6) < &H10), "0", "") & Hex$(udtGUID.Data4(6)) & _
    IIf((udtGUID.Data4(7) < &H10), "0", "") & Hex$(udtGUID.Data4(7))
    End IfEnd Function
      

  5.   

    //同意AmpyShccl的方法
    //当然最关键的是Windows提供的Api函数CoCreateGuid() //ole32.dlluses ComObj, ActiveX;(*
    //from ComObj.pas
    function CreateClassID: string;
    var
      ClassID: TCLSID;
      P: PWideChar;
    begin
      CoCreateGuid(ClassID);
      StringFromCLSID(ClassID, P);
      Result := P;
      CoTaskMemFree(P);
    end;
    *)procedure TForm1.Button1Click(Sender: TObject);
    begin
      Caption := CreateClassID; //function ComObj.CreateClassID
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
      vGUID: TGUID;
    begin
      CoCreateGuid(vGUID); //function ActiveX.CoCreateGuid
      Caption := GUIDToString(vGUID);
    end;嘻嘻嘻 伴水 :) 版权所有 嘻嘻嘻嘻
      

  6.   

    //同意AmpyShccl的方法
    //当然最关键的是Windows提供的Api函数CoCreateGuid() //ole32.dlluses ComObj, ActiveX;(*
    //from ComObj.pas
    function CreateClassID: string;
    var
      ClassID: TCLSID;
      P: PWideChar;
    begin
      CoCreateGuid(ClassID);
      StringFromCLSID(ClassID, P);
      Result := P;
      CoTaskMemFree(P);
    end;
    *)procedure TForm1.Button1Click(Sender: TObject);
    begin
      Caption := CreateClassID; //function ComObj.CreateClassID
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
      vGUID: TGUID;
    begin
      CoCreateGuid(vGUID); //function ActiveX.CoCreateGuid
      Caption := GUIDToString(vGUID);
    end;嘻嘻嘻 伴水 :) 版权所有 嘻嘻嘻嘻