• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            tqsheng

            go.....
            隨筆 - 366, 文章 - 18, 評論 - 101, 引用 - 0
            數據加載中……

            GUID generation : Slick-C version

            http://community.slickedit.com/index.php/topic,202.html 


            GUID generation : Slick-C version
            « on: July 31, 2006, 05:20:58 PM »
            The earlier post on uuidgen prompted me to share my own macro implementation that I created for my own use a few months ago. This  macro implementation is self-contained, and doesn't shell out to any other utilties.

            There are 3 commands and 1 function for generating GUIDs:

            insert_guid(_str format = 'B'); (command)
            This generates a new GUID, formatted according to format specifier parameter, and inserts it at the current position in the buffer. Default is Brace Format.
            Use it on the command line like so:
            Code: [Select]
            insert-guid g
            copy_guid(_str format = 'B'); (command)
            Same as above, but places the results on the clipboard. This way you can generate a GUID without having an edit buffer open. On the command line:
            Code: [Select]
            copy-guid b
            gui_insert_guid(); (command)
            Shows a small dialog, allowing you to generate multiple GUIDs, or to insert the same GUID in multiple string formats.

            _str guid_create_string(_str format); (function)
            Works the same as insert_guid, but returns the string. For use in your own macro functions and forms.

            The string formats for GUID output are documented in the source guidgen.e, at the top, in the Javadoc for insert_guid. But to pique
            your interest...
            • 'B' - Brace format: {F3410386-1DBB-4035-A293-440A106A6665}
            • 'G' - General format: F3410386-1DBB-4035-A293-440A106A6665
            • 'P' - Paren format: (F3410386-1DBB-4035-A293-440A106A6665)
            • 'N' - Number format: F34103861DBB4035A293440A106A6665
            • 'C' - Const declaration: static const GUID <<name>> = { 0xf3410386, 0x1dbb, 0x4035, { 0xa2, 0x93, 0x44, 0xa, 0x10, 0x6a, 0x66, 0x65 } };
            • 'D' - DEFINE_GUID macro: DEFINE_GUID(<<name>>, 0x17342D4B, 0x906F, 0x4706, 0x0F, 0xAC, 0xC5, 0x8E, 0x4D, 0xE7, 0x32, 0x29);
            • 'O' - IMPLEMENT_OLECREATE macro: IMPLEMENT_OLECREATE(<<class>>, <<external_name>>, 0xf3410386, 0x1dbb, 0x4035, 0xa2, 0x93, 0x44, 0xa, 0x10, 0x6a, 0x66, 0x65);

            In my own testing I have generated over 50,000 GUIDs without a duplicate, so the algorithm looks to be holding up so far.
            But if you'd like to verify the reliability before using in your own code, I have provided some unit testing commands as well.
            Open an empy edit buffer and run the following command line:
            Code: [Select]
            guid-unittest-duplicates 200, where 200 is the number of GUIDs you want to create. This will populate the
            buffer with the requested number of GUIDs in brace format using insert_guid('b');. Any number less than 
            2000 should complete in a reasonable amount of time. 2000 takes around 5 seconds on my Pentium M 2.0 GHz, 1 GB RAM. The results of 
            the unit testing are displayed in the VSAPI message window since it uses the say() funtion. You can run the unit test multiple times in
            the same edit buffer, and it will append the results to the end of the previous test.

            For those of you interested in such things, the GUIDs generated are created (and marked) as version 4. This means
            that all bytes of the GUID were created using a random number, and does not use a MAC address as a basis.

            posted on 2012-04-24 15:26 tqsheng 閱讀(294) 評論(0)  編輯 收藏 引用 所屬分類: slickedit

            亚洲美日韩Av中文字幕无码久久久妻妇 | 久久婷婷国产剧情内射白浆| 久久久久无码国产精品不卡| 久久精品国产免费观看三人同眠| 久久久无码精品亚洲日韩按摩 | 热re99久久6国产精品免费| 久久午夜羞羞影院免费观看| 成人久久久观看免费毛片| 久久久WWW成人免费毛片| 久久人人爽爽爽人久久久| 国产精品激情综合久久| 中文字幕无码免费久久| 久久国产精品一区| 久久精品水蜜桃av综合天堂| 国产综合精品久久亚洲| 婷婷五月深深久久精品| 亚洲а∨天堂久久精品| 伊人久久大香线蕉精品| 色狠狠久久AV五月综合| 噜噜噜色噜噜噜久久| 国产叼嘿久久精品久久| 久久A级毛片免费观看| 久久亚洲日韩看片无码| 性做久久久久久久久久久| 久久综合狠狠综合久久激情 | 久久人人爽人人澡人人高潮AV| 午夜精品久久久久久99热| 热久久最新网站获取| 久久亚洲精品无码播放| 国产福利电影一区二区三区久久久久成人精品综合 | 久久精品视频网| 久久精品中文字幕无码绿巨人| 久久久久精品国产亚洲AV无码| 精品欧美一区二区三区久久久 | 97久久超碰国产精品2021| 国产亚洲美女精品久久久2020| 久久婷婷是五月综合色狠狠| 午夜精品久久久内射近拍高清| 亚洲国产成人乱码精品女人久久久不卡| 亚洲一区中文字幕久久| 亚洲国产精品一区二区久久|