Codeguru Update eNewsletter - January 15th, 2008

by Bradley L. Jones

Get the latest news, articles, and other information from around Codeguru for the week ending January 15th.

CodeGuru Newsletter
January 15, 2008

This newsletter is part of the Developer.com, EarthWeb, and internet.com networks.
Jupitermedia Corporation

___________________________ Sponsors ________________________________
This newsletter sponsored by:
Pegasus Imaging


--> Editorial
--> Recently Published Books

--> New on CodeGuru:
       ==> Controls
              - Creating a DockablePanel-Controlmanager Using C#, Part 4
       ==> Language
              - Function Calls, Part 1 (the Basics)
       ==> Mobile
              - Going Mobile with the Active Template Library
       ==> .NET Tip 
              - Filling Lists with Enums
       ==> Video - Silverlight
              - Creating a Gel (Glass) Button in Silverlight, Part I
       ==> Visual Basic
              - SendKeys

--> Discussion Groups -- HOT Threads 
       - String concatenation with backslash not working (VC++)
       - Access files from a different drive on the same server (ASP.NET)
       - WebServices: I don't get it (ASP.NET)

--> Highlighted new articles on Developer.com 
       1. Capturing Output Produced by Programs Running in a Child Process
       2. Mastering Symbian OS Arrays
       3. Working With Design Patterns: Memento

Download sample code for an easy zonal OCR / ICR application.
Input a TIFF, define a zone, perform OCR or ICR, & return
the text as a string. Discover imaging technology by
Pegasus Imaging. Contact us for all your document imaging
& forms processing technology needs like viewing, scanning,
editing, cleanup, annotation, compression, barcode, OMR,
& form identification. Download free OCR / ICR sample code,
& full-featured trial downloads at www.pegasusimaging.com

Comments from the Editor

Last week I had laser eye surgery. There are various laser surgeries being performed around the world today with the most familiar likely being Lasik and Lasek. In fact, these are so familiar now that there are numerous spam emails that you likely get on a regular basis. For those interested, I actually had PRK surgery. Regardless, a laser was used to correct the shape of the eye to correct vision. Granted, for me things are blurry today, but my vision is quickly solidifying into something much clearer than I had before.

The laser part of my surgery took 39 seconds. That was 22 seconds in one eye and 17 in another. I was thinking that it was such a quick and easy surgery that I should thank the doctor that performed it. In thinking a little deeper, I came to the serious realization that I should in fact be thanking the person that wrote the program for the laser to work properly. It is in fact the laser that did the important work. The laser knew where to fry my eye based on input into a program that told it where to point. That input was actually the output from other optical machines. It was the embedded program within the laser that really did all the magic. The doctor helps, but he is simply an assistant to the laser's program.

It is interesting to look at various professions, tasks, and events that are done in the world that really are the result of programmers. Just as the ophthalmologist running the laser is really reliant up on the computer programmer that created the system in the laser, so too are many others. Turn off the computer (the cash register) in a store and the store stops functioning. Most initial diagnostics on your car are done with computers. In fact, much of what is happening in your car is done by a computer.

The point of all this? While doctors, policemen, mechanics, and others are all very important, if you look a bit deeper, it is programmers who are making things function and actually work for all of them. Programmers are at the core of most things happening today.

I'd like to personally thank the programmer who wrote the code for the laser that spent 39 seconds correcting my eyes! I'd also like to thank the programmer who makes the stop light change when my car pulls up to an intersection. There is also the programmer who wrote the code to insure the refrigerator stays cold and the oven stay shot. And there are the programmers who....

Until next week...

Bradley L. Jones

Recently Published Books

For those of you keeping up by reading books. The following are just a few of the new books that have been recently released. If you've read any of these, feel free to write a review to be posted on CodeGuru. See the submission guidelines at:


--> Professional XNA Game Programming
      For Xbox 360 and Windows
      By Benjamin Nitschke for WROX
      480 pages for $39.99

--> Programming C# 3.0
      By Liberty & Xie for O'Reilly
      600 pages for $49.99

--> Windows SharePoint Services 3.0 Inside Out
      By Errin O'Connor for Microsoft Press
      650 pages for $49.99 w/ CD

New & Updated Articles on CodeGuru

Following are short descriptions of new articles on CodeGuru. If you are interested in submitting your own article for inclusion on the site, then you will find guidelines located at


This week's CodeGuru posts:

==> Controls

- Creating a DockablePanel-Controlmanager Using C#, Part 4
    By JonnyPoet - 
This is the 4th part of a series of articles about how to design DockingForms using a DockingManager written in C#.

==> Language

- Function Calls, Part 1 (the Basics)
    By kirants -
Begin a journey into the inner workings of how function calls work on x86 platforms,

==> Mobile

- Going Mobile with the Active Template Library
    By Nick Wienholt -
Learn how to rapidly develop applications and add-ins using ATL for Windows CE.

==> .NET Tip

- Filling Lists with Enums
    By Jay Miller -
Most applications developers build have lists or dropdowns that need to be filled with values for the user to select. This tip will show you how to use an enumeration to populate your lists.

==> Video - Silverlight

- Creating a Gel (Glass) Button in Silverlight, Part I
    By Jacob Sanford -
Creating Gel buttons doesn't require a graphics designer; it just requires a little Silverlight. (There is also a second part to this video posted that shows how to create hover affects and how to wire up the button to work.)

==> Visual Basic

- SendKeys
    By TT(n) -
The existing SendKeys class does not have a managed way to activate an external application. MSDN recommends that you should use the FindWindow and SetForegroundWindow APIs.However, this alone does not ensure that the desired application will have keyboard focus while the keys are being sent. This replacement module sends keys directly to the specified window without error.

Discussion Groups

Check out the CodeGuru discussion forums at:


Forums include Visual C++, General C++, Visual Basic, Java, General Technology, C#, ASP.NET, XML, Help Wanted, and much, much, more!


Some of the current threads with the most activity are:

==> String concatenation with backslash not working (VC++)

==> Access files from a different drive on the same server (ASP.NET)

==> WebServices: I don't get it (ASP.NET)

New Articles on Developer.com

Below are some of the new articles that have been posted to Developer.com (http://www.developer.com).

1. Capturing Output Produced by Programs Running in a Child Process
    By Richard G. Baldwin -
Learn how to capture and display the standard output and the error output produced by programs executing in a child process resulting from a call to the exec method.

2. Mastering Symbian OS Arrays
    By Alex Gusev -
It is hardly possible you could avoid using arrays during your development on any platform and in any language. On Symbian OS, you will be surprised to find what the SDK can offer you. Learn this now!

3. Working With Design Patterns: Memento
    By Jeff Langr -
The Memento design pattern presents a consistent solution for storing state, allowing you to build undo and redo support in your applications with ease.


This article was originally published on Wednesday Jan 16th 2008
Mobile Site | Full Site