<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Winform Programming</title><link>http://ericgharrison.com/Blog/category/1.aspx</link><description>Winform Programming</description><managingEditor>Eric G. Harrison</managingEditor><dc:language>en-US</dc:language><generator>.Text Version 0.95.2004.101</generator><item><dc:creator>Eric G. Harrison</dc:creator><title>Test Driven Development - a tough nut to crack?</title><link>http://ericgharrison.com/Blog/archive/2004/10/18/442.aspx</link><pubDate>Mon, 18 Oct 2004 09:17:00 GMT</pubDate><guid>http://ericgharrison.com/Blog/archive/2004/10/18/442.aspx</guid><wfw:comment>http://ericgharrison.com/Blog/comments/442.aspx</wfw:comment><comments>http://ericgharrison.com/Blog/archive/2004/10/18/442.aspx#Feedback</comments><slash:comments>21</slash:comments><wfw:commentRss>http://ericgharrison.com/Blog/comments/commentRss/442.aspx</wfw:commentRss><trackback:ping>http://ericgharrison.com/Blog/services/trackbacks/442.aspx</trackback:ping><description>&lt;P&gt;First, the blog entry that reminded me that I've been meaning to write about this: &lt;A href="http://pluralsight.com/blogs/craig/archive/2004/10/17/2852.aspx"&gt;TDD Is Great... Except When It Isn't&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;We've been playing around with &lt;A href="http://www.nunit.org/"&gt;nUnit&lt;/A&gt;, and we are now thinking seriously about how to implement TDD in our application development efforts.&amp;nbsp; It's pretty easy to test simple methods that don't hit a database or have major dependencies, but after that it starts to look a bit hairy.&lt;/P&gt;
&lt;P&gt;For example, it's pretty easy to write a test to make sure that your email validator method works.&amp;nbsp; Run two tests - one that passes in a valid email address and make sure you get a True back, and one that passes an invalid address and make sure you get a False back.&lt;/P&gt;
&lt;P&gt;From those basic foundations, you can create some great stuff, but the areas where we are getting stuck are when it comes to testing the entire product.&amp;nbsp; Which means you not only have to test that trying to retreive Record X actually returns it, but that you can change values in it and get them back after saving and retrieving again.&amp;nbsp; And that you can create new records.&amp;nbsp; And that you can create affiliated child records, and be able to retrieve them.&amp;nbsp; And that you can take an action on a WinForms form, which does stuff in multiple threads, and make sure all the responses come back properly.&lt;/P&gt;
&lt;P&gt;So we are headed towards using nUnit (and TDD) for the basic stuff, which will still require a ton of code to tear down an existing database and start with a new one, but we are also going to use tools designed for testing user interfaces.&amp;nbsp; I'm playing with &lt;A href="http://www.automatedqa.com/products/tc.asp"&gt;Testcomplete&lt;/A&gt; 3 from &lt;A href="http://www.automatedqa.com/"&gt;AutomatedQA&lt;/A&gt; and it seems pretty powerful at a relatively low price (around $500 compared to $5000 for their competitors).&amp;nbsp; Another option appears to be &lt;A href="http://nunitforms.sourceforge.net/"&gt;NunitForms&lt;/A&gt;, which I heard about through &lt;A href="http://haacked.com/archive/2004/10/17/1382.aspx"&gt;Haacked&lt;/A&gt;, which would be at an even better price.&lt;/P&gt;&lt;img src ="http://ericgharrison.com/Blog/aggbug/442.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Eric G. Harrison</dc:creator><title>A site containing some good looking icons...</title><link>http://ericgharrison.com/Blog/archive/2004/10/07/426.aspx</link><pubDate>Thu, 07 Oct 2004 08:21:00 GMT</pubDate><guid>http://ericgharrison.com/Blog/archive/2004/10/07/426.aspx</guid><wfw:comment>http://ericgharrison.com/Blog/comments/426.aspx</wfw:comment><comments>http://ericgharrison.com/Blog/archive/2004/10/07/426.aspx#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://ericgharrison.com/Blog/comments/commentRss/426.aspx</wfw:commentRss><trackback:ping>http://ericgharrison.com/Blog/services/trackbacks/426.aspx</trackback:ping><description>&lt;P&gt;I'm sure someday I'll have a use for &lt;A href="http://interfacelift.com/icons-win/"&gt;these&lt;/A&gt;&amp;nbsp;so I'm throwing the link up here for future use...&lt;/P&gt;&lt;img src ="http://ericgharrison.com/Blog/aggbug/426.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Eric G. Harrison</dc:creator><title>Continuous Integration and the Ambient Orb</title><link>http://ericgharrison.com/Blog/archive/2004/10/06/425.aspx</link><pubDate>Wed, 06 Oct 2004 17:17:00 GMT</pubDate><guid>http://ericgharrison.com/Blog/archive/2004/10/06/425.aspx</guid><wfw:comment>http://ericgharrison.com/Blog/comments/425.aspx</wfw:comment><comments>http://ericgharrison.com/Blog/archive/2004/10/06/425.aspx#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://ericgharrison.com/Blog/comments/commentRss/425.aspx</wfw:commentRss><trackback:ping>http://ericgharrison.com/Blog/services/trackbacks/425.aspx</trackback:ping><description>&lt;P&gt;Not only is &lt;A href="http://blogs.msdn.com/mswanson/articles/169058.aspx"&gt;this&lt;/A&gt; cool, but it's something we're going to be doing.&amp;nbsp; Right now we're working on getting &lt;A href="http://confluence.public.thoughtworks.org/display/CCNET/Welcome%2Bto%2BCruiseControl.NET"&gt;Cruise Control.NET&lt;/A&gt; and &lt;A href="http://nant.sourceforge.net/"&gt;NAnt&lt;/A&gt; to build our system cleanly.&amp;nbsp; Apparently either we do things in a way no one else is doing (unlikely) or we just don't know what we're doing (likely).&lt;/P&gt;
&lt;P&gt;Now we have to get this&amp;nbsp;Cruise Control.NET&amp;nbsp;/ NAnt process working completely quickly because I ordered the &lt;A href="http://www.thinkgeek.com/gadgets/electronic/5da2/"&gt;Orb&lt;/A&gt; a few days ago from &lt;A href="http://www.thinkgeek.com/"&gt;ThinkGeek.com&lt;/A&gt;...&lt;/P&gt;
&lt;P&gt;Natuarally, this is a complete waste of money, because we never break our builds.... yeah.... that's the ticket...&lt;/P&gt;&lt;img src ="http://ericgharrison.com/Blog/aggbug/425.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Eric G. Harrison</dc:creator><title>Hungarian notation wars...</title><link>http://ericgharrison.com/Blog/archive/2004/06/16/245.aspx</link><pubDate>Wed, 16 Jun 2004 06:09:00 GMT</pubDate><guid>http://ericgharrison.com/Blog/archive/2004/06/16/245.aspx</guid><wfw:comment>http://ericgharrison.com/Blog/comments/245.aspx</wfw:comment><comments>http://ericgharrison.com/Blog/archive/2004/06/16/245.aspx#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://ericgharrison.com/Blog/comments/commentRss/245.aspx</wfw:commentRss><trackback:ping>http://ericgharrison.com/Blog/services/trackbacks/245.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://www.secretgeek.net"&gt;Secret Geek&lt;/A&gt; does a much better job than I could disassembling the move away from Hungarian notation.&amp;nbsp; I, for one, think the move away from Hungarian is a mistake.&amp;nbsp; Go read &lt;A href="http://www.secretgeek.net/hungarian.asp"&gt;this&lt;/A&gt;&amp;nbsp;and you'll know pretty much exactly how I feel about it.&amp;nbsp; Not that you'd care, but it's a good read anyway!&lt;/P&gt;
&lt;P&gt;All our code uses Hungarian, and I'm proud of it!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://ericgharrison.com/Blog/aggbug/245.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Eric G. Harrison</dc:creator><title>Paul Vick has a good little posting on the 'native' language of .NET</title><link>http://ericgharrison.com/Blog/archive/2004/06/01/241.aspx</link><pubDate>Tue, 01 Jun 2004 07:03:00 GMT</pubDate><guid>http://ericgharrison.com/Blog/archive/2004/06/01/241.aspx</guid><wfw:comment>http://ericgharrison.com/Blog/comments/241.aspx</wfw:comment><comments>http://ericgharrison.com/Blog/archive/2004/06/01/241.aspx#Feedback</comments><slash:comments>20</slash:comments><wfw:commentRss>http://ericgharrison.com/Blog/comments/commentRss/241.aspx</wfw:commentRss><trackback:ping>http://ericgharrison.com/Blog/services/trackbacks/241.aspx</trackback:ping><description>&lt;A href="http://www.panopticoncentral.net/archive/2004/05/31/1100.aspx"&gt;http://www.panopticoncentral.net/archive/2004/05/31/1100.aspx&lt;/A&gt;&lt;img src ="http://ericgharrison.com/Blog/aggbug/241.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Eric G. Harrison</dc:creator><title>Need some FTP code to embed in your application?</title><link>http://ericgharrison.com/Blog/archive/2004/05/24/240.aspx</link><pubDate>Mon, 24 May 2004 10:52:00 GMT</pubDate><guid>http://ericgharrison.com/Blog/archive/2004/05/24/240.aspx</guid><wfw:comment>http://ericgharrison.com/Blog/comments/240.aspx</wfw:comment><comments>http://ericgharrison.com/Blog/archive/2004/05/24/240.aspx#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://ericgharrison.com/Blog/comments/commentRss/240.aspx</wfw:commentRss><trackback:ping>http://ericgharrison.com/Blog/services/trackbacks/240.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://ewbi.blogs.com/develops/"&gt;Eric Bachtal&lt;/A&gt; pointed me to &lt;A href="http://www.enterprisedt.com/products/edtftpnet/overview.html"&gt;this&lt;/A&gt; library.&amp;nbsp; It's LGPL so you can use it in your own apps without cost, and you can even distribute it.&amp;nbsp; Read their license agreement and &lt;A href="http://www.enterprisedt.com/products/edtftpnet/faq.html"&gt;FAQ&lt;/A&gt; for the important points.&lt;/P&gt;
&lt;P&gt;I haven't used this code myself yet, but it looks like it could be valuable, and save you the cost of buying (a more full featured library) from someone like &lt;A href="http://www.dart.com/dotnet/ftp.asp"&gt;Dart&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;PS: Sorry for the blizzard of posts - I'm doing some cleanup of my 'flagged for follow up' folder...&lt;/P&gt;&lt;img src ="http://ericgharrison.com/Blog/aggbug/240.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Eric G. Harrison</dc:creator><title>All you ever wanted to know about the GAC but were afraid to ask...</title><link>http://ericgharrison.com/Blog/archive/2004/05/24/238.aspx</link><pubDate>Mon, 24 May 2004 10:38:00 GMT</pubDate><guid>http://ericgharrison.com/Blog/archive/2004/05/24/238.aspx</guid><wfw:comment>http://ericgharrison.com/Blog/comments/238.aspx</wfw:comment><comments>http://ericgharrison.com/Blog/archive/2004/05/24/238.aspx#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://ericgharrison.com/Blog/comments/commentRss/238.aspx</wfw:commentRss><trackback:ping>http://ericgharrison.com/Blog/services/trackbacks/238.aspx</trackback:ping><description>&lt;P&gt;I started to read through &lt;A href="http://www.codeproject.com/dotnet/demystifygac.asp"&gt;this&lt;/A&gt; but my eyes started to glaze over, then I passed out and awoke in a field full of Java dreams.&amp;nbsp; Or something like that.&amp;nbsp; Maybe they were just &lt;A href="http://www.kyne.com.au/~mark/photos/flowers/dandelion.jpg"&gt;dandelions&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;I prefer to stick with xcopy deployment.&amp;nbsp; Stick with that and GAC just sounds like something that&amp;nbsp;&lt;A href="http://alcyone.cc.uch.gr/~kosmas/ACK.html"&gt;Bill The Cat&lt;/A&gt; from &lt;A href="http://www.berkeleybreathed.com/cartoon_collections.html"&gt;Bloom County&lt;/A&gt; would say...&lt;/P&gt;&lt;img src ="http://ericgharrison.com/Blog/aggbug/238.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Eric G. Harrison</dc:creator><title>Everyone already knows about ConnectionStrings.com, right?</title><link>http://ericgharrison.com/Blog/archive/2004/05/24/237.aspx</link><pubDate>Mon, 24 May 2004 10:03:00 GMT</pubDate><guid>http://ericgharrison.com/Blog/archive/2004/05/24/237.aspx</guid><wfw:comment>http://ericgharrison.com/Blog/comments/237.aspx</wfw:comment><comments>http://ericgharrison.com/Blog/archive/2004/05/24/237.aspx#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://ericgharrison.com/Blog/comments/commentRss/237.aspx</wfw:commentRss><trackback:ping>http://ericgharrison.com/Blog/services/trackbacks/237.aspx</trackback:ping><description>&lt;P&gt;I learned about it a few days ago from &lt;A href="http://blogs.xtras.net/mikes/"&gt;Mike Schinkel's&lt;/A&gt; blog.&amp;nbsp; If you need a connection string, &lt;A href="http://www.connectionstrings.com"&gt;this&lt;/A&gt; is the place to go...&lt;/P&gt;
&lt;P&gt;Blogged so I don't forget about it...&lt;/P&gt;&lt;img src ="http://ericgharrison.com/Blog/aggbug/237.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Eric G. Harrison</dc:creator><title>Avoiding work with the DirectX 9 SDK and VB.Net</title><link>http://ericgharrison.com/Blog/archive/2004/05/24/234.aspx</link><pubDate>Mon, 24 May 2004 07:01:00 GMT</pubDate><guid>http://ericgharrison.com/Blog/archive/2004/05/24/234.aspx</guid><wfw:comment>http://ericgharrison.com/Blog/comments/234.aspx</wfw:comment><comments>http://ericgharrison.com/Blog/archive/2004/05/24/234.aspx#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://ericgharrison.com/Blog/comments/commentRss/234.aspx</wfw:commentRss><trackback:ping>http://ericgharrison.com/Blog/services/trackbacks/234.aspx</trackback:ping><description>&lt;P&gt;Microsoft does have a way of providing very cool technology in for us developers.&amp;nbsp; I downloaded the &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/downloads/list/directx.asp"&gt;DirectX 9 SDK&lt;/A&gt; and installed it this morning.&amp;nbsp; With just two lines of code, I was playing audio files, and with a few more lines I was playing video files.&amp;nbsp; If you are looking for a distraction away from real work, go get the SDK and then in your favorite language do something similar to the following:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;Dim objMusic as New Microsoft.DirectX.AudioVideoPlayback.Audio(&amp;#8221;pathtomusic.mp3&amp;#8221;)&lt;BR&gt;objMusic.Play()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;That's it.&amp;nbsp; You're listening to music.&amp;nbsp; For a video, do this:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;Dim objVideo as New Microsoft.DirectX.AudioVideoPlayback.Video(&amp;#8221;pathtovideo.mpg&amp;#8221;)&lt;BR&gt;objVideo.Play()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Ta-da!&amp;nbsp; Obviously you can do much more, but this is a nice sample of how simple it is to get things working.&amp;nbsp; Not to pick on Linux (given that I can barely get Mahjongg to work in it), but this is why Windows is such a successful platform.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Now I'm off to figure out how to create Space Invaders or something...&amp;nbsp; Or at least draw a circle...&lt;/P&gt;&lt;img src ="http://ericgharrison.com/Blog/aggbug/234.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Eric G. Harrison</dc:creator><title>Take a look at w3schools.com sometime...</title><link>http://ericgharrison.com/Blog/archive/2004/05/12/226.aspx</link><pubDate>Wed, 12 May 2004 07:14:00 GMT</pubDate><guid>http://ericgharrison.com/Blog/archive/2004/05/12/226.aspx</guid><wfw:comment>http://ericgharrison.com/Blog/comments/226.aspx</wfw:comment><comments>http://ericgharrison.com/Blog/archive/2004/05/12/226.aspx#Feedback</comments><slash:comments>18</slash:comments><wfw:commentRss>http://ericgharrison.com/Blog/comments/commentRss/226.aspx</wfw:commentRss><trackback:ping>http://ericgharrison.com/Blog/services/trackbacks/226.aspx</trackback:ping><description>I had&amp;nbsp;used the&amp;nbsp;&lt;A href="http://www.w3schools.com/"&gt;W3Schools.com&lt;/A&gt;&amp;nbsp;website a long time ago to learn some HTML stuff.&amp;nbsp; Today, I saw a reference to them on Channel9.msdn.com and I popped over there to scope things out.&amp;nbsp; There's a lot of stuff on there, and it's all free.&amp;nbsp; While the lessons are not too in depth usually, it's a cool and simple resource for the quick education we all sometimes need.&lt;img src ="http://ericgharrison.com/Blog/aggbug/226.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>