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

            亚洲午夜久久久久久噜噜噜| 五月丁香综合激情六月久久 | 国产亚洲欧美成人久久片| 国产精品女同久久久久电影院| 久久精品蜜芽亚洲国产AV| 国产精品久久久天天影视香蕉 | 久久大香香蕉国产| 四虎国产精品免费久久久| 怡红院日本一道日本久久| 亚洲国产日韩欧美久久| 久久久噜噜噜久久中文福利| 久久亚洲精品视频| 久久99热这里只有精品66| 精品一区二区久久久久久久网站| 99久久99久久精品国产片| 精品久久久久久久久午夜福利| 久久国产精品99精品国产987| 久久乐国产精品亚洲综合| 久久99国产综合精品免费| 久久伊人色| 一级做a爰片久久毛片人呢| 奇米影视7777久久精品人人爽| 久久天堂电影网| 2021少妇久久久久久久久久| 婷婷国产天堂久久综合五月| 久久99热精品| 亚洲午夜久久久久久噜噜噜| 青青热久久国产久精品 | 久久午夜夜伦鲁鲁片免费无码影视 | 亚洲国产日韩综合久久精品| 久久久青草青青亚洲国产免观| 久久久久人妻一区二区三区 | 久久久噜噜噜久久中文字幕色伊伊| 国产精品美女久久久m| 久久妇女高潮几次MBA| 久久精品免费全国观看国产| 日产久久强奸免费的看| 久久99精品久久久久久不卡| 久久国产影院| 亚洲AV无码久久精品色欲| 久久久高清免费视频|