Profile
Achievement
pckujawa's Recent Snippets
- All /
I had hear about a method to run a method like an executable, with the arguments being passed in from the commandline. Apparently, Ruby has this with the Rake project. Well, Python has it with [Shovel](http://devblog.seomoz.org/2012/03/shovel-rake-fo...
0
917
posted 12 years ago by pckujawa
This is about the simplest way I've found. See [this](http://stackoverflow.com/questions/1092463/getting-the-mac-address-of-the-remote-host) and [this](http://stackoverflow.com/questions/1092379/want-to-get-mac-address-of-remote-pc/1092392#1092392) a...
0
4338
posted 13 years ago by pckujawa
If you want to serialize a password in some custom object you are working with, create another member that is the encrypted bytes and serialize/deserialize that.
For simply encrypting/decrypting a file, you can use [System.IO.File.Encrypt](http://...
0
765
posted 14 years ago by pckujawa
For both gmail and gApps, use smtp.gmail.com on port 25 with SSL and NetworkCredentials.
Neither can send email to their own address, but they can send to other addresses.
[NLog](http://nlog-project.org/) has [an example](http://nlog-project.or...
1
988
posted 14 years ago by pckujawa
Read the [best article on the subject - Exploring Secrets of Persistent Application Settings](http://www.devx.com/dotnet/Article/33944/1954) - and then the following links if desired. (Note, I recommend reading [this forum post about settings not bei...
0
1710
posted 14 years ago by pckujawa
C#
Obfuscating .NET code so as to hide implementation details from public view (using BabelObfuscator)
If you weren't already aware, you can use a product like [Reflector.NET](http://www.red-gate.com/products/reflector/) to see all of the source code (that's right, the code) of a .NET assembly (DLL, EXE, etc). This is a real problem when your code is...
1
1044
posted 14 years ago by pckujawa
C#
Get the network interface card (NIC) from a known MAC address (and get the IP addresses on that NIC)
The code shows how to take a known MAC (e.g. "00:00:00:11:22:33") and locate the NIC which has that MAC. Note that the built-in MAC class for .NET is called PhysicalAddress (in System.Net.NetworkInformation). PhysicalAddress.Parse can take a string,...
0
1310
posted 14 years ago by pckujawa
Great way to show the user that something is happening without too much tedious work. As simple to use as putting the following code in Form_Load:
AutoWaitCursor.Cursor = Cursors.WaitCursor;
AutoWaitCursor.Delay = new TimeSpan(0, 0, 0, 0, 25);...
1
1987
posted 15 years ago by pckujawa
The code is run in [LINQPad](http://www.google.com/url?sa=t&source=web&ct=res&cd=1&ved=0CAsQFjAA&url=http%3A%2F%2Fwww.linqpad.net%2F&ei=exUgS-a-KZOotgOs39T9CQ&usg=AFQjCNFw-ZpPkP4je7u9udiur5Wg5us7tQ&sig2=gA-_2y2xnTKzK2A9CVxXfg), which is where the Dum...
1
960
posted 15 years ago by pckujawa
C#
Persisting data using XML config files in WinForms (saving and restoring user and application data)
References: [msdn blog](http://blogs.msdn.com/youssefm/archive/2010/01/21/how-to-change-net-configuration-files-at-runtime-including-for-wcf.aspx), [devX](http://www.devx.com/dotnet/Article/41639/0/page/1)
The .NET framework provides XML configura...
2
9352
posted 15 years ago by pckujawa
This snippet builds on my last snippet regarding [User input validation in Visual Studio .NET using MaskedTextBoxes and an ErrorProvider](http://snipplr.com/view/22419/user-input-validation-in-visual-studio-net-using-maskedtextboxes-and-an-errorprovi...
0
1632
posted 15 years ago by pckujawa
I just discovered that the MaskedTextBox control allows you to set the type of data which should be entered in the control and helps you do the validation of that data when necessary. The trick is to set the ValidatingType of the MaskedTextBox contro...
0
7150
posted 15 years ago by pckujawa
Since an asynchronous method is usually one you call and then it invokes a callback when it is finished, it is not obvious how to test such a method in a definite manner. In the method described at the above URL, the author uses .NET's System.Threadi...
1
1162
posted 15 years ago by pckujawa
When I'm running unit tests, I find it very annoying to have to check equality within loops when I've got two collections of data. I know of no built-in way (let me know if there is one) [Edit: [CollectionAssert](http://msdn.microsoft.com/en-us/libra...
0
935
posted 15 years ago by pckujawa
Essentially, you need to tell Visual Studio to generate an XML file with documentation, then use a separate tool to create a help file (usually .chm) out of that XML file. The tool to use is MS's Sandcastle. You'll also want a GUI for Sandcastle, whi...
0
1070
posted 15 years ago by pckujawa
For a discussion of .NET events best-practices, see [Roy Osherove's blog post](http://weblogs.asp.net/rosherove/articles/DefensiveEventPublishing.aspx) and [this post](http://blogs.msdn.com/ericlippert/archive/2009/04/29/events-and-races.aspx). Be su...
0
950
posted 15 years ago by pckujawa
Say you've got data combined in such a way that there is a repeated row header, but all the data is in different rows. If you were to consolidate all the rows down to one, only taking valid values (discarding blanks), you'd have one header row with a...
0
721
posted 15 years ago by pckujawa
Specifically, this code enables you to pass a string from C# into C++ managed code and then get a C++ pointer to the string's chars.
[Marshal.StringToHGlobalAnsi Method](http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marsha...
0
2687
posted 15 years ago by pckujawa
This snippet is actually tested for SQL Server Compact Edition (CE) 3.5, but it will probably work for other SQL Server editions. Once you have an SQL CE db up and running, you can set the connection string to point to any directory and database by s...
0
1384
posted 16 years ago by pckujawa
See [Raise and Handle Events Generically](http://snipplr.com/view/15033/raise-and-handle-events-generically/) for a better way to use events (generically) and links to best practices in .NET events.
This example should be used as a Console program...
0
863
posted 16 years ago by pckujawa
If you add a ContextMenuStrip (the menu that shows up when you right-click on something) to your design, you can conveniently have more than one form control use that context menu. The only problem is that you don't know which control the context men...
0
1601
posted 16 years ago by pckujawa
This routine can be used to copy the byte values of a float or double. The "isBigEndian" variable needs to be determined (most PCs are little-endian, whereas most embedded microprocessors are big-endian). Instead of using unsigned chars, it can be us...
0
877
posted 16 years ago by pckujawa