<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>flickdotnet.de &#187; .NET</title>
	<atom:link href="http://www.flickdotnet.de/index.php/categories/net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flickdotnet.de</link>
	<description>Opinions, reviews and software for the Microsoft .NET Framework - focusing on Linq, ECO &#38; XPO</description>
	<pubDate>Thu, 06 May 2010 17:59:22 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Looking at DevExpress DXperience 2010.1 (beta)</title>
		<link>http://www.flickdotnet.de/index.php/2010/05/looking-at-devexpress-dxperience-20101-beta/</link>
		<comments>http://www.flickdotnet.de/index.php/2010/05/looking-at-devexpress-dxperience-20101-beta/#comments</comments>
		<pubDate>Thu, 06 May 2010 17:59:22 +0000</pubDate>
		<dc:creator>holger</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Prism]]></category>

		<guid isPermaLink="false">http://www.flickdotnet.de/?p=271</guid>
		<description><![CDATA[I am eagerly awaiting  DevExpress to release DXperience 2010.1. As a subscriber to their technologies you can access a preview version of their product and I just noticed that the Release Candidate is available.
Why am I so excited? Let me just give you a couple of reasons from what I saw with the beta [...]]]></description>
			<content:encoded><![CDATA[<p>I am eagerly awaiting  DevExpress to release DXperience 2010.1. As a subscriber to their technologies you can access a preview version of their product and I just noticed that the Release Candidate is available.<br />
Why am I so excited? Let me just give you a couple of reasons from what I saw with the beta version already:</p>
<ul>
<li><strong>The new installer</strong> gets you set up right away without any hussle. Furthermore, even the registration process is handled very easily. You do not have to fiddle with any long key strings. You simply enter your user credentials and setup will select your products. VS2008 and VS2010 can be used side by side and the installer registers all the components in both IDEs - if you wish to.</li>
<li><strong>Uninstall is just as easy and leaves no baggage behind</strong>. I think everybody who ever used a 3rd party component set knows what I am getting at&#8230;</li>
<li><strong>One installer, all the products</strong>. I just love to only have to download one file, run one installer and also only to have to enter my user credentials once. A real time-saver. You have all the components for the different frameworks and also the IDE tools. Best, if you do not like it that way, DevExpress offers individual downloads as well.</li>
<li><strong>Full integration into VS 2010</strong>. The new Visual Studio has been released recently and I can make full use of it with all the controls I need. In particular all the designers and little IDE helpers work for the full development experience. </li>
<li><strong>VS is using WPF now</strong>. DevExpress offers huge improvements in that area. The new WPF controls and the added features to the already existing WPF control set made me realize how useful the subscription is in order to stay up-to-date and be able to deliver new, innovative technologies to my customers.</li>
<li><strong>ASP.NET MVC support</strong>. Heck, I have been waiting for that. I love the MVC approach for web applications and I truly did not develop any bigger projects with MVC as I was missing the variety for controls I could use. Yes, there are JavaScript libraries, but I did not have enough time to learn yet another language</li>
<li><strong>Grids, Layout Controls and Charts</strong>. All my apps rely heavily on displaying and editing of data (I mean, most apps do). The component set offers me a very good toolset, not only to allow the user to browse data, but also to edit data. 2010.1 really took yet another giant leap forward in that area as all basic components like textedit, button edit etc. are available in WPF now as well.</li>
</ul>
<p>I could go on and on, but those are my favorite aspects I am very excited about.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flickdotnet.de/index.php/2010/05/looking-at-devexpress-dxperience-20101-beta/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Programming on the Mac/iPhone</title>
		<link>http://www.flickdotnet.de/index.php/2010/03/programming-on-the-maciphone/</link>
		<comments>http://www.flickdotnet.de/index.php/2010/03/programming-on-the-maciphone/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 15:15:22 +0000</pubDate>
		<dc:creator>holger</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Delphi]]></category>

		<category><![CDATA[MacOS]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Xcode]]></category>

		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.flickdotnet.de/?p=239</guid>
		<description><![CDATA[In my last post I spilled where my major focus lies right now. I am looking at something completely different: not a new language, but a new language, with new tools on a different platform. And believe me, it is different.
Why different? Well, not only is the syntax of the programming language on Mac very [...]]]></description>
			<content:encoded><![CDATA[<p>In my last post I spilled where my major focus lies right now. I am looking at something completely different: not a new language, but a new language, with new tools on a different platform. And believe me, it is different.</p>
<p>Why different? Well, not only is the syntax of the programming language on Mac very odd getting used to for a Delphi or C# developer, but even more using the computer is also needing some time getting used to. Shortcuts are different, there are way less visible shortcuts than on a Windows system and the general approach how to get things done is very much different. With regard to the shortcuts it is sometimes a real pain to find them and they often differ from application to application. Mac OS is very much designed for mouse users, it seems, and keyboard enthusiasts will have to read the docs carefully. A lot of people claim that it is easier and more intuitive to get started, especially if you have not used Windows before. I would not sign that statement as Mac OS has also quite some oddities just as Windows has. Just yesterday, I dragged a file onto my desktop which did not show. When I dragged it again, Mac OS told me the file was already there and if I wanted to overwrite it. Thus, it is not without flaws either. And ever since Windows 7 one can completely forget the generalization &#8220;Mac is more stable than Windows&#8221;. My Windows systems are just as stable. However, I am derailing from my train of thoughts&#8230;</p>
<p>&#8220;How would one get started to code on the Mac or code applications for the iPhone?&#8221; was the question I had to get an answer to. Firstly, give yourself time to get used to the system.  Do not try to start developing right away. It will not work. Believe me. I tried. Give it some time. Fiddle around with a Mac system at least for 1 or 2 moths before you start developing. You need to get some insight in how the system works, how applications are assembled etc. This will not happen in a week and you definitely cannot read it in a book and hope to get the same understanding as learning by doing. Of course, a book to get started with Mac OS can help. Maybe, you are as lucky as me and have some hardcore Apple Affiliates at your workplace you can nag all day long&#8230; They will forgive you for the frequent interruptions sooner or later (thanks, Volker&#8230; <img src='http://www.flickdotnet.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ).</p>
<p>Secondly, get the tools for the job. With Apple it is very easy to get the right tools in order to develop Applications for the platform as the company publishes the development environment with the operating system itself. Be sure to have a look at your Leopard DVD and install the additional features. Besides, you will miss the command-line tools after a month or so anyways and they are there as well.</p>
<p>The main development environment is called Xcode and if you ever dare to load one of the sample projects you will be overmanned. Yes, you will. There is no way around it. The code simply hits you and it might result in an abrupt thought that may say something like &#8220;How did I ever think to develop for this platform in that language?&#8221; &#8212; It definitely feels like that at first.</p>
<p>Thus, get a book. Or get two actually. One is free, the other is not. I started learning the language with a book that is just about the language. Not about any platform. Just the language. The book is called &#8216;Programming in Objective-C 2.0&#8242; bz Stephen Kochan and it gives you a very good introduction and gets you used to the funny syntax. Funny is an adjective every Delphi developer I know has used so far for that particular syntax.</p>
<p>For me it was very clear that I wanted to develop applications for the iPod Touch and iPhone. Thus, book number two. Apple has a huge archive of free documentation that comes in a very printer-friendly PDF format. The PDFs are seperated by certain topics, not just a simple reference that has been generated from source files or generated in some other way. It is like a big library at your fingertips. I read quite a few of them and they are very good to read and contain lots of useful information. Access is granted if you join the iPhone Developer Program. Unlike frequent misinformation about this topic, joining this program is free of charge. You get all the documentation and all the programming tools for free. No charge. Not once, not yearly. The only thing you are being charged for on a yearly basis is the ability to deploy to physical devices. There are several different subscription packages available, but in order to get started, you can use the free account. The software development kit (SDK) even comes with an iPhone simulator that allows you to test your application like it was running on an actual physical device. There are only a few restrictions that make using a physical device a necessity. But believe me, these will not affect you in the first couple of weeks of developing applications.</p>
<p>When you got your login details, you can use your iTunes Account as a sidenote, you can download the SDK which includes all the tools you need. Furthermore, during the download I had lots of time to read as the SDK is huge and take a long time to download through my pitiful bandwidth of 2MBits.</p>
<p>After the download, installation is only a double-click away and takes from 10 to 30 minutes. Be sure to drag Xcode into the dock - you will need it all the time.</p>
<p>But how to get started? Well, Daniel Magin suggested a book to me and that really got me started:</p>
<ul>
<li> iPhone SDK 3 (Visual QuickStart Guides) by Duncan Campbell</li>
</ul>
<p>It gives an introduction with use-cases to the most important classes that you need to use in any project and it also describes all the visual components hands-on. After reading this book - it is not that big, so I did read it completely -  you are able to write little apps and are ready to dive into the details. Oh, and be sure to download the free bonus chapters of that book. I did that with two books from Apress from the same group of authors:</p>
<ul>
<li>Beginning iPhone 3 Development: Exploring the iPhone SDK by Dave Mark and Jeff Lamarche</li>
<li>More iPhone 3 Development: Tackling iPhone SDK 3</li>
</ul>
<p>Those will keep you busy, but afterwards you will be ready to write applications for the iPhone for sure. Patience is most important while typing the new language. Furthermore, Xcode is very different when entering source code. If it felt strange using Visual Studio when being used to Delphi, it is like that&#8230;</p>
<p>For the German audience one additional hint. The German Mac keyboard is a bit odd as it has not all keys printed completely. E.g. the {} and [] are nowhere to be found. I have no idea why the German Apple keyboards are built that way. Furthermore, typing source code on a German keyboard is very clumsy. Due to that,  I have coding-keyboard with US typeface, so that I can type source code more easily. It helps quite a lot.</p>
<p>Next time I will introduce you to some architectural ideas and implementations I am dealing with right now. I have some applications that need to work on a Windows Desktop as well as offer access using the iPhone. Furthermore, a web application is not an option  I consider for the iPhone. The usability employing a native iPhone application is just so much better in my opinion.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flickdotnet.de/index.php/2010/03/programming-on-the-maciphone/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Waking up &#8212; what I&#8217;ve been up to</title>
		<link>http://www.flickdotnet.de/index.php/2010/03/waking-up-what-ive-been-up-to/</link>
		<comments>http://www.flickdotnet.de/index.php/2010/03/waking-up-what-ive-been-up-to/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 17:35:18 +0000</pubDate>
		<dc:creator>holger</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Delphi]]></category>

		<category><![CDATA[Prism]]></category>

		<guid isPermaLink="false">http://www.flickdotnet.de/?p=232</guid>
		<description><![CDATA[I neglected this blog in the last couple of months, but &#8230; I am still up and about. Actually, I have been rather busy and the blog has not been on the top of my todo list to be rather honest.
However, this is going to change in the next couple of weeks as I am [...]]]></description>
			<content:encoded><![CDATA[<p>I neglected this blog in the last couple of months, but &#8230; I am still up and about. Actually, I have been rather busy and the blog has not been on the top of my todo list to be rather honest.</p>
<p>However, this is going to change in the next couple of weeks as I am finally ready to blog about some interesting, new, innovative things that have come my way the last couple of weeks.</p>
<p>I think it is normal that from time after time you have to catch up with all the technologies that are out there and have to find your way and decide which path to take. In the last months rather than weeks, I have been reading up on software development in general, new programming languages and frameworks in these languages.</p>
<p>For example, I finally caught up with C# and all the new aspects of its new version that is being released with .NET 4 (or Visual Studio 2010 &#8212; not sure about the release cycle). The language becomes more and more handy and is filled with quite some magic to make the life of the programmer a lot easier. However, one thing that still is not solved, even in its 4th incarnation, is the missing separation of specification and implementation. Being used to Pascal or Delphi, it is really tough not having a class definition on top and the concrete implementation at the bottom. Also the possibility to define properties and fields &#8220;anywhere&#8221; in a class makes C# a bit harder to read at first. I am not going to dive into the &#8216;braces debate&#8217; as I think that it is a bit too geeky and completely insignificant. I do not care if I use &#8216;begin&#8217; or &#8216;{&#8217;. The readability, however, is important.</p>
<p>From C# I went over to frameworks that .NET offers these days. Be it ASP.NET, MVC, LINQ, Entity Framework, WCF, WPF &#8212; I looked at them all with different levels of granularity. WPF I only touched the shell, as my design skills are rather limited. I understand how everything fits together now, though, and I think that must suffice. One has to emphasize the great options the developers have to bind data to the graphical user interface using WPF.</p>
<p>WCF - knowing Indy due to Delphi quite well - is also something that triggered my interest. However, there is one component set available, for free no less, that I never saw the need to jump into it deeper than knowing what is available and how one specifies services etc. Thanks go to Hadi Hariri, for writing some great articles to get you started!</p>
<p>EF - probably the greatest disappointment for me. I did not have the nerves to look at the release candidates or Community Technology Previews that are available for the second installment. The first version did not perform to my liking. I will clearly state that it is mostly not the problem of the product, but I guess think differently and I was not able to transfer my ER-models from my head into the framework. Especially reflexive associations gave me headaches. I never got the result I was looking for.</p>
<p>EF not being what I hoped it was, I looked at Linq to SQL. This required me to learn Linq first as the specializations of Linq - obviously - require a deeper understanding of the base. So, I read into Linq and soon realized that LinqToXml would make my developer days so much more easier. LinqToXml quickly became THE toolset to read and write XML. I can say without hesitation that ever since reading and learning about LinqToXml, I use nothing else when XML is involved and I have the .NET framework available. Especially the performance on huge files of it is breathtaking. As I understood that I went over to LinqToSql. Definitely a tool one can use to write great database apps in .NET, however, spoiled developer-me, who was used to ECO, still was not satisfied. Oh, ECO, yes, I still use it and I will mention it later in this post. I want to point out though that I was able to realize a small project with LinqToSql, which I never was able to do with EF. Yes, I know, it must have been me &#8212; still, I prefer LinqToSql to EF 1.0.</p>
<p>I just realized I only mentioned LinqToXml. The simplest incarnation of Linq, which is LinqToObjects, is absolutely not missing in any of my projects. At this point I want to mention that I use Linq in C# and Delphi Prism all the same. Remember, .NET is language-agnostic. Thus, Delphi Prism or C#. Both are becoming a bliss to use with LinqToObjects as soon as lists or any other in-memory data structure is involved.</p>
<p>Good. That were the desktop app frameworks I looked at. I also looked at ASP.NET and its &#8217;spin-off&#8217; MVC, which stands for Model-View-Controller. I like the idea behind it. Actually, I like Ruby on Rails for the same reason. But, I miss the server-controls and I absolutely loathe scripting Java Script to do AJAX in web applications. Thus, MVC never grew on me. Even with all the frameworks that are available&#8230; I still never got the hang of it.</p>
<p>As I talked to a buddy from the Delphi Community, he told me he had absolutely no idea what to look at first and how to prioritize. Thus, here is my own list, how I would prioritize things. I assume that you did look at .NET in general already and thus do not need to get started with that, because that would be my number one priority right now. I still do native programming - which reminds me to ask: Why is one old-fashioned coding native? The whole iPhone SDK is a native framework&#8230; thus, it is still an up-to-date topic and not to be neglected&#8230;.</p>
<p>Thus, here the priorities for the technologies mentioned above:</p>
<ol>
<li>Linq
<ul>
<li>Linq to Objects</li>
<li>Linq to XML</li>
<li>Linq to SQL</li>
</ul>
</li>
<li>WPF</li>
<li>WCF</li>
<li>EF with version 2 just being around the corner</li>
</ol>
<p>This concludes the list of Microsoft technologies of the .NET framework I looked at. Did I stop there? No. If you had asked me three years ago, I never would have thought it possible, but I went over to a different platform. Yes, really.</p>
<p>Apple - or MacOS.</p>
<p>Ever since I held an iPod Touch in my hands it became very clear to me I wanted to be able to develop applications for these devices. But more about that and how I can connect the Objective-C applications with my .NET applications in the next blog post which will most likely not take as long to write as this one&#8230; almost a year&#8230; wow.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flickdotnet.de/index.php/2010/03/waking-up-what-ive-been-up-to/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DelphiExperts: Delphi Prism Roadshow - Building Web Applications using ASP.NET</title>
		<link>http://www.flickdotnet.de/index.php/2009/07/delphiexperts-delphi-prism-roadshow-building-web-applications-using-aspnet/</link>
		<comments>http://www.flickdotnet.de/index.php/2009/07/delphiexperts-delphi-prism-roadshow-building-web-applications-using-aspnet/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 15:07:00 +0000</pubDate>
		<dc:creator>holger</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Delphi]]></category>

		<category><![CDATA[DelphiExperts]]></category>

		<category><![CDATA[Prism]]></category>

		<guid isPermaLink="false">http://www.flickdotnet.de/?p=221</guid>
		<description><![CDATA[DelphiExperts invites you to a day where you can get state of the art developer know-how about developing Web Applications using Delphi Prism. The roadshow will be held in German language and thus I will post the announcement in German as well. Speakers for the day will be Olaf Monien and Daniel Magin.
Möchten Sie Webanwendungen [...]]]></description>
			<content:encoded><![CDATA[<p>DelphiExperts invites you to a day where you can get state of the art developer know-how about developing Web Applications using Delphi Prism. The roadshow will be held in German language and thus I will post the announcement in German as well. Speakers for the day will be Olaf Monien and Daniel Magin.</p>
<p><strong>Möchten Sie Webanwendungen (oder auch Websites) mit ASP.NET erstellen? Sie möchten dies mit Delphi tun?</strong></p>
<p>Kommen Sie auf die <a href="http://www.delphiexperts.net/delphiexperts-day-duesseldorf-27-07-2009/" target="_blank">RoadShow</a> der <a href="http://www.delphiexperts.net/" target="_blank">DelphiExperts</a>!</p>
<p>Wir zeigen Ihnen zunächst was <a href="http://prismwiki.codegear.com/" target="_blank">Delphi Prism</a> ist und wie man damit unter .NET arbeitet, danach erlernen Sie das Erstellen von ASP.NET Anwendungen. Wir werden als ganz konkretes Beispiel einen WebShop ausgehend von einem leeren Projekt aufbauen. Die komplette Themenübersicht finden Sie in den <a href="http://www.delphiexperts.net/delphiexperts-day-duesseldorf-27-07-2009/" target="_blank">Anmeldedetails</a>.</p>
<p><strong>Wann:</strong> Montag, 27.07.2009, 09.00 – 17:00 Uhr<br />
<strong>Wo:</strong> Düsseldorf, Intercity Hotel, Graf-Adolf-Straße 81-87</p>
<p><a href="http://www.delphiexperts.net/delphiexperts-day-duesseldorf-27-07-2009/" target="_blank"><img class="alignnone" style="border: 0pt none;" title="DelphiExperts Roadshow" src="http://www.monien.net/blog/wp-content/uploads/2009/07/image1.png" alt="" width="544" height="75" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flickdotnet.de/index.php/2009/07/delphiexperts-delphi-prism-roadshow-building-web-applications-using-aspnet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Newsletters worth reading</title>
		<link>http://www.flickdotnet.de/index.php/2009/05/newsletters-worth-reading/</link>
		<comments>http://www.flickdotnet.de/index.php/2009/05/newsletters-worth-reading/#comments</comments>
		<pubDate>Wed, 06 May 2009 21:02:24 +0000</pubDate>
		<dc:creator>holger</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Delphi]]></category>

		<category><![CDATA[Prism]]></category>

		<guid isPermaLink="false">http://www.flickdotnet.de/?p=212</guid>
		<description><![CDATA[Today, I have been mailed the first newsletter from Developer Express. A great resource to stay updated on their VCL and .NET controls for Delphi or Delphi Prism. Have a look at http://www.devexpress.com to subscribe yourself.
Furthermore, I enjoy reading the newsletter by http://www.tmssoftware.com which also keeps you informed about great new controls for Delphi.
I also [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I have been mailed the first newsletter from Developer Express. A great resource to stay updated on their VCL and .NET controls for Delphi or Delphi Prism. Have a look at http://www.devexpress.com to subscribe yourself.</p>
<p>Furthermore, I enjoy reading the newsletter by http://www.tmssoftware.com which also keeps you informed about great new controls for Delphi.</p>
<p>I also have to mention that a lot of the components announced there can be used for free and that alone makes the newsletters worth subscribing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flickdotnet.de/index.php/2009/05/newsletters-worth-reading/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Speaking at DelphiLive in San Jose, USA</title>
		<link>http://www.flickdotnet.de/index.php/2009/03/speaking-at-delphilive-in-san-jose-usa/</link>
		<comments>http://www.flickdotnet.de/index.php/2009/03/speaking-at-delphilive-in-san-jose-usa/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 16:32:21 +0000</pubDate>
		<dc:creator>holger</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Delphi]]></category>

		<category><![CDATA[Conference]]></category>

		<guid isPermaLink="false">http://www.flickdotnet.de/?p=201</guid>
		<description><![CDATA[A few days ago I was notified that two of my abstracts have been accepted for DelphiLive! Thus, I will be at the conference in May. Hopefully, I will be able to meet a lot of people in the Delphi Community I have not met so far as they cannot travel to Germany so easily.
My [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago I was notified that two of my abstracts have been accepted for DelphiLive! Thus, I will be at the conference in May. Hopefully, I will be able to meet a lot of people in the Delphi Community I have not met so far as they cannot travel to Germany so easily.</p>
<p>My first session will be designed for the Delphi VCL programmer who wants to start with Delphi Prism and get started in the .NET world. I will give basic insights what is different and will offer hints what concepts of the VCL can be found in the .NET world when writing client/desktop applications. Furthermore, I will introduce the concept of data binding and will give an overview of the basic .NET classes for file operations, string handling and to build elementary data structures.</p>
<p>Second, I will be joining Olaf Monien for a one-day workshop about Delphi Prism which should get you started with Prism if you have not written any applications for the .NET Framework so far.</p>
<p>More detailed information about the conference can be found on <a href="http://delphilive.com/" target="_blank">http://www.delphilive.com</a>. You can also simply click on the speaker button image in the left navigation bar. A list of my sessions can be navigated to directly using the URL <a href="http://delphilive.com/conferences/delphi_live/session/delphi_live/speaker/#2482">http://delphilive.com/conferences/delphi_live/session/delphi_live/speaker/#2482</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flickdotnet.de/index.php/2009/03/speaking-at-delphilive-in-san-jose-usa/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Holger back to duty&#8230;well, almost</title>
		<link>http://www.flickdotnet.de/index.php/2008/11/holger-back-to-dutywell-almost/</link>
		<comments>http://www.flickdotnet.de/index.php/2008/11/holger-back-to-dutywell-almost/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 10:59:45 +0000</pubDate>
		<dc:creator>holger</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.flickdotnet.de/?p=180</guid>
		<description><![CDATA[This post has been in my head for quite some time. I never knew how to get started, but a Sunday seemed like the right time to do it.
You did not read anything from me recently. Not on the newsgroups, not on my blog. If you communicate with me directly, even email and Skype was [...]]]></description>
			<content:encoded><![CDATA[<p>This post has been in my head for quite some time. I never knew how to get started, but a Sunday seemed like the right time to do it.</p>
<p>You did not read anything from me recently. Not on the newsgroups, not on my blog. If you communicate with me directly, even email and Skype was not being answered for a long time.There is a reason. A hardware related one. Sadly, it was my own hardware, i.e. my body, that was faulty.</p>
<p>On October 10th I drove home from work and a nerve that is responsible to keep your body in balance simply switched off. I was able to stop the car in time and notify emergency services. Still, it was all very scary and I am very happy to report that I am back to normal - at least almost.</p>
<p>The last 4 weeks were completely awful considering my health and the first two weeks after the infarct  of my nerve I felt dizzy after moving my head for an inch and walking was difficult. Reading, watching TV or doing anything that one normally does, was simply impossible. I spent most of the day drinking a lot of water and simply resting, listening to Audio Books.</p>
<p>As I said, I am almost back to normal as reading is still tough. I can hardly read more than a couple of pages in a book before it becomes very hard and I have to rest. My eyes were affected by the illness and I still have to see (no pun intended) how that will turn out.</p>
<p>Gladly, I will still be able to live my life as I want it to and thus will be able to participate in the Delphi and .NET community. Right after it hit me that was not so clear,  but the folks in the ER were amazing in recognizing what was wrong with me.</p>
<p>So, please be patient. I will soon have some useful content and this blog again. However, allow me some more time to recuperate. Chances that this happens again are high if you work to much right away.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flickdotnet.de/index.php/2008/11/holger-back-to-dutywell-almost/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Delphi Code Camp - Day 1</title>
		<link>http://www.flickdotnet.de/index.php/2008/09/delphi-code-camp-day-1/</link>
		<comments>http://www.flickdotnet.de/index.php/2008/09/delphi-code-camp-day-1/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 15:45:48 +0000</pubDate>
		<dc:creator>holger</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.flickdotnet.de/index.php/2008/09/delphi-code-camp-day-1/</guid>
		<description><![CDATA[As already blogged, yesterday I held a one-day seminar with Daniel R. Wolf about object-oriented programming and associated techniques. There was no other Delphi session being held at the same time. Starting today, there will be two code camps per day. Go to www.entwickler-akademie.de to get a list of sessions.
We used Delphi 2009 and the [...]]]></description>
			<content:encoded><![CDATA[<p>As already blogged, yesterday I held a one-day seminar with Daniel R. Wolf about object-oriented programming and associated techniques. There was no other Delphi session being held at the same time. Starting today, there will be two code camps per day. Go to <a href="http://www.entwickler-akademie.de">www.entwickler-akademie.de</a> to get a list of sessions.</p>
<p>We used Delphi 2009 and the crowd was rather pleased with the efficiency, speed and reliability of the new version. There were people still using Delphi 7 and Delphi 2006 and they liked a lot of new features available in the new version.</p>
<p>Today, BASTA - THE .NET conference starts and thus we had the chance to meet up with the speakers in the evening as they already arrived in Mainz. It was a great evening and it was good to catch up with them. </p>
<p>Personally, I used the opportunity to meet and talk to Oliver Sturm and Gary Short from DevExpress in person to talk about XPO and related technologies that deal with Object Relational Mapping. </p>
<p>The funniest fact of the evening was however, that Oliver and me found out that we have been living in the same city in Germany for quite some time&#8230; we never met though, even as it is a very small city.</p>
<p>Hopefully, I will be able to deliver some useful development related content soon. I have to reinstall my system as the mainboard of my new system was faulty from the start and it has been exchanged during my vacation. I also got handed a wonderful surprise that one of my additional SATA hard drives has been formatted in the process - I still wonder how to manage to format a hard disk while exchanging the mainboard and reinstalling Windows on the primary SAS disk.</p>
<p>Oh well, I am still on holiday for the next few more days and these things will not be able to spoil the experience.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flickdotnet.de/index.php/2008/09/delphi-code-camp-day-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>XtraTreeList: Which element in my IList is selected?</title>
		<link>http://www.flickdotnet.de/index.php/2008/08/xtratreelist-which-element-in-my-ilist-is-selected/</link>
		<comments>http://www.flickdotnet.de/index.php/2008/08/xtratreelist-which-element-in-my-ilist-is-selected/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 14:20:22 +0000</pubDate>
		<dc:creator>holger</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Winform]]></category>

		<category><![CDATA[XtraTreeList]]></category>

		<guid isPermaLink="false">http://www.flickdotnet.de/?p=133</guid>
		<description><![CDATA[Let us look at some common means that different frameworks use to deliver a result to this question.
As I mentioned before, I mostly used the standard .NET components or VCL controls. Data-based VCL controls can be bound to TDataSource (and derivatives due to polymorphism). If an item is being selected, the cursor in the source [...]]]></description>
			<content:encoded><![CDATA[<p>Let us look at some common means that different frameworks use to deliver a result to this question.</p>
<p>As I mentioned before, I mostly used the standard .NET components or VCL controls. Data-based VCL controls can be bound to TDataSource (and derivatives due to polymorphism). If an item is being selected, the cursor in the source moves accordingly. Thus, there is no difficulty to determine which row in the dataset it selected as it is the current row of the dataset. </p>
<p>.NET uses a different system of databinding, especially as you can bind - as I tend to say, but please do not take it literally - anything to a control. It is very flexible in that regard. Let us not even consider the possibilities that arise due to WPF. </p>
<p>In my last blog post I bound an XtraTreeList to a datasource of the datatype List<>. Any .NET standard control implements some kind of CurrencyHandler, which I find a bit too complex to use for a simple &#8220;Tell me what is selected&#8221;. Thus, I like ECO very much that it delivers a means to determine a selected object in a list of objects via its CurrencyManagerHandle. It always points to the selected object and you have a reference you can work with.</p>
<p>Now to XtraTreeList. In my example it is bound to a datasource that implements the IList interface. From reading the documentation I found out that it is very important that there is a difference between focused and selected row. Be aware that these terms play a major role which also depends on the fact if your list allows multi-selection or not. </p>
<p>In this case, we do not have multi-selection, thus the property we are interested in is called FocusedNode. The object instance we get as a return value is not of the element type of the list we bound to. Very unlucky. So, we need to investigate the return type. IntelliSense immediately offers &#8220;Id&#8221; as a property that looks like we could use.</p>
<p>In my example I query it like this:</p>
<p>[code lang="c#"]<br />
    int id = trFolders.FocusedNode.Id;<br />
[/code]</p>
<p>The Id designates the index of the element inside the element list we bound to. Excellent. I wonder why it is not named accordingly, but it is something I can live with <img src='http://www.flickdotnet.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>This leads to my final implementation to get the selected FolderTreeItem in my example:</p>
<p>[code lang="c#"]<br />
    public FolderTreeItem SelectedFolderTreeItem<br />
    {<br />
         get<br />
         {<br />
              int id = trFolders.FocusedNode.Id;<br />
              FolderTreeItem selectedItem = dataSource[id];<br />
              return selectedItem;<br />
          }<br />
    }<br />
[/code]</p>
<p>I hope this will be helpful for people as all the examples delivered with XtraTreeView I could find do not deliver an example for this. I am not saying they do not exist, but they were too hard for me to find. Furthermore, I am still used to the other means to get the selected object and can be considered &#8220;user at a basic stage&#8221; regarding the DX control set.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flickdotnet.de/index.php/2008/08/xtratreelist-which-element-in-my-ilist-is-selected/feed/</wfw:commentRss>
		</item>
		<item>
		<title>XtraTreeView: Display a tree structure easily (Binding to an IList data source)</title>
		<link>http://www.flickdotnet.de/index.php/2008/07/xtratreeview-display-a-tree-structure-easily-binding-to-an-ilist-data-source/</link>
		<comments>http://www.flickdotnet.de/index.php/2008/07/xtratreeview-display-a-tree-structure-easily-binding-to-an-ilist-data-source/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 21:28:47 +0000</pubDate>
		<dc:creator>holger</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Winform]]></category>

		<category><![CDATA[XtraTreeList]]></category>

		<guid isPermaLink="false">http://www.flickdotnet.de/?p=112</guid>
		<description><![CDATA[Today I found yet another example that most blog posts do not need to describe something extremely complicated to be helpful. I was talking to a co-worker at University about the fact that the standard TreeView control that is being delivered with the .NET libraries is a bit unusual to use. Especially, binding data to [...]]]></description>
			<content:encoded><![CDATA[<p>Today I found yet another example that most blog posts do not need to describe something extremely complicated to be helpful. I was talking to a co-worker at University about the fact that the standard TreeView control that is being delivered with the .NET libraries is a bit unusual to use. Especially, binding data to it is not an easy thing to do.</p>
<p>I immediately thought of XtraTreeView by DevExpress, which is a very complex control, but also yields excellent results without looking at it in great detail to get &#8220;some neat results and fast&#8221;.</p>
<p>For example, I had the task to display the folder structure of an Outlook data file. With the standard control you would need to add the nodes recursively, but with XtraTreeView you can data bind to a simple generic list structure. To be precise: List&lt;myClass&gt;.</p>
<p>The next screenshot shows the result you get by simply assigning the list to the data source property of the XtraTreeGrid:</p>
<p style="text-align: center;"><img class="size-full wp-image-111 aligncenter" title="Screenshot of Demo Application" src="http://www.flickdotnet.de/wp-content/uploads/2008/07/xtratree.png" alt="" width="593" height="479" /></p>
<p>You might ask &#8220;How can a tree be built from a one-dimensional list/array of objects?&#8221;. If I remember correctly, the VirtualTreeGrid component by Mike Lischke offers the same approach if I am not mistaken. I emphasize: If I remember correctly.</p>
<p>The hierarchy is being built using a property as Id which identifies every object uniquely and another property which denotes the parent object using this very Id.</p>
<p>This is the object that I want to display:</p>
<p>[code lang="c#"]<br />
public class FolderTreeItem<br />
{<br />
    public int Id { get; set; }<br />
    public int ParentId { get; set; }<br />
    public string NameShort { get; set; }<br />
    public string NameFull { get; set; }<br />
    public bool IsContactFolder<br />
    {<br />
        get<br />
        {<br />
            return isContactFolder();<br />
        }<br />
    }</p>
<p>&#8230;<br />
[/code]<br />
Note that all the information I want to display is stored in public properties. I also define two integer properties for the Id and ParentId.</p>
<p>My datasource consists of a generic list of these objects. If I assigned the datasource to a default XtraTreeList, just dropped on the form, it would be a list. No hierarchy would be created.</p>
<p>The XtraTreeList instance has two properties which one needs to adjust for the data source being used. The properties are called KeyFieldName and ParentFieldName. You may guess what values you have to enter there. KeyFieldName is being set to &#8220;Id&#8221; and ParentFieldName has to be &#8220;ParentId&#8221;.</p>
<p>That&#8217;s it.</p>
<p>After this giant modification XtraTreeList is able to display the list as a hierarchy. Not a lot of &#8220;work&#8221; was it?</p>
<p>The click event of the button which retrieves looks like this:</p>
<p>[code lang="c#"]<br />
private void simpleButton1_Click(object sender, EventArgs e)<br />
{<br />
    ConnectionWrapper wrapper = new ConnectionWrapper();<br />
    dataSource = wrapper.TreeItems;<br />
    trFolders.DataSource = dataSource;<br />
}<br />
[/code]</p>
<p>Due to the encapsulation of the Outlook part in a separate class and the use of a data structure which is prepared for the XtraTreeList the work to create a user-friendly GUI is minimal.</p>
<p><em>XtraTreeList is a component in the Winform component pack for the Microsoft .NET platform by DevExpress. More information on <a href="http://www.devexpres.com">DevExpress.com.</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flickdotnet.de/index.php/2008/07/xtratreeview-display-a-tree-structure-easily-binding-to-an-ilist-data-source/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
