• <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, 評(píng)論 - 101, 引用 - 0
            數(shù)據(jù)加載中……

            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 閱讀(293) 評(píng)論(0)  編輯 收藏 引用 所屬分類: slickedit

            国产成人精品久久亚洲高清不卡| 久久精品午夜一区二区福利| 无夜精品久久久久久| 久久精品桃花综合| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 亚洲va久久久噜噜噜久久男同 | 精品久久亚洲中文无码| 久久AV高清无码| 久久精品成人免费国产片小草| 777午夜精品久久av蜜臀| 久久久精品免费国产四虎| 7777精品伊人久久久大香线蕉| 7777久久亚洲中文字幕| 久久国内免费视频| 久久精品国产亚洲5555| 91精品国产综合久久精品| 无码任你躁久久久久久老妇App| 国产精品久久久久jk制服| 精品伊人久久久| 久久国产视屏| 精品久久一区二区| 亚洲中文字幕久久精品无码喷水| 久久精品国产色蜜蜜麻豆| 国产99精品久久| 久久夜色精品国产网站| 伊人久久精品影院| 久久免费99精品国产自在现线| 精品国产福利久久久| 久久精品国产精品亚洲毛片| 无码超乳爆乳中文字幕久久| 久久亚洲中文字幕精品一区| 久久久久亚洲精品中文字幕| 亚洲综合久久综合激情久久| 久久精品免费观看| 久久久久久久尹人综合网亚洲 | 精品国产青草久久久久福利| 丰满少妇高潮惨叫久久久| 久久精品国产亚洲AV无码娇色| 久久综合88熟人妻| 久久99久久99精品免视看动漫| 欧美精品乱码99久久蜜桃|