The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,839 other subscribers

Archive for the ‘Software Development’ Category

c# – What’s the hardest or most misunderstood aspect of LINQ? – Stack Overflow

Posted by jpluimers on 2013/05/07

It is such a pity that StackOverflow is not the place any more for questions like these:

c# – What’s the hardest or most misunderstood aspect of LINQ? – Stack Overflow.

These questions and answers historically got me most of the insight from SO.

Alas, no more.

–jeroen

Posted in .NET, Development, LINQ, Opinions, Pingback, Software Development, Stackoverflow | Leave a Comment »

Some Delphi & C#/.NET links on XML related stuff

Posted by jpluimers on 2013/05/02

for my link archive:

–jeroen

Posted in .NET, C#, Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Development, Software Development | 1 Comment »

FMX is not a VCL replacement

Posted by jpluimers on 2013/05/01

This is more elaborate English version of a short Dutch message I recently sent to explain the differences between VCL and FMX:

Do not regard FMX as a replacement for VCL: they are different kinds of frameworks.

VCL is a wrapper around Windows Controls. In itself, it has not much functionality: it exposes the underlying Windows functionality. The exception are data aware controls that provide basic functionality for writing data aware applications. There is a huge 3rd party market for extending VCL support, for instance providing extra Windows functionality, enriching data aware behaviour (look at all those fancy data aware grids), and many more.

FMX  is the FireMonkey X-platform framework. Major functionalities are vector based 2D, 3D drawing and controls, and support for styles and composition.

When introducing FMX in Delphi XE2, Embarcadero also introduced a new way of data binding that is shared with FMX and VCL. FMX extends this a bit to some basic data aware controls.

Gone are most of the platform specific features like drag & drop, full blown Windows Shell ListViews, etc. There are some controls that manifests themselves differently on each supported platform (like Pickers), but most of that is currently left to the 3rd party FMX component market.

So if you want FMX to replace VCL, then be prepared for quite some shopping in the 3rd party market.

CLX tried to be a full blown cross platform VCL replacement, but that didn’t work very well.

–jeroen

Posted in Delphi, Delphi XE2, Delphi XE3, Delphi XE4, Development, FireMonkey, OS X FMX, Software Development | Tagged: , , , , , , | 1 Comment »

Creating Lnk ShortCut files the programmatic way

Posted by jpluimers on 2013/05/01

A while ago, I needed to automatically create a bunch of shortcuts all in the same directory, and all the batch files in a different directory.

There’s different kinds of doing this:

I needed a one-off, so I came up with some code like this. Read the rest of this entry »

Posted in Development, Scripting, Software Development, VBScript | Leave a Comment »

Counting Lines of Source Code in PowerShell | Precision Computing

Posted by jpluimers on 2013/04/30

Precision Computing is a site by Lee Holmes having a great blog with PowerShell tips. Of course he does, as he is part of the PowerShell team and he wrote Windows PowerShell Cookbook: The Complete Guide to Scripting Microsoft’s New Command Shell.

The Counting Lines of Source Code in PowerShell entry is on counting C# code lines (and shows some great performance optimization tips).

I knew about the blog, and bumped into the entry because of file – Lines-of-code counting for many C# solutions – Stack Overflow.

Last year I inherited a suite of .NET projects totaling about 4 million LOC. Which I want to drastically reduce to make it more maintainable.

–jeroen

Posted in .NET, C#, C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, CommandLine, Development, PowerShell, Software Development | Leave a Comment »

Delphi: Thomas Mueller is fast – experimental GExperts + code formatter for Delphi XE4 « twm’s blog

Posted by jpluimers on 2013/04/28

Thomas Mueller is fast: experimental GExperts + code formatter for Delphi XE4 « twm’s blog.

–jeroen

Posted in Delphi, Delphi XE4, Development, Software Development | Leave a Comment »

What do you mean “cannot use parentheses?” – Fabulous Adventures In Coding – Site Home – MSDN Blogs

Posted by jpluimers on 2013/04/25

Eric Lippert:

Ah, VBScript. It just wouldn’t be the same without these quirky gotchas.

So either perform Call, assign the function result, or use less parenthesis.

Another thing that drives me crazy with VBScript is that you can only specify ByVal or ByRef, but not specify what type a parameter (string, integer, etc) will be.

VBScript will just barf with “Microsoft VBScript compilation error: Expected ‘)’” at the first As. or colon (:) when you declare Sub or Function parameters like this:

  • Function Describe(ByVal FileName As String, ByVal Description As String)
  • Function Describe(ByVal FileName : String, ByVal Description : String)

The reason is that the colon is end-of-statement token, which means you can string statements together, an can Dim and assign a variable in one line:

  • Dim PathName : PathName = FileName

To quote ebgreen:

VB is NOT VB.Net which is NOT VBA which is NOT VBScript

Oh and Debugging VBScript is indispensable (:

–jeroen

via: What do you mean “cannot use parentheses?” – Fabulous Adventures In Coding – Site Home – MSDN Blogs.

Posted in Development, Scripting, Software Development, VBScript | Leave a Comment »

Delphi static class methods are assignment compatible with plain old function pointers

Posted by jpluimers on 2013/04/24

So I won’t forget, as the  [WayBackstatic in different languages varies in meaning:

[WayBack] Static on class methods makes them assignment compatible with plain old function pointers.

Thanks Moritz Beutel for initially posting this.

–jeroen

via:

related:

  • [Archive.isFacebook – Delphi developer: static class methods
  • [WayBack] Delphi 2007: Methods; Class Methods:

    Like class methods, class static methods can be accessed without an object reference. Unlike ordinary class methods, class static methods have no Self parameter at all. They also cannot access any instance members. (They still have access to class fields, class properties, and class methods.) Also unlike class methods, class static methods cannot be declared virtual.

    Methods are made class static by appending the word static to their declaration.

Posted in Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Development, Software Development | 5 Comments »

CodePage 0 is CP_ACP, the default Ansi CodePage on a system, you can change it without reinstalling Windows

Posted by jpluimers on 2013/04/23

You might think the below question on CodePage zero is Delphi related, but most of it is not.

It is about CP_ACP (the currently Active CodePage, and has some interesting observations:

CP_ACP is the major reason people have difficulties exchanging the data in text files between applications on different computers.

Oh and you can get the actual value of the active Active CodePage using GetACP, but CP_ACP isn’t always slower..

–jeroen

via: delphi – What is Codepage 0? – Stack Overflow.

Posted in .NET, Delphi, Development, Software Development | Leave a Comment »

Some links to articles on how COM and LPT ports are stored in the registry

Posted by jpluimers on 2013/04/18

Link clearance, mostly centered around “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports” and “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices“:

–jeroen

Posted in .NET, Delphi, Development, Software Development | 2 Comments »