On this page...
|| Tuesday, November 9, 2004
You don't know the IOCCC (IO Triple-C, International Obfuscated C Code Contest)? The following goals are set forth for the contest:
- To write the most Obscure/Obfuscated C program under the rules below.
- To show the importance of programming style, in an ironic way.
- To stress C compilers with unusual code.
- To illustrate some of the subtleties of the C language.
- To provide a safe forum for poor C code.
As I started my Windows programming career on C (ah, message loop!), I'm still an aficionado of this contest. And you'll be too once you come to appreciate the elegance of this year's winning entries.
|| Monday, November 8, 2004
I have been busy refactoring the Registry Editor, converting it from hack to architecture. As I plan to release the source code for it, I want it to be well-structured and easily extensible (I don't think I'll do editors for all registry data types). Can't wait for VS.NET 2005 where refactoring will be built in, though you can easily get ReSharper today. Online resources aside, the Refactoring dead-tree edition from Fowler should sit on every developer's bookshelf.
To close this post, one more screenshot of the Registry Editor in action - the menu:
Got bitten once again with gratitious help of VS.NET 2003: how does tab order work on the Compact Framework? Based on the order in which controls are added to the Controls collection in InitializeComponent - and guess what, VS.NET does this in reverse order, or the Forms Designer, to be more precise. Details in the section "Tab Order and Focus" in here.
|| Saturday, November 6, 2004
What is the behavior of a tree view control? Well, it lets you expand the tree - but what should it do when you reach a leaf node? Right,
switch to List View mode where you can view and edit the values.
Download video (199.9 KB)
This turned out to be unnecessarily complicated - because I painted myself into a corner, sort of with the help of Visual Studio .NET 2003. When I added an image list, upon load I'd run into an exception of MissingManifestResourceException.
I thought wtf? I didn't do anything. Well, mostly nothing. I found the KB article BUG: "System.Resources.MissingManifestResourceException" error message after you change the name of a localized form class in Visual C++ .NET 2003 which was sort of helpful: I found the cause, but the remedy didn't work for SmartPhone applications... here's the lowdown: my main form had the class name RegistryEditorForm, the file name though was RegistryForm.cs (.resx is of course the same, automagically). So now the resource is compiled using the file name, and the class name is different - exception. Change the class name to be identical to the .resx file name - success.
But at least the list view looks now a lot nicer than before (note that in debug mode I display the data types instead of the value names):
|| Friday, November 5, 2004
One more step completed - a bare-bones string value editor (yes, for both editing existing and adding new string values):
Now, the bad news is that the OpenNETCF.org Smart Device Framework won't cut the mustard for the editing part - I will have to resort to P/Invoke for getting at the value data types correctly. I knew that P/Invoke would rear its ugly head rather sooner than later. Anyways, nice learning project.
(1) Registry Editor for SmartPhone
(2) Registry Editor for SmartPhone, List View
In addition to the tree view as reported earlier, I now also got the list view up running:
Note that pretty icons ("UI candy") are missing (eg folder or value data type), but getting functionality done is more interesting at the moment. When switching from tree view to list view, I already switch to the very same registry path, missing is path preservation on the switch back from list view to tree view.
I promised that I would write some SmartPhone applications now that I have an SPV C500 Developer Edition, and today I got around to installing the SDKs - and immediately got started with my very first Compact Framework application, a full-blown registry editor (now how nerdy is that for your first application?). The tree view is already done as shown in the emulator screenshot below:
List View and then editing support is next. Not too bad a result for playing for less than an hour, now is it?
|| Thursday, November 4, 2004
The schedule for SQL Server 2005 Web casts is quite packed in December:
- Webcast 12/6: Overview of the new Developer features in SQL Server 2005—Level 200
- Webcast 12/6: Introducing the New SQL Server Management Studio—Level 100
- Webcast 12/6: SQL Server 2005 as a .NET Runtime Host—Level 100
- Webcast 12/7: T-SQL Enhancements in SQL Server 2005—Level 200
- Webcast 12/7: Introducing XML in SQL Server 2005—Level 200
- Webcast 12/7: Introducing ADO.NET 2.0 for SQL Server 2005—Level 200
- Webcast 12/8:The New Security Model in SQL Server 2005—Level 200
- Webcast 12/8: Introducing Web Services in SQL Server 2005—Level 200
- Webcast 12/8: Introducing Service Broker in SQL Server 2005—Level 200
- Webcast 12/9: Introducing Reporting Services for SQL Server 2005—Level 200
- Webcast 12/9: Introducing SQL Server Integration Services for SQL Server 2005—Level 200
- Webcast 12/9: Introducing SQL Server 2005 Analysis Services for Developers—Level 200
- Webcast 12/10: Introducing Full-Text Search in SQL Server 2005—Level 200
- Webcast 12/10: Introducing Replication in SQL Server 2005—Level 200
- Webcast 12/10: Introducing Notification Services in SQL Server 2005—Level 200
|| Wednesday, November 3, 2004
© Copyright 2020 Christoph Wille
newtelligence dasBlog 2.3.9074.18820