Visual Studio 2010: A Step Backwards

Written by Phil Rogers on February 4, 2012 Categories: Development Tools, Programming

I always thought that the whole point of upgrading to a new version of software was because it was an improvement on the previous version. Not so with Microsoft Visual Studio 2010.

Having previously upgraded from Visual Studio 2002 (yes, it did exist!) to 2005, then to 2008 I was always pleased to see how much better each version was compared with its predecessor. Then 2010 came along. It’s a real step backwards. If you don’t have a really powerful PC with at least 4Gb of memory, you’re doomed. It’s so memory hungry and CPU intensive that any lesser PC really struggles to keep up.

Intellisense has improved in that it “knows” more than it did previously. In fact it knows so much that they had to separate it out into its own bloated application and then have two instances of it running in the background continuously. Unfortunately, it runs so slowly that it can show those squiggly red lines under errors in your code for several minutes after you’ve corrected it.

Help has now become a monster in its own right. Microsoft never seem to be able to settle on a help format. Windows Help died to be replaced by Compressed HTML Help, which has now changed into something called a Help Agent that runs in the background and uses your browser as its display. Again, it runs so slowly that I always regret pressing F1 as soon as I’ve pressed it. When it does finally load the Agent and come back with results, it never seems to supply me with the information that I need. I know that Google will give me the answer much more quickly.

The worst thing for me though, has to be the removal of support for some legacy systems. VS 2010 no longer supports development in Compact .NET for mobile devices, which means supporting any legacy software developed for PocketPC, Windows Mobile 5, 6 and 6.5 is no longer possible. If you want to do that, you’ll need to keep your VS 2005 or 2008 installed.
No, Windows Mobile 7 is now the only approved mobile platform that you can develop for in VS 2010.

You might argue that anybody buying a Windows Mobile phone is going to get one with 7 installed, but there’s still a lot of old 5s and 6s out there.

Comments Off

Delphi and TCP/IP

Written by Phil Rogers on September 28, 2011 Categories: Delphi Programming, Networking, Programming Tags: , , ,

I’ve been a user of Delphi since version 1 was released. In fact, I bought it at the UK release event. Over the years, I have upgraded to d2, d3, d4, d5, d7, d2005 and d2009. I stopped buying the upgrades when it became a bit to expensive to justify.

The networking components supplied with Delphi over the years have changed. They have all been 3rd-party products bought in, rather than ones developed in-house by Borland/Inprise/Codegear/Embarcadero, so when a set of components fell out of favour and a new set came along, they were replaced.

The first ones that I used were by NetMasters. People used to complain that they were buggy, but I always managed to get them to work although I never did anything too adventurous with them.

Then they were replaced by some other ones that I just didn’t like, and then eventually by Indy, which I also grew to hate. The reason that I don’t like Indy, when the rest of the Delphi world seems to think they are wonderful is that they are just too complicated. I have no interest in comms, so I just want to place a component on a form, give it an address and port, and write a few handlers for connect, disconnect and receive. Indy never seemed that simple to me.

Instead of Indy, I tend to use Francois Piette’s Oberbyte Internet Component Suite (ICS).
The code is well documented, the supplied examples work and are easy to understand. For me as a casual user of networking components, they just do the job in Delphi style.

Comments Off

Delphi : Counting Words in a String

Written by Phil Rogers on September 25, 2011 Categories: Delphi Programming

I was recently working on a Delphi program designed for online marketers who use articles to drive traffic to their sites.

The article directories to which they submit their articles usually require a minimum number of words, so I needed to display the number of words currently in the article editor.

A word in this context is defined as any string of consecutive characters that does not contain white-space. White-space consists of Space, Tab and Carriage Return/Line Feed characters.

I came up with a quick way of doing this, but before implementing it, I thought I would search online for methods that other people use. The first one that I came across used a loop to scan every character in the text for whitespace and increment a counter when it found some.

My method is a lot simpler and exploits the properties of TStringList.


var
  exploder : TStringList;

-
-

  exploder := TStringList.Create;
  exploder.Delimiter := chr(9); // Tab
  exploder.StrictDelimiter := false; // Also use Space as a delimiter

-
-

function Tmainform.WordCount(theText : string) : integer;
begin
  exploder.DelimitedText := theText;
  WordCount := exploder.Count;
end;

Quite simply, the text is split into words in a TStringList, using Tab and Space as delimiters. The size of the resulting TStringList is then returned.

I have found this to work at a satisfactory speed even when triggered by the OnChange event of the TRichEdit or TMemo in which the article is being typed.

Comments Off

Welcome

Written by Phil Rogers on June 21, 2010 Categories: Uncategorized

Welcome to The Articles Pages – a site dedicated to programming.

I’ll be posting about anything that crops up during my work as a software developer, which I think merits posting about.

I prefer programming in Delphi so that language is likely to dominate this blog, but I also use C++, C#, PHP and Java.

No Comments