<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-11915723</id><updated>2012-02-16T15:01:05.833-08:00</updated><title type='text'>My ZoneX</title><subtitle type='html'>Waiting for Blogger Beta2!!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11915723.post-115857429267924812</id><published>2006-09-18T03:10:00.000-07:00</published><updated>2006-09-18T03:11:32.833-07:00</updated><title type='text'>Waiting to move on Blogger 2</title><content type='html'>Im here for  &lt;span style="font-weight: bold;"&gt;waiting to move on Blogger 2!!! &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-115857429267924812?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/115857429267924812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=115857429267924812' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/115857429267924812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/115857429267924812'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2006/09/waiting-to-move-on-blogger-2.html' title='Waiting to move on Blogger 2'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-114102973012062920</id><published>2006-02-27T00:37:00.000-08:00</published><updated>2006-02-27T00:42:10.376-08:00</updated><title type='text'>.NET Useful Link : Create Property Macro</title><content type='html'>You just declare  one variable.   Then ***.  Oww!  it has been changed to private and public property.&lt;br /&gt;&lt;br /&gt;Here is the magic.&lt;br /&gt;&lt;br /&gt;Create Property Macro for VS.NET&lt;br /&gt;http://www.reflectionit.nl/Macro.aspx&lt;br /&gt;&lt;br /&gt;Thanks to &lt;strong&gt;Fons Sonnemans.&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-114102973012062920?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/114102973012062920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=114102973012062920' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/114102973012062920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/114102973012062920'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2006/02/net-useful-link-create-property-macro.html' title='.NET Useful Link : Create Property Macro'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113980842318441173</id><published>2006-02-12T21:26:00.000-08:00</published><updated>2006-02-12T21:27:03.420-08:00</updated><title type='text'>Top Ten Web-Design Mistakes</title><content type='html'>&lt;a href="http://www.useit.com/alertbox/990530.html"&gt;The Top Ten New Mistakes of Web Design (May 30, 1999)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.useit.com/alertbox/20021223.html"&gt;Top Ten Web-Design Mistakes of 2002&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.useit.com/alertbox/20031222.html"&gt;Top Ten Web Design Mistakes of 2003&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.useit.com/alertbox/designmistakes.html"&gt;Top Ten Web Design Mistakes of 2005&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Good WebSite for Web Design&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;useit.com: Jakob Nielsen's Website&lt;a href="http://www.useit.com/"&gt;&lt;br /&gt;&lt;br /&gt;http://www.useit.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113980842318441173?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113980842318441173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113980842318441173' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113980842318441173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113980842318441173'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2006/02/top-ten-web-design-mistakes.html' title='Top Ten Web-Design Mistakes'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113722674175605549</id><published>2006-01-14T00:16:00.000-08:00</published><updated>2006-01-14T00:19:12.180-08:00</updated><title type='text'>Easy - Reg/Unreg DLL for VB6</title><content type='html'>The first thing we're going to do is understand just how Windows knows about this type of file and what exactly Windows will do with the file, based on which menu item you click. Open up your registry editor. If you haven't opened it before, just click on the Start button and click Run.... In the Run dialog, type regedit and press Enter. This will open up the Windows Registry editor. For those of you who've been here before, bear with those who haven't. What you'll see in the left portion of the Registry Editor window are called registry hives. You may see four, five, six, or more hives. They have names like HKEY_CLASSES_ROOT, HKEY_LOCAL_MACHINE, etc.. Next to each hive, you can click on the + sign just like in Windows Explorer to expand that hive. The values appearing under each hive are called subkeys. Sometimes, you'll see only a few subkeys under a hive. Sometimes, you'll see hundreds. Let's expand the first hive, HKEY_CLASSES_ROOT. The first subkeys you'll see look like file extensions. Scroll down this list until you get to the .txt subkey and click on it. If you don't feel like scrolling through the list, select the first subkeys and type .txt rapidly. The Registry Editor will watch the keys as you type them and zoom you down the list quickly to the entry that matches what you type. Either way, once you've located the .txt subkey, click on it. In the right-hand window of the Registry Editor, you'll see at least one item, possibly two. The one you will definitely see is called (Default). The items appearing on this side of the Editor are called values. Each value has a name and, well, a value. The (Default) value probably has a value of something like "txtfile". Let's use this value to continue our search. Click on the .txt subkey again (just in case you clicked somewhere else) and type txtf quickly. Again, depending on what is installed on your system, the Registry Editor will probably jump you quickly down to a subkey called txtfile. The name of this subkey matches the value of the (Default) value for .txt. This subkey is used by the Windows shell to provide additional information about files ending with .txt. If you expand the txtfile subkey, you'll see a lower-level subkey called shell. Sound familiar? If you think it's a subkey used by the Windows shell, give yourself a gold star. Expand the shell subkey. Here's where it gets really exciting. Okay maybe I need to get a life. Anyway, the subkeys appearing under the shell subkey will resemble the items appearing in the context menu in the Windows Explorer. Bingo - you're there! When you right-click a file in the Windows Explorer, it comes to the shell section for the type of file you right-clicked on and build the context menu dynamically based on what it finds. The actual text of the context menu can be in two different places. The first is the actual subkey name appearing under the shell subkey. The second is the value that appears in the (Default) value. From one of these two places, the context menu is built and shown.&lt;br /&gt;The next thing that would happen in the Windows explorer is probably you clicking on one of the menu items. Let's use Open as an example. Go back to the Registry Editor and expand the Open subkey under shell. You'll see another subkey called command. If you click on the command subkey, you'll see that the (Default) value has a value. If you double-click (Default), the Edit String dialog will open. If you're using the default text file editor installed by Windows, you'll see Notepad.exe somewhere in the string value. That means that Windows will use the Notepad.exe application to open files with the .txt extension. But how does Windows know what file to open? Well, the other thing you'll see, along with notepad.exe, is %1. %1 is a token that will be replaced on the fly with the name of the file you right-clicked on. So, let's say you were in the root on your C drive and you right-clicked on a file called foo.txt. When you click the Open item, the shell launches notepad passing c:\foo.txt on the notepad command line, which instructs notepad to open the file. That's all there is to it! Take a quick look at the print subkey under shell. This item provides the command line for printing text files. You see how it's done. The Shell calls notepad and passes a /p and %1 (the file name) on the command line. The /p instructs notepad to print the file it opens. Piece of cake right?&lt;br /&gt;&lt;br /&gt;&lt;a name="WHY"&gt;But Why?&lt;/a&gt;&lt;br /&gt;By now, you're probably wondering what all this has to do with VB. Well, I use this information to help me work with files that we VBers typically work with. Let's say you create quite a few DLLs in you current assignment. If you do, you know that quite often, you find yourself registering and unregistering DLLs while you test. You may open a DOS box or you may open the Run dialog, but you end up somewhere typing in&lt;br /&gt;regsvr32 C:\the very long\path to a DLL\I wrote in VB\yesterday\foo.dll&lt;br /&gt;What a drag eh? Well, never again. What did we just learn? How to get the Shell to execute a command for us, based on the file extension. Ah, I see the lights coming on. Piece of cake right? Open the Registry Editor (if it isn't still open from before) and navigate your way to&lt;br /&gt;HKEY_CLASSES_ROOT\dllfile&lt;br /&gt;If there isn't already a subkey called shell under dllfile, create one. Under shell, create two new subkeys; Register and Unregister. Create a command subkey under each of these. In the (Default) value for the shell\Register\command subkey, enter&lt;br /&gt;regsvr32 "%1"&lt;br /&gt;For the shell\Unregister\command (Default) value, enter&lt;br /&gt;regsvr32 -u "%1"&lt;br /&gt;These command lines, as I'm sure you know, register and unregister COM DLLs. To try them out, open the Windows Explorer and locate one of your VB DLLs. Right click on it and, if we've done things right, Register and Unregister will appear in the context menu. Click Register and you'll see the familiar DllRegisterServer...succeeded message. You did it! You'll never have to type that command out again.&lt;br /&gt;&lt;br /&gt;&lt;a name="IDEAS"&gt;Other Ideas&lt;/a&gt;&lt;br /&gt;Now that you have the basic idea, what else could you do? Well, I often find myself opening project files or forms in Notepad to look through them for something when I don't really feel like opening a new instance of VB. So what I did was add a new shell subkey for all my VB-related files like .cls, .frm, .vbp, and .vbg. As a quick refresher:&lt;br /&gt;- navigate to HKEY_CLASSES_ROOT\.cls (for example)&lt;br /&gt;- you'll see the (Default) value says VisualBasic.ClassModule&lt;br /&gt;- navigate to HKEY_CLASSES_ROOT\VisualBasic.ClassModule\shell&lt;br /&gt;- add a new subkey called Open with Notepad&lt;br /&gt;- add a subkey under this called command&lt;br /&gt;- set the (Default) value to&lt;br /&gt;notepad.exe "%1"&lt;br /&gt;&lt;br /&gt;&lt;a name="TAKEIT"&gt;You Can Take It From Here&lt;/a&gt;&lt;br /&gt;You can apply this same set of steps to just about any file type in your system. Then, once you've added all the necessary subkeys and commands, you can just right click a file to get at your most commonly used commands! If you ever need to remove one of the commands you added, just delete the subkey under shell and it will go away.&lt;br /&gt;This week's article may not be directly related to VB, but it is directly related to your productivity. The faster you can get things done, the more productive you'll be. It doesn't matter whether it's coding that new DLL, or registering it and unregistering quickly while you're testing; both add to your productivity!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Original&lt;br /&gt;&lt;a href="http://www.earldamron.com/articles/associations.html"&gt;And Now, For Something a Little Different&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113722674175605549?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113722674175605549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113722674175605549' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113722674175605549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113722674175605549'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2006/01/easy-regunreg-dll-for-vb6.html' title='Easy - Reg/Unreg DLL for VB6'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113626395739026015</id><published>2006-01-02T20:26:00.000-08:00</published><updated>2006-01-02T20:52:37.576-08:00</updated><title type='text'>Tips : Windows Y2k &amp; XP</title><content type='html'>&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;263201&amp;amp;sd=tech"&gt;Default Processes in Windows 2000&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/?kbid=314056"&gt;A description of Svchost.exe in Windows XP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113626395739026015?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113626395739026015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113626395739026015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113626395739026015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113626395739026015'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2006/01/tips-windows-y2k-xp.html' title='Tips : Windows Y2k &amp; XP'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113618942535789591</id><published>2006-01-02T00:10:00.000-08:00</published><updated>2006-01-02T00:11:19.360-08:00</updated><title type='text'>Rpt - FormatWhiteSpace</title><content type='html'>&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;In HTML, &lt;/strong&gt;&lt;br /&gt;&amp;lt;asp:Repeater id="Repeater1" runat="server"&amp;gt;&lt;br /&gt;&amp;lt;HeaderTemplate&amp;gt;&lt;br /&gt;&amp;lt;table cellpadding=0 cellspacing=0 border=1&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;lt;td&amp;gt;Product Name&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;td&amp;gt;Unit Price&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;/HeaderTemplate&amp;gt;&lt;br /&gt;&amp;lt;ItemTemplate&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;%# DataBinder.Eval(Container.DataItem, "ProductName") %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;%# FormatWhiteSpace(DataBinder.Eval(Container.DataItem, "UnitPrice")) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;/ItemTemplate&amp;gt;&lt;br /&gt;&amp;lt;FooterTemplate&amp;gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&amp;lt;/FooterTemplate&amp;gt;&lt;br /&gt;&amp;lt;/asp:Repeater&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;In vb,&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;''Change [ null,0 ] to &amp;quot;&amp;quot;&lt;br&gt;&lt;br /&gt;Protected Function FormatWhiteSpace(ByVal argVal) As String&lt;br&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If argVal Is DBNull.Value Then&lt;br&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return &amp;quot; &amp;quot;&lt;br&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf argVal = 0 Then&lt;br&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return &amp;quot; &amp;quot;&lt;br&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return argVal&lt;br&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;&lt;br /&gt;End Function&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113618942535789591?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113618942535789591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113618942535789591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113618942535789591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113618942535789591'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2006/01/rpt-formatwhitespace.html' title='Rpt - FormatWhiteSpace'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113618851402708189</id><published>2006-01-01T23:54:00.000-08:00</published><updated>2006-01-01T23:57:30.993-08:00</updated><title type='text'>Thousand Seperator</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;There are two ways to display number with thousand seperators. [ Eg: 1,000,000 ]&lt;br /&gt;About Number&lt;br /&gt;For Thousand Seperator [ Code Behind ]&lt;br /&gt;Dim nfi As NumberFormatInfo = New CultureInfo("en-us", False).NumberFormat&lt;br /&gt;Dim myint As Int64&lt;br /&gt;Console.WriteLine(myint.ToString("N", nfi))&lt;br /&gt;&lt;br /&gt;[ Repeater ]&lt;br /&gt;&amp;lt;td align=&amp;quot;right&amp;quot; nowrap=&amp;quot;true&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;%# DataBinder.Eval(Container.DataItem, &amp;quot;BalAmount&amp;quot;,&amp;quot;{0:N}&amp;quot;) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113618851402708189?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113618851402708189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113618851402708189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113618851402708189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113618851402708189'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2006/01/thousand-seperator.html' title='Thousand Seperator'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113618831762063352</id><published>2006-01-01T23:49:00.000-08:00</published><updated>2006-01-01T23:51:57.696-08:00</updated><title type='text'>EXEC &amp; EXEC sp_executesql</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;EXEC and EXEC sp_executesql for Searching..&lt;br /&gt;&lt;br /&gt;DECLARE @sql as nvarchar(100)&lt;br /&gt;DECLARE @paraDOB datetime&lt;br /&gt;SET @paraDOB = '1/1/1981'&lt;br /&gt;SET @sql=N''&lt;br /&gt;SET @sql=N'SELECT * FROM EmpMast'&lt;br /&gt;SET @sql=@sql + ' WHERE DOB &gt;= @paraDOB'&lt;br /&gt;exec sp_executesql @sql,N'@paraDOB datetime',@paraDOB&lt;br /&gt;&lt;br /&gt;If our str is over 4000, we can’t use sp_executesql.&lt;br /&gt;&lt;br /&gt;DECLARE @sql as varchar(100)&lt;br /&gt;DECLARE @paraDOB datetime&lt;br /&gt;SET @paraDOB = '1/1/1981'&lt;br /&gt;SET @sql=''&lt;br /&gt;SET @sql='SELECT * FROM EmpMast'&lt;br /&gt;SET @sql=@sql + ' WHERE DOB &gt;= ''' + CONVERT(NVARCHAR,@paraDOB) + ''''&lt;br /&gt;EXEC (@sql) --( ) is important.&lt;br /&gt;&lt;br /&gt;When we use sp_executesql, we can pass hidden parameter. sp_executesql’s performance is better than EXEC.&lt;br /&gt;&lt;br /&gt;[ some people pass all parameter if they use sp_executesql. Actually, we don’t need to pass all parameter ] &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113618831762063352?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113618831762063352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113618831762063352' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113618831762063352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113618831762063352'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2006/01/exec-exec-spexecutesql.html' title='EXEC &amp; EXEC sp_executesql'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113618810511877760</id><published>2006-01-01T23:47:00.000-08:00</published><updated>2006-01-01T23:48:25.210-08:00</updated><title type='text'>Date Valation Regualar Expression</title><content type='html'>((^(10|12|0?[13578])([/])(3[01]|[12][0-9]|0?[1-9])([/])((1[8-9]\d{2})|([2-9]\d{3}))$)|(^(11|0?[469])([/])(30|[12][0-9]|0?[1-9])([/])((1[8-9]\d{2})|([2-9]\d{3}))$)|(^(0?2)([/])(2[0-8]|1[0-9]|0?[1-9])([/])((1[8-9]\d{2})|([2-9]\d{3}))$)|(^(0?2)([/])(29)([/])([2468][048]00)$)|(^(0?2)([/])(29)([/])([3579][26]00)$)|(^(0?2)([/])(29)([/])([1][89][0][48])$)|(^(0?2)([/])(29)([/])([2-9][0-9][0][48])$)|(^(0?2)([/])(29)([/])([1][89][2468][048])$)|(^(0?2)([/])(29)([/])([2-9][0-9][2468][048])$)|(^(0?2)([/])(29)([/])([1][89][13579][26])$)|(^(0?2)([/])(29)([/])([2-9][0-9][13579][26])$))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113618810511877760?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113618810511877760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113618810511877760' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113618810511877760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113618810511877760'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2006/01/date-valation-regualar-expression.html' title='Date Valation Regualar Expression'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113618791392590807</id><published>2006-01-01T23:42:00.000-08:00</published><updated>2006-01-02T00:00:10.173-08:00</updated><title type='text'>Adding Style to Repeater Controls in runtime.</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Private Sub Repeater1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles RptGuestNEmployee.ItemDataBound&lt;br /&gt;Dim htmlTblCell As HtmlTableCell&lt;br /&gt;If e.Item.ItemType.AlternatingItem Or e.Item.ItemType.Item Then&lt;br /&gt;htmlTblCell = e.Item.FindControl("tdOutDollars")&lt;br /&gt;If Not htmlTblCell Is Nothing Then&lt;br /&gt;If htmlTblCell.InnerHtml &lt;&gt; " " Then htmlTblCell.Style.Add("color", "green")&lt;br /&gt;End If&lt;br /&gt;End If&lt;br /&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;span style="font-family:Courier New;font-size:85%;color:blue;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: blue; font-family: Courier New"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:maroon;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: maroon; font-family: Courier New"&gt;TD&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:green;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: green; font-family: Courier New"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:red;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: red; font-family: Courier New"&gt;align&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:blue;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: blue; font-family: Courier New"&gt;=&amp;quot;right&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:green;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: green; font-family: Courier New"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:red;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: red; font-family: Courier New"&gt;nowrap&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:blue;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: blue; font-family: Courier New"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:green;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: green; font-family: Courier New"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:red;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: red; font-family: Courier New"&gt;id&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:blue;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: blue; font-family: Courier New"&gt;=&amp;quot;tdOutDollars&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:green;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: green; font-family: Courier New"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:red;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: red; font-family: Courier New"&gt;runat&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:blue;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: blue; font-family: Courier New"&gt;=server&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:green;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: green; font-family: Courier New"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:red;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: red; font-family: Courier New"&gt;&amp;gt;&amp;amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:yellow;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: yellow; font-family: Courier New"&gt;&amp;lt;%&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; font-family: Courier New"&gt;# DataBinder.Eval(Container.DataItem,&amp;quot;OutDollars&amp;quot;,&amp;quot;{0:N}&amp;quot;) &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:yellow;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: yellow; font-family: Courier New"&gt;%&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:blue;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: blue; font-family: Courier New"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:maroon;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: maroon; font-family: Courier New"&gt;TD&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;color:blue;"&gt;&lt;span style="font-weight: bold; font-size: 10pt; color: blue; font-family: Courier New"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113618791392590807?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113618791392590807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113618791392590807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113618791392590807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113618791392590807'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2006/01/adding-style-to-repeater-controls-in.html' title='Adding Style to Repeater Controls in runtime.'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113618765728342427</id><published>2006-01-01T23:39:00.000-08:00</published><updated>2006-01-01T23:40:57.406-08:00</updated><title type='text'>Clear Old Msg</title><content type='html'>btnSave.Attributes.Add("onclick", "document.all." &amp; txtOperationMessages.ClientID &amp;amp; ".innerText = '';")&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113618765728342427?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113618765728342427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113618765728342427' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113618765728342427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113618765728342427'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2006/01/clear-old-msg.html' title='Clear Old Msg'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113618737765248598</id><published>2006-01-01T23:29:00.000-08:00</published><updated>2006-01-01T23:38:48.683-08:00</updated><title type='text'>Tips : Dataview to DataTable</title><content type='html'>Private Function DataView2DataSetConvertor(ByVal dv As DataView) As DataSet&lt;br /&gt;Dim dt As DataTable = dv.Table.Copy&lt;br /&gt;Dim dsRtn As New DataSet(dv.Table.TableName)&lt;br /&gt;dsRtn.Tables.Add(dt)&lt;br /&gt;Return dsRtn&lt;br /&gt;End Function&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113618737765248598?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113618737765248598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113618737765248598' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113618737765248598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113618737765248598'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2006/01/tips-dataview-to-datatable.html' title='Tips : Dataview to DataTable'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113585584685077859</id><published>2005-12-29T03:29:00.000-08:00</published><updated>2005-12-29T03:30:47.213-08:00</updated><title type='text'>SQL 2k Tips : UPDATETEXT</title><content type='html'>Thank you so much, Grace!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sent: Tuesday, February 01, 2005 4:07 PM&lt;br /&gt;&lt;br /&gt;Hi Micheal,&lt;br /&gt;&lt;br /&gt;Do you know that ntext data type can’t do concatenation. To overcome this problem, we can use UPDATETEXT.&lt;br /&gt;The following are the example of using UPDATETEXT.&lt;br /&gt;&lt;br /&gt;DECLARE @ptrval binary(16)&lt;br /&gt;Declare @strComments nvarchar(4000)&lt;br /&gt;&lt;br /&gt;SET @strComments = 'comments'&lt;br /&gt;&lt;br /&gt;SELECT @ptrval = TEXTPTR(rd.Comment)&lt;br /&gt;FROM vyRequisitionDetails rd&lt;br /&gt;WHERE rd.RequisitionID = 'REQPhyuHT02012005-Delhi'&lt;br /&gt;&lt;br /&gt;UPDATETEXT vyRequisitionDetails.Comment @ptrval NULL 0 @strComments&lt;br /&gt;&lt;br /&gt;Grace&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113585584685077859?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113585584685077859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113585584685077859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113585584685077859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113585584685077859'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2005/12/sql-2k-tips-updatetext.html' title='SQL 2k Tips : UPDATETEXT'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113556814736406268</id><published>2005-12-25T19:20:00.000-08:00</published><updated>2005-12-25T19:35:47.603-08:00</updated><title type='text'>Adding and Removing Events..</title><content type='html'>&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Small .. but I didn't notice about that..  I think I might never notices about that if my friend, Lu taw lay, didn't tell me.... :P&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;VB&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;If CheckBox1.Checked Then&lt;br /&gt;   AddHandler Button1.Click, _&lt;br /&gt;   AddressOf button1_Click&lt;br /&gt;Else&lt;br /&gt;   RemoveHandler Button1.Click, _&lt;br /&gt;   AddressOf button1_Click&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;br /&gt;if(this.checkBox1.Checked)&lt;br /&gt;   this.button1.Click += new System.EventHandler(this.button1_Click);&lt;br /&gt;else&lt;br /&gt;   this.button1.Click -= new System.EventHandler(this.button1_Click); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;References..&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;a href="http://www.developerfusion.co.uk/show/4375/3/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Handling Events in .NET&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113556814736406268?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113556814736406268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113556814736406268' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113556814736406268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113556814736406268'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2005/12/adding-and-removing-events.html' title='Adding and Removing Events..'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113530796649143732</id><published>2005-12-22T19:05:00.000-08:00</published><updated>2005-12-22T19:19:26.706-08:00</updated><title type='text'>VB6 - Detecting whether the program is running under the control of Visual Studio or not..</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Private Declare Function GetModuleHandle _&lt;br /&gt;Lib "kernel32" Alias _&lt;br /&gt;"GetModuleHandleA" _&lt;br /&gt;(ByVal lpModuleName As String) As Long &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Public Function TestEnvironment() As Boolean&lt;br /&gt;Dim ModuleHandle As String&lt;br /&gt;Dim EnvFileName As String&lt;br /&gt;Dim EnvVal As Variant&lt;br /&gt;Dim ReturnVal As Long&lt;br /&gt;Dim i As Long&lt;br /&gt;EnvVal = _&lt;br /&gt;Array("vb.exe", _&lt;br /&gt;"vb32.exe", _&lt;br /&gt;"vb5.exe", _&lt;br /&gt;"vb6.exe")&lt;br /&gt;For i = LBound(EnvVal) To UBound(EnvVal)&lt;br /&gt;ModuleHandle = EnvVal(i)&lt;br /&gt;ReturnVal = GetModuleHandle(ModuleHandle)&lt;br /&gt;If ReturnVal &lt;&gt; 0 Then&lt;br /&gt;EnvFileName = ModuleHandle&lt;br /&gt;TestEnvironment = True&lt;br /&gt;Exit For&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Private Sub Command1_Click()&lt;br /&gt;If TestEnvironment() = True Then&lt;br /&gt;MsgBox ("Running under IDE")&lt;br /&gt;Else&lt;br /&gt;MsgBox ("Running as EXE")&lt;br /&gt;End If&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Another way to do is to detect whether the Visual Studio 6 IDE open or not using some API.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;References Link&lt;/em&gt;&lt;br /&gt;&lt;a href="http://visualbasic.about.com/od/usevb6/l/blfaq0012a.htm"&gt;Question: How can I test whether a program is running at design time or run time using VB6? &lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113530796649143732?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113530796649143732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113530796649143732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113530796649143732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113530796649143732'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2005/12/vb6-detecting-whether-program-is.html' title='VB6 - Detecting whether the program is running under the control of Visual Studio or not..'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113515180433034851</id><published>2005-12-20T23:54:00.000-08:00</published><updated>2005-12-20T23:56:44.393-08:00</updated><title type='text'>Useful Links - ASP.NET Page Refesh</title><content type='html'>&lt;a href="http://aspalliance.com/687"&gt;Preventing Duplicate Record Insertion on Page Refresh&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/aspnet/Detecting_Refresh.asp"&gt;Detecting Page Refresh By Altaf Al-Amin&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnvs05/html/BedrockAspNet.asp"&gt;Build Your ASP.NET Pages on a Richer Bedrock&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113515180433034851?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113515180433034851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113515180433034851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113515180433034851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113515180433034851'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2005/12/useful-links-aspnet-page-refesh.html' title='Useful Links - ASP.NET Page Refesh'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113505747880359185</id><published>2005-12-19T21:38:00.000-08:00</published><updated>2006-01-18T22:30:32.436-08:00</updated><title type='text'>Microsoft Codename</title><content type='html'>&lt;blockquote id="a214bd33"&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Microsoft codenames&lt;/strong&gt; are the codenames given by Microsoft for their products before releasing&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Thank you for giving me the useful links, Amiake-San!!! :-)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Informations related to Code-Name of Microsoft's Product&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Visual Studio .NET 2003 &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Everett&lt;/strong&gt; is the code-name of Visua Studio .NET 2003. Actually, Everett is the name of city located 30 miles away from the the headquarter of Microsoft in "Redmond", Washington State.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;em&gt;Links&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;a href="http://www.everettwa.org/"&gt;Everett, Washington&lt;/a&gt;&lt;/span&gt; &lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;a href="http://maps.google.com/maps?oi=map&amp;amp;q=Everett,+WA"&gt;Map - Goggle&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Visual Studio .NET 2005&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Whidbey&lt;/strong&gt; is the code-name of Visua Studio .NET 2005. Whidbey is the name of an island floating on the Puget Sound, the opposite shore of Everett. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;em&gt;More Informations&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Microsoft_codenames"&gt;Microsoft codenames&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;a href="http://bink.nu/Codenames.bink"&gt;http://bink.nu/Codenames.bink&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.dnjonline.com/articles/backend/codenames.asp"&gt;http://www.dnjonline.com/articles/backend/codenames.asp&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113505747880359185?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113505747880359185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113505747880359185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113505747880359185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113505747880359185'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2005/12/microsoft-codename.html' title='Microsoft Codename'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113392802000641346</id><published>2005-12-06T19:40:00.000-08:00</published><updated>2005-12-06T20:00:20.106-08:00</updated><title type='text'>.NET - A Love Story</title><content type='html'>.NET poem from Scott Kuhl weblog..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geekswithblogs.net/scottkuhl/archive/2005/08/31/NetALoveStory.aspx"&gt;.NET - A Love Story &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113392802000641346?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113392802000641346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113392802000641346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113392802000641346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113392802000641346'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2005/12/net-love-story.html' title='.NET - A Love Story'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113392581583846640</id><published>2005-12-06T19:15:00.000-08:00</published><updated>2005-12-06T19:23:36.173-08:00</updated><title type='text'>Tips : Probems in VS 2003 and VS 2005</title><content type='html'>&lt;div align="justify"&gt;Here is the good weblog site for Visual Studio 2005 setup issues and workarounds. &lt;/div&gt;&lt;div align="justify"&gt;&lt;a class="headermaintitle" id="_ctl0__ctl0__ctl0__ctl0_BlogTitleHeader1__ctl0_BlogTitle" href="http://blogs.msdn.com/quanto/default.aspx"&gt;Quan To's Visual Studio 2005 Setup blog&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Error 1904 when installing the 1.0 Framework&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;A customer ran into the following error dialog when installing the 1.0 Framework:&lt;br /&gt;Error 1904 Module C:\Windows\System32\mscoree.dll failed to register.&lt;br /&gt;HRESULT -2146232576. Contact your support personal.&lt;br /&gt;The customer had the 1.0, 1.1, and 2.0 Framework installed, then uninstalled, then reinstalled and eventually got themselves into a weird dirty state.&lt;br /&gt;They finally ran the clean up tool but setup failed when they tried installing the 1.0 framework.&lt;br /&gt;After debugging their machine, it turned out the following registry key was leaked:&lt;br /&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\v2.0&lt;br /&gt;I asked the customer to delete that key and the 1.0 framework then installed successfully.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Can't move cursor in VS2005 Text Editor&lt;/strong&gt;&lt;br /&gt;A customer ran into this issue where they can't move the cursor in the text editor and other things didn't work such as control-Z and import/export settings.&lt;br /&gt;The workaround is:&lt;br /&gt;1)Shutdown Visual Studio&lt;br /&gt;2)Click Start -&gt; Run&lt;br /&gt;3)Type in "devenv.exe /resetuserdata"&lt;br /&gt;4)Open Task Manager and wait for devenv.exe to finish running&lt;br /&gt;5)Restart VS&lt;br /&gt;Thanks goes to James Lau for providing the workaround for this.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113392581583846640?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113392581583846640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113392581583846640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113392581583846640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113392581583846640'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2005/12/tips-probems-in-vs-2003-and-vs-2005.html' title='Tips : Probems in VS 2003 and VS 2005'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113375894455160733</id><published>2005-12-04T20:57:00.000-08:00</published><updated>2005-12-05T00:17:15.570-08:00</updated><title type='text'>Tips : devenv.exe Problem</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;Since I am super busy in my work :P, running devenv.exe from Run menu instead of finding the shortcut of VS 2003 in Start Menu can save me a lot of time. When Microsoft distributed a hundred versions of Whidbey I gladly installed/uninstalled the latest version for checking its new features [along with sending a thousand error report to microsoft .. ]:-))... Unfortunately, after UNINSTALLING Whidbey from my machine I was unable to call "devenv.exe" to launch Visual Studio 2003 coz some of register keys have been changed when I installed Whidbey.So after a lot of effort I found out how to fix this and I am sharing it with you all&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;Steps to perform ~&lt;br /&gt;1) Open registry editor (regedit.exe)&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;2) Go to this path &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;  HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;     Windows\CurrentVersion\App Paths\devenv.exe" &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;3) Check the value of this key.. &lt;/span&gt;&lt;span style="font-size:85%;"&gt;[ you will see this string "&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;C:\Program Files\&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Microsoft Visual Studio 8\&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Common7\IDE\devenv.exe"]&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;4) Change this string to &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;"C:\Program Files\Microsoft Visual Studio .NET 2003\&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Common7\IDE\devenv.exe"5) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Done!!&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Check : Type "devenv" in run menu... Wow! Visual Studio 2003 is opening...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Hope you will find it useful..&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113375894455160733?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113375894455160733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113375894455160733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113375894455160733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113375894455160733'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2005/12/tips-devenvexe-problem.html' title='Tips : devenv.exe Problem'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113351370912538837</id><published>2005-12-02T00:53:00.000-08:00</published><updated>2005-12-02T01:02:50.940-08:00</updated><title type='text'>Tools : ILMerge</title><content type='html'>&lt;strong&gt;Overview&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;ILMerge&lt;/strong&gt; is a utility that can be used to merge multiple .NET assemblies into a single assembly. ILMerge takes a set of input assemblies and merges them into one target assembly. The first assembly in the list of input assemblies is the primary assembly. When the primary assembly is an executable, then the target assembly is created as an executable with the same entry point as the primary assembly. Also, if the primary assembly has a strong name, and a .snk file is provided, then the target assembly is re-signed with the specified key so that it also has a strong name.&lt;br /&gt;ILMerge is packaged as a console application. But all of its functionality is also available programmatically. Note that Visual Studio 2005 does allow one to add an executable as a reference, so you can write a C# client that uses ILMerge as a library. (If you are using Visual Studio 2003, just rename ILMerge.exe to be a dll and then add it as a reference to your Visual Studio 2003 project.)&lt;br /&gt;There are several options that control the behavior of ILMerge. See the documentation that comes with the tool for details.&lt;br /&gt;Currently, ILMerge works only on Windows-based platforms. It does not yet support Rotor or Mono. It runs in the v2.0 .NET Runtime, but is also able to merge v1 or v1.1 assemblies.&lt;br /&gt;If you have any problems using ILMerge please contact mbarnett _at_ microsoft _dot_ com. More details are available at the ILMerge web site.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;More Info ~&lt;br /&gt;&lt;a href="http://research.microsoft.com/~mbarnett/ILMerge.aspx"&gt;&lt;span style="font-size:85%;"&gt;Research Link&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=22914587-b4ad-4eae-87cf-b14ae6a939b0&amp;amp;displaylang=en"&gt;&lt;span style="font-size:85%;"&gt;Download Link&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113351370912538837?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113351370912538837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113351370912538837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113351370912538837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113351370912538837'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2005/12/tools-ilmerge_02.html' title='Tools : ILMerge'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113349740945778189</id><published>2005-12-01T20:20:00.000-08:00</published><updated>2005-12-01T20:23:29.783-08:00</updated><title type='text'>Outlook Tips : To prevent sending mails without mentioning 'subject'</title><content type='html'>&lt;p&gt;&lt;span style="font-size:85%;"&gt;To prevent sending mails without mentioning 'subject' use this code.&lt;br /&gt;Steps - Open ur outlook, press alt+f11.On left pane in 'Microsoft Outlook objects', expand to see 'This outlook session'.Double click to open the editor.Copy and paste the following code and save the session.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)&lt;br /&gt;     Dim strSubject As String&lt;br /&gt;     strSubject = Item.Subject&lt;br /&gt;    If Len(strSubject) = 0 Then&lt;br /&gt;        Prompt$ = "Subject is Empty. Are you sure you want to send the Mail?"&lt;br /&gt;        If MsgBox(Prompt$, vbYesNo + vbQuestion + vbMsgBoxSetForeground, "Check for Subject") = vbNo &lt;/span&gt;&lt;span style="font-size:85%;"&gt;    Then&lt;br /&gt;              Cancel = True&lt;br /&gt;        End If&lt;br /&gt;    End If&lt;br /&gt;End Sub&lt;br /&gt; &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113349740945778189?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113349740945778189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113349740945778189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113349740945778189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113349740945778189'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2005/12/outlook-tips-to-prevent-sending-mails.html' title='Outlook Tips : To prevent sending mails without mentioning &apos;subject&apos;'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113344122677833609</id><published>2005-12-01T04:37:00.000-08:00</published><updated>2005-12-01T04:55:20.900-08:00</updated><title type='text'>Tips: Controlling Back Button of Internet Explorer 6.0</title><content type='html'>&lt;a href="http://support.microsoft.com/Default.aspx?kbid=199805"&gt;&lt;strong&gt;Using VBScript : PRB: Forward and Back Button Behavior in Internet Explorer&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;font lt;%@ Language=VBScript %&gt;&lt;br&gt;&lt;br /&gt;&amp;lt;%&amp;nbsp;&lt;br&gt;' The following line is the important part:&lt;br&gt;Response.CacheControl = "no-cache"&lt;br&gt;Response.AddHeader "Pragma", "no-cache"&lt;br&gt;&lt;br /&gt;%&gt;&lt;br&gt;&amp;lt;HTML&gt;&lt;br&gt; &amp;lt;BODY&gt;&amp;nbsp;&lt;br&gt;   &amp;lt;P&gt;This page is using "Cache-Control: no-cache." This page should not becached for any reason whatsoever. Access to the page via the Back button should pullthe page back from the server.&amp;lt;/P&gt;&lt;br&gt;   &amp;lt;P&gt;Current Time:&amp;lt;%= Now() %&gt;&lt;br&gt;   &amp;lt;/P&gt;&lt;br&gt; &amp;lt;/BODY&gt;&lt;br&gt;&amp;lt;/HTML&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/229684/EN-US/"&gt;&lt;strong&gt;Manually : Back button in Internet Explorer becomes unavailable. &lt;/strong&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113344122677833609?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113344122677833609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113344122677833609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113344122677833609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113344122677833609'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2005/12/tips-controlling-back-button-of.html' title='Tips: Controlling Back Button of Internet Explorer 6.0'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113343072629701259</id><published>2005-12-01T01:52:00.000-08:00</published><updated>2005-12-01T02:35:44.246-08:00</updated><title type='text'>C# Basic - Using Array in C#</title><content type='html'>&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;C# Basic – Array Tuturials&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;In C#, an array starts at zero.. ( Arrays can be divided into four categories. These categories are single-dimensional arrays, multidimensional arrays or rectangular arrays, jagged arrays, and mixed arrays.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Single-dimensional Arrays&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Single-dimensional arrays are the simplest form of arrays. These types of arrays are used to store number of items of a predefined type. All items in a single dimension array are stored in a row starting from 0 to the size of array –1.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;int [] intArray;intArray = new int[5];&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;nt [] intArray;intArray = new int[3] {0, 1, 2};&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;string[] strArray = new string[5] {"Ronnie", "Jack", "Lori", “Max”, “Tricky”}; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;string[] strArray = {"Ronnie", "Jack", "Lori", “Max”, “Tricky”}; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;string[] strArray = new string[] {"Ronnie", "Jack", "Lori", “Max”, “Tricky”}; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Multi-dimensional Arrays&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A multidimensional array is an array with more than one dimension.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;string[,] strArray;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;int[,] numbers = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} };&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;string[,] names = new string[2, 2] { {"Rosy","Amy"}, {"Peter","Albert"} };&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;int[,] numbers = new int[,] { {1, 2}, {3, 4}, {5, 6} };&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;string[,] names = new string[,] { {"Rosy","Amy"}, {"Peter","Albert"} };&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;int[,] numbers = { {1, 2}, {3, 4}, {5, 6} };&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;string[,] siblings = { {"Rosy", "Amy"}, {"Peter", "Albert"} };&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Jagged Arrays&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Jagged arrays are often called array of arrays. An element of a jagged array itself is an array. For example, you can define an array of names of students of a class where a name itself can be an array of three strings – first name, middle name and last name. Another example of jagged arrays is an array of integers containing another array of integers. For example,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;int[][] numArray = new int[][] { new int[] {1,3,5}, new int[] {2,4,6,8,10} };&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Again, you can specify the size when you call the new operator.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Mixed Arrays or Rectangular Arrays&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Mixed arrays are a combination of multi-dimension arrays and jagged arrays. Multi-dimension arrays are also called as rectangular arrays.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;More Informations&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Programming C#: Working with Arrays &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.c-sharpcorner.com/Code/2002/July/WorkingWithArrays.asp"&gt;&lt;span style="font-size:85%;"&gt;http://www.c-sharpcorner.com/Code/2002/July/WorkingWithArrays.asp&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Array Class&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemarrayclasstopic.asp"&gt;&lt;span style="font-size:85%;"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemarrayclasstopic.asp&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Array Members&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemarrayclasstopic.asp"&gt;&lt;span style="font-size:85%;"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemarrayclasstopic.asp&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Array Properties&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemarrayclasstopic.asp"&gt;&lt;span style="font-size:85%;"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemarrayclasstopic.asp&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Array Methods&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemarrayclasstopic.asp"&gt;&lt;span style="font-size:85%;"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemarrayclasstopic.asp&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113343072629701259?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113343072629701259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113343072629701259' title='32 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113343072629701259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113343072629701259'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2005/12/c-basic-using-array-in-c.html' title='C# Basic - Using Array in C#'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>32</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113342812337669831</id><published>2005-12-01T01:02:00.000-08:00</published><updated>2005-12-01T02:01:59.110-08:00</updated><title type='text'>IIS 6 - Virtual Directories Management with C#</title><content type='html'>&lt;span style="font-size:85%;"&gt;C# - Visual Studio 2003&lt;br /&gt;&lt;strong&gt;Programmatically Creating Virtual Directory and Deleting the Existing Virtual Directory on IIS 6.0?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;#region Create Virtual Directory&lt;br /&gt;/*&lt;br /&gt;* Usage : CreateVirtualDirectory("localhost","MyWebApplication");&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;public static bool CreateVirtualDirectory(string sWebSite,string sAppName,string sPath)&lt;br /&gt;{&lt;br /&gt;System.DirectoryServices.DirectoryEntry iISSchema = new System.DirectoryServices.DirectoryEntry("IIS://" + sWebSite + "/Schema/AppIsolated");&lt;br /&gt;bool bCanCreate = !( iISSchema.Properties["Syntax"].Value.ToString().ToUpper() == "BOOLEAN");&lt;br /&gt;iISSchema.Dispose();&lt;br /&gt;&lt;br /&gt;if(bCanCreate)&lt;br /&gt;{&lt;br /&gt;bool bPathCreated=false;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;System.DirectoryServices.DirectoryEntry iISAdmin = new System.DirectoryServices.DirectoryEntry("IIS://" + sWebSite + "/W3SVC/1/Root");&lt;br /&gt;&lt;br /&gt;//make sure folder exists&lt;br /&gt;if(! System.IO.Directory.Exists(sPath))&lt;br /&gt;{&lt;br /&gt;System.IO.Directory.CreateDirectory(sPath);&lt;br /&gt;bPathCreated = true;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//If the virtual directory already exists then delete it&lt;br /&gt;foreach(System.DirectoryServices.DirectoryEntry vd in iISAdmin.Children)&lt;br /&gt;{&lt;br /&gt;if(vd.Name==sAppName)&lt;br /&gt;{&lt;br /&gt;//iISAdmin.Invoke("Delete", new string(){vd.SchemaClassName,AppName};);&lt;br /&gt;iISAdmin.Invoke("Delete", new string[]{vd.SchemaClassName, sAppName});&lt;br /&gt;iISAdmin.CommitChanges();&lt;br /&gt;break;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//Create and setup new virtual directory&lt;br /&gt;System.DirectoryServices.DirectoryEntry vdir = iISAdmin.Children.Add(sAppName, "IIsWebVirtualDir");&lt;br /&gt;&lt;br /&gt;vdir.Properties["Path"][0] = sPath;&lt;br /&gt;vdir.Properties["AppFriendlyName"][0] = sAppName;&lt;br /&gt;vdir.Properties["EnableDirBrowsing"][0] = false;&lt;br /&gt;vdir.Properties["AccessRead"][0] = true;&lt;br /&gt;vdir.Properties["AccessExecute"][0] = true;&lt;br /&gt;vdir.Properties["AccessWrite"][0] = false;&lt;br /&gt;vdir.Properties["AccessScript"][0] = true;&lt;br /&gt;vdir.Properties["AuthNTLM"][0] = true;&lt;br /&gt;vdir.Properties["EnableDefaultDoc"][0] = true;&lt;br /&gt;vdir.Properties["DefaultDoc"][0] = "default.htm,default.aspx,default.asp";&lt;br /&gt;vdir.Properties["AspEnableParentPaths"][0] = true;&lt;br /&gt;vdir.CommitChanges();&lt;br /&gt;&lt;br /&gt;//'the following are acceptable params&lt;br /&gt;//'INPROC = 0&lt;br /&gt;//'OUTPROC = 1&lt;br /&gt;//'POOLED = 2&lt;br /&gt;vdir.Invoke("AppCreate", 1);&lt;br /&gt;&lt;br /&gt;return true;&lt;br /&gt;}&lt;br /&gt;catch(Exception ex)&lt;br /&gt;{&lt;br /&gt;if(bPathCreated)&lt;br /&gt;{&lt;br /&gt;System.IO.Directory.Delete(sPath);&lt;br /&gt;throw ex;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;#endregion&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#region Delete Virtual Directory&lt;br /&gt;/*&lt;br /&gt;* Usage : DeleteVirtualDirectory("localhost","MyWebApplication");&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;public static bool DeleteVirtualDirectory(string sWebSite,string sAppName)&lt;br /&gt;{&lt;br /&gt;System.DirectoryServices.DirectoryEntry iISSchema = new System.DirectoryServices.DirectoryEntry("IIS://" + sWebSite + "/Schema/AppIsolated");&lt;br /&gt;bool bCanCreate = !( iISSchema.Properties["Syntax"].Value.ToString().ToUpper() == "BOOLEAN");&lt;br /&gt;iISSchema.Dispose();&lt;br /&gt;&lt;br /&gt;if(bCanCreate)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;System.DirectoryServices.DirectoryEntry iISAdmin = new System.DirectoryServices.DirectoryEntry("IIS://" + sWebSite + "/W3SVC/1/Root");&lt;br /&gt;&lt;br /&gt;string sWebPath = iISAdmin.Properties["Path"].Value.ToString();&lt;br /&gt;&lt;br /&gt;//If the virtual directory already exists then delete it&lt;br /&gt;foreach(System.DirectoryServices.DirectoryEntry vd in iISAdmin.Children)&lt;br /&gt;{&lt;br /&gt;if(vd.Name==sAppName)&lt;br /&gt;{&lt;br /&gt;sWebPath += "\\" + vd.Name;&lt;br /&gt;&lt;br /&gt;//if(((System.DirectoryServices.PropertyCollection)((vd.Properties))).valueTable.Count &gt; 0 )&lt;br /&gt;//Original = IIsWebDirectory&lt;br /&gt;//Custom = IIsWebVirtualDir&lt;br /&gt;if(vd.Properties["KeyType"].Value.ToString().Trim() == "IIsWebVirtualDir")&lt;br /&gt;sWebPath=vd.Properties["Path"].Value.ToString();&lt;br /&gt;&lt;br /&gt;//iISAdmin.Invoke("Delete", new string(){vd.SchemaClassName,AppName};);&lt;br /&gt;iISAdmin.Invoke("Delete", new string[]{vd.SchemaClassName, sAppName});&lt;br /&gt;System.IO.Directory.Delete(sWebPath);&lt;br /&gt;iISAdmin.CommitChanges();&lt;br /&gt;return true;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;catch(Exception ex)&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;#endregion&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Some other informations related to IIS &amp; .NET 2003 &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Create a Virtual Directory and Edit its Properties in IIS using C# &lt;/strong&gt;&lt;/span&gt;&lt;a title="http://dotnetjunkies.com/WebLog/ramdash/articles/21777.aspx" href="http://dotnetjunkies.com/WebLog/ramdash/articles/21777.aspx"&gt;&lt;span style="font-size:85%;"&gt;http://dotnetjunkies.com/WebLog/ramdash/articles/21777.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Create Virtual Directory in IIS using VB.NET &lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;a title="http://www.vbforums.com/printthread.php?t=" href="http://www.vbforums.com/printthread.php?t=347207"&gt;&lt;span style="font-size:85%;"&gt;http://www.vbforums.com/printthread.php?t=347207&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Create Virtual Directory in IIS using C# [Easy Way]&lt;br /&gt;&lt;/strong&gt;System.EnterpriseServices.Internal.IISVirtualRoot vr = new System.EnterpriseServices.Internal.IISVirtualRoot();&lt;br /&gt;string sErr=null;&lt;br /&gt;vr.Create("IIS://localhost/W3SVC/1/Root",@"C:\Sync\","WebServices",out sErr);&lt;br /&gt;Console.WriteLine(sErr);&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Virtual Directory &lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;a title="http://www.c-sharpcorner.com/Code/2002/July/CreateVirtualDirs.asp" href="http://www.c-sharpcorner.com/Code/2002/July/CreateVirtualDirs.asp"&gt;&lt;span style="font-size:85%;"&gt;http://www.c-sharpcorner.com/Code/2002/July/CreateVirtualDirs.asp&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Creating your own Web Server using C# &lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;a title="http://www.c-sharpcorner.com/Internet/CreatingWebServerInCSIMA.asp" href="http://www.c-sharpcorner.com/Internet/CreatingWebServerInCSIMA.asp"&gt;&lt;span style="font-size:85%;"&gt;http://www.c-sharpcorner.com/Internet/CreatingWebServerInCSIMA.asp&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;div align="center"&gt;&lt;br /&gt;*******&lt;/div&gt;&lt;br /&gt;To help a person who don't know about creating IIS. esp: beginner. :-)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;[Using INetMgr]&lt;/strong&gt;&lt;br /&gt;===============&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;IIS Applications and Virtual Directories&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;a title="http://authors.aspalliance.com/PaulWilson/Articles/?id=" href="http://authors.aspalliance.com/PaulWilson/Articles/?id=16"&gt;&lt;span style="font-size:85%;"&gt;http://authors.aspalliance.com/PaulWilson/Articles/?id=16&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to: Create and Configure Virtual Directories in IIS &lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;a title="http://msdn2.microsoft.com/en-us/library/zwk103ab.aspx" href="http://msdn2.microsoft.com/en-us/library/zwk103ab.aspx"&gt;&lt;span style="font-size:85%;"&gt;http://msdn2.microsoft.com/en-us/library/zwk103ab.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Internet Information Services (IIS) 6.0 Resource Kit &lt;/strong&gt;&lt;/span&gt;&lt;a title="http://www.microsoft.com/downloads/details.aspx?FamilyID=" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=80a1b6e6-829e-49b7-8c02-333d9c148e69&amp;DisplayLang=en"&gt;&lt;span style="font-size:85%;"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=80a1b6e6-829e-49b7-8c02-333d9c148e69&amp;amp;DisplayLang=en&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;How To Install MetaEdit 2.2 on Windows NT 4.0 or Windows 2000? &lt;/strong&gt;&lt;br /&gt;If you wanna know about IIS in deep, you should install this exe. This tool will let you know about IIS structures such as where IIS store all information about web folder. I would say that it's really interesting tool. Enjoy :-) &lt;/span&gt;&lt;a title="http://support.microsoft.com/default.aspx?scid=" href="http://support.microsoft.com/default.aspx?scid=kb;en-us;301386&amp;sd=tech"&gt;&lt;span style="font-size:85%;"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;301386&amp;amp;sd=tech&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;Hints :&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;What is MetaEdit 2.2?&lt;br /&gt;&lt;/strong&gt;MetaEdit 2.2 is designed to help administer Microsoft® Internet Information Server for Windows NT® Server 4.0, and Microsoft® Internet Information Services for Windows 2000®.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;What is the Metabase?&lt;br /&gt;&lt;/strong&gt;The metabase is a hierarchical database that is used to store configuration values for IIS. In previous versions of IIS, such values were configurable by directly editing the registry. Some values are still configurable by editing the registry, but the metabase provides more granularity in the configuration of server properties. You can set server properties at the computer, Web site, virtual directory, directory, and file level by modifying the metabase.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113342812337669831?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113342812337669831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113342812337669831' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113342812337669831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113342812337669831'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2005/12/iis-6-virtual-directories-_113342812337669831.html' title='IIS 6 - Virtual Directories Management with C#'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11915723.post-113057037274723400</id><published>2005-10-28T23:56:00.000-07:00</published><updated>2006-08-24T05:57:39.256-07:00</updated><title type='text'>Microsoft .NET Remoting</title><content type='html'>I would like to recommend a good book for beginner who like to learn about Micorsoft .NET Remoting.. The book named : &lt;a href="http://www.microsoft.com/mspress/books/6172.asp"&gt;&lt;b&gt;Microsoft® .NET Remoting&lt;/b&gt;&lt;/a&gt; : By Scott McLean, James Naftel, Kim Williams0 (ISBN - 7356-1778-3 ) .&lt;br /&gt;&lt;br /&gt;I had made some notes that I would like to share you all, from this book..&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Stubs&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;These pieces of code run on the client and the server that make RPCs apperars through they're local. &lt;em&gt;eg: client code calls procedures in the stub that book exactly like the ones implemented on te server. The stub then forward the call to the romote process.&lt;/em&gt;&lt;/li&gt;&lt;/ul&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;strong&gt;Marshaling&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;is the process of passing parameters from one context to another.&lt;/li&gt;&lt;li&gt;In RPC, function parameters are serialized into packets for transmission across the wire.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Interface Definition Language (IDL)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;provides a standard meansof describing the calling syntax and data types of RPC independent of any language. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;strong&gt;** NOTE **&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;.NET Remoting performance differs from DCOM performance when the client and the server are on the same machine. &lt;/em&gt;&lt;br /&gt;&lt;em&gt;DCOM : detectes that the processes are local and falls back to a pure COM(more optiomized communication).&lt;/em&gt;&lt;br /&gt;&lt;em&gt;.NET Remoting : will still use the network protocol(eg: TCP) that it was configured to use.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;** NOTE **&lt;br /&gt;&lt;/strong&gt;.NET Remote object can participate in COM+ services and can service both .NET Remoting clients and COM clients. However, to support legacy COM clients, the .NET object hosted by COM+ use COM for communication method rather than .NET Remoting. In addition, these .NET object must be given strong names and registered as traditional COM Object bu using the &lt;strong&gt;Regasm&lt;/strong&gt; Tool.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11915723-113057037274723400?l=michaelsync.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://michaelsync.blogspot.com/feeds/113057037274723400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11915723&amp;postID=113057037274723400' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113057037274723400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11915723/posts/default/113057037274723400'/><link rel='alternate' type='text/html' href='http://michaelsync.blogspot.com/2005/10/microsoft-net-remoting.html' title='Microsoft .NET Remoting'/><author><name>Michael Sync</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
