<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/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>.NET Compact Framework</title>
        <link>http://geekswithblogs.net/BruceEitman/category/8522.aspx</link>
        <description>A collection of .NET Compact Framework information from a C/C++ programmer</description>
        <language>en-US</language>
        <copyright>Bruce Eitman</copyright>
        <managingEditor>Bruce.Eitman@EuroTech.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>C#: My Picture Frame Application</title>
            <link>http://geekswithblogs.net/BruceEitman/archive/2008/08/06/c-my-picture-frame-application.aspx</link>
            <description>&lt;div style="MARGIN: 0in 0in 10pt"&gt;&lt;a target="_blank" href="http://home.roadrunner.com/~bruceeitman/BlogDownloads/PictureFrame.html"&gt;&lt;u&gt;&lt;strong&gt;Download Source Code&lt;/strong&gt;&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;As promised here is the source code for my Picture Frame application.   For a desciption of how I wrote this see &lt;a href="http://geekswithblogs.net/BruceEitman/archive/2008/08/05/why-this-cc-programmer-struggled-with-writing-a-simple-c.aspx"&gt;&lt;u&gt;&lt;strong&gt;Why this C/C++ programmer struggled with writing a simple C# application&lt;/strong&gt;&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;This application runs full screen, although I haven’t spent any time or thought into hiding the task bar since I run it without the Explorer shell. It then displays JPEG or BMP files found in the root folder of either \Storage Card or \Hard Disk. It displays the pictures one at a time for 10 seconds.&lt;/div&gt;
&lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 1pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 1pt; BORDER-BOTTOM: windowtext 1pt solid"&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span style="COLOR: blue"&gt;using&lt;/span&gt; System;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span style="COLOR: blue"&gt;using&lt;/span&gt; System.Drawing;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span style="COLOR: blue"&gt;using&lt;/span&gt; System.Windows.Forms;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span style="COLOR: blue"&gt;using&lt;/span&gt; System.Threading;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span style="COLOR: blue"&gt;using&lt;/span&gt; System.IO;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt; &lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span style="COLOR: blue"&gt;namespace&lt;/span&gt; PictureFrame&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;{&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;    &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;delegate&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; &lt;span style="COLOR: teal"&gt;DelegateChangeBMP&lt;/span&gt;(&lt;span style="COLOR: teal"&gt;Bitmap&lt;/span&gt; BMP);&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt; &lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;    &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;partial&lt;/span&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: teal"&gt;Form1&lt;/span&gt; : &lt;span style="COLOR: teal"&gt;Form&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: teal"&gt;DelegateChangeBMP&lt;/span&gt; m_DelegateChangeBMP;&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 10pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        &lt;span style="COLOR: teal"&gt;Thread&lt;/span&gt; m_PictureUpdateThread;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;The constructure for Form1 sets up the delagate function for changing the PictureBox image and starts the PictureUpdate thread.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt; &lt;/div&gt;
&lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 1pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 1pt; BORDER-BOTTOM: windowtext 1pt solid"&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; Form1()&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;            InitializeComponent();&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt; &lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;            m_DelegateChangeBMP = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;DelegateChangeBMP&lt;/span&gt;( &lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.ChangeBMP );&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;            m_PictureUpdateThread = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;Thread&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;ThreadStart&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.StartPictureUpdate));&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;            m_PictureUpdateThread.Start();&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 10pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;StartPictureUpdate creates a runs as a new thread, and runs the picture update.&lt;/div&gt;
&lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 1pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 1pt; BORDER-BOTTOM: windowtext 1pt solid"&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        &lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; StartPictureUpdate()&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;            &lt;span style="COLOR: teal"&gt;CPictureUpdate&lt;/span&gt; PictureUpdate;&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt; &lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;            PictureUpdate = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;CPictureUpdate&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;            PictureUpdate.Run();&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 10pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;ChangeBMP assigns the new Bitmap to the PictureBox image and invalidates the PictureBox so that it redraws.&lt;/div&gt;
&lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 1pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 1pt; BORDER-BOTTOM: windowtext 1pt solid"&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; ChangeBMP(&lt;span style="COLOR: teal"&gt;Bitmap&lt;/span&gt; BMP)&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;            &lt;span style="COLOR: blue"&gt;if&lt;/span&gt;( pictureBox1.Image != &lt;span style="COLOR: blue"&gt;null&lt;/span&gt; )&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;                pictureBox1.Image.Dispose();&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;            pictureBox1.Image = BMP;&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;            pictureBox1.Visible = &lt;span style="COLOR: blue"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;            pictureBox1.Invalidate();&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt; &lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;    }&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt; &lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;    &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: teal"&gt;CPictureUpdate&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        &lt;span style="COLOR: green"&gt;// Reference to main form used to make syncronous user interface calls:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 10pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        &lt;span style="COLOR: teal"&gt;Form1&lt;/span&gt; m_form;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;CPictureUpdate is passed a reference to the main form. CPictureUpdate.Run() loops through an array of search directories. For each directory, it loops through an array of file types to find the picture files to display. Each picture file is passed to the main form by Invoking the delegate function.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt; &lt;/div&gt;
&lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 1pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 1pt; BORDER-BOTTOM: windowtext 1pt solid"&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; CPictureUpdate(&lt;span style="COLOR: teal"&gt;Form1&lt;/span&gt; form)&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;            m_form = form;&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt; &lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        &lt;span style="COLOR: green"&gt;// Function runs in worker thread and emulates long process.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; Run()&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;            &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;[] FileType = {&lt;span style="COLOR: maroon"&gt;"*.jpeg"&lt;/span&gt;, &lt;span style="COLOR: maroon"&gt;"*.jpg"&lt;/span&gt;, &lt;span style="COLOR: maroon"&gt;"*.bmp"&lt;/span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;            &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;[] SearchDir = {&lt;span style="COLOR: maroon"&gt;"\\Storage Card"&lt;/span&gt;, &lt;span style="COLOR: maroon"&gt;"\\Hard Disk"&lt;/span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt; &lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;&lt;span&gt;&lt;font size="2"&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;         while&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;font size="2"&gt;)&lt;br /&gt;
         &lt;/font&gt;&lt;font size="2"&gt;{&lt;br /&gt;
               &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;foreach&lt;/font&gt;&lt;font size="2"&gt;( &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt; Dir &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;in&lt;/font&gt;&lt;font size="2"&gt; SearchDir )&lt;br /&gt;
               {&lt;br /&gt;
                    &lt;/font&gt;&lt;font color="#008080" size="2"&gt;DirectoryInfo&lt;/font&gt;&lt;font size="2"&gt; DI = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#008080" size="2"&gt;DirectoryInfo&lt;/font&gt;&lt;font size="2"&gt;(Dir);&lt;br /&gt;
                    &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;font size="2"&gt; (DI.Exists)&lt;br /&gt;
                    {&lt;br /&gt;
                         &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;foreach&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt; Type &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;in&lt;/font&gt;&lt;font size="2"&gt; FileType)&lt;br /&gt;
                         {&lt;br /&gt;
                               &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;foreach&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#008080" size="2"&gt;FileInfo&lt;/font&gt;&lt;font size="2"&gt; fi &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;in&lt;/font&gt;&lt;font size="2"&gt; DI.GetFiles(Type))&lt;br /&gt;
                               {&lt;br /&gt;
                                     &lt;/font&gt;&lt;font size="2"&gt;m_form.Invoke(m_form.m_DelegateChangeBMP,&lt;br /&gt;
                                     &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#008080" size="2"&gt;Bitmap&lt;/font&gt;&lt;font size="2"&gt;(fi.FullName));&lt;/font&gt;&lt;font color="#008000" size="2"&gt;                                     // Let the BMP display for 10 seconds&lt;br /&gt;
                                    &lt;/font&gt;&lt;font color="#008080" size="2"&gt;Thread&lt;/font&gt;&lt;font size="2"&gt;.Sleep(10000);&lt;br /&gt;
                               }&lt;br /&gt;
                         }&lt;br /&gt;
                   }&lt;br /&gt;
            }&lt;br /&gt;
       }&lt;br /&gt;
&lt;/font&gt;&lt;/span&gt;&lt;span&gt;    }&lt;/span&gt;&lt;/div&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none"&gt;}&lt;/div&gt;
&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="FONT-SIZE: 9pt; LINE-HEIGHT: 115%"&gt;The project is very simple, I created a smart device application project and dropped a PictureBox on the form.   Then I set the properties of the PictureBox SizeImage to StrechImage and Dock to Fill.  Then I set the form property WindowState to Maximize.&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="FONT-SIZE: 9pt; LINE-HEIGHT: 115%"&gt;Tags: &lt;/span&gt;&lt;a rel="tag" href="http://technorati.com/tags/C"&gt;&lt;span style="FONT-SIZE: 9pt; LINE-HEIGHT: 115%"&gt;C#&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal" align="center"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;Copyright © 2008 – Bruce Eitman&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal" align="center"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;All Rights Reserved&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124281"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124281" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/BruceEitman/aggbug/124281.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Bruce Eitman</dc:creator>
            <guid>http://geekswithblogs.net/BruceEitman/archive/2008/08/06/c-my-picture-frame-application.aspx</guid>
            <pubDate>Thu, 07 Aug 2008 01:24:59 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/BruceEitman/comments/124281.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/BruceEitman/archive/2008/08/06/c-my-picture-frame-application.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/BruceEitman/comments/commentRss/124281.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Why this C/C++ programmer struggled with writing a simple C# application</title>
            <link>http://geekswithblogs.net/BruceEitman/archive/2008/08/05/why-this-cc-programmer-struggled-with-writing-a-simple-c.aspx</link>
            <description>&lt;div style="MARGIN: 0in 0in 10pt"&gt;As a developer of single board computers, we at Eurotech Inc, have some single board computers lying around the office, and a few LCD panels. I thought that it might be fun to put one to use as an electronic picture frame. My goal is to hang it on the wall to show picture of some of the work that we do. This is also an opportunity to work on my C# skills.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;I am not an application developer, so of course I am no expert on the .NET Compact Framework or C#. I have been working with C# to maintain an application that one of my engineers developed.   The good news for me is that the .NET Compact Framework made it easy for me to write the application, the bad news is that as a C/C++ driver developer I spent a lot of time searching for the wrong things.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt; The following may be more interesting for how I got to the end, rather than for the code that I developed. &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;I decided to start simple by figuring out how to display a Windows Bitmap file. I Googled for “C# display bmp” and found what I needed quickly. By adding a System.Windows.Forms.PictureBox to my form, all I needed to to was then assign a Bitmap to the PictureBox.Image and Invalidate the PictureBox. That was just too easy. I added the following, after letting Visual Studio name my PictureBox to pictureBox1:&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;PictureBox1.Image = new Bitmap( \\Storage Card\\image.bmp);&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;Now the hard part, update the bitmap with a new one on a regular basis. I have done a little Windows application development, so I know enough to be dangerous. I decided to use a separate thread to search a folder for bitmap files. The first task was to figure out how to find the files. I Googled for “C# FindFirstFile” which of course is a good WIN32 C/C++ function for finding files, and as luck would have it, this turned up DirectoryInfo as a way to find the files. So to find the BMP files on my Storage Card I added:&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="COLOR: blue"&gt;foreach&lt;/span&gt; (&lt;span style="COLOR: teal"&gt;FileInfo fi &lt;span style="COLOR: blue"&gt;in&lt;/span&gt; &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;DirectoryInfo&lt;/span&gt;(&lt;span style="COLOR: maroon"&gt;"\\Storage Card"&lt;/span&gt;).GetFiles(“*.BMP”))&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;{&lt;br /&gt;
} &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;I will fill in the loop later, but first I need to figure out how to do something with the file once I find it. Now I need that thread I wanted to create, and this turned out to be the most difficult part of the application. It probably would have been easy if I had a good C# book, or if I wasn’t a C/C++ programmer. But as a C/C++ programmer I was searching for the wrong things. Finding information about creating a thread and blocking execution wasn’t so hard. I found information and created a thread which was able to find the BMP files on the Storage Card, that wasn’t a problem at all.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;The problem was that a data thread, which is what my thread to find BMPs is, cannot access the Windows Form data directly. I have enough experience with Windows programming to know that well. Now I needed to find information about how to deal with this in C#. If I were writing this in C++, I would simply add a handler to the system and send a message to the Window to update the data. That knowledge probably made this more difficult for me. I Googled for “C# SendMessage” and found many results telling me how to P/Invoke the SendMessage function. That was my first clue that using SendMessage was not the best way to accomplish my goal in C#.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;I searched for several hours for all of the C/C++ terms that I could think of to figure out how to update the BMP being displayed. Finally, I started to hit on the right information to get going, but not completely. I started to understand that what I needed was to Invoke() a Delegate function. &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;A few days later I was talking with Chris Tacke from OpenNETCF who laughed at me and told me that I needed a Delegate, like it is a no brainer for a C# programmer. But I was trying to do it without his help.   &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;A little more searching and I figured out how to use a Delegate in a Windows Form. I also expanded it to search other folders and file types. &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;So the lessone here is to understand the language and API well enough to be able to search for the correct terms.  Otherwise it is easy to get off track with good answers to bad questions.  &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;I will discuss the code in a future post.  UPDATE:  See &lt;a href="http://geekswithblogs.net/BruceEitman/archive/2008/08/06/c-my-picture-frame-application.aspx"&gt;&lt;u&gt;&lt;strong&gt;C#: My Picture Frame Application&lt;/strong&gt;&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 9pt; LINE-HEIGHT: 115%"&gt;Tags: &lt;a rel="tag" href="http://technorati.com/tags/C#"&gt;C#&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/.NET%20Compact%20Framework"&gt;.NET Compact Framework&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal" align="center"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;Copyright © 2008 – Bruce Eitman&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal" align="center"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;All Rights Reserved&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124258"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124258" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/BruceEitman/aggbug/124258.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Bruce Eitman</dc:creator>
            <guid>http://geekswithblogs.net/BruceEitman/archive/2008/08/05/why-this-cc-programmer-struggled-with-writing-a-simple-c.aspx</guid>
            <pubDate>Wed, 06 Aug 2008 02:49:07 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/BruceEitman/comments/124258.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/BruceEitman/archive/2008/08/05/why-this-cc-programmer-struggled-with-writing-a-simple-c.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/BruceEitman/comments/commentRss/124258.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>