Wednesday, August 18, 2010

Quick update for PingGraph

I just put an update up for download, version 3.0.0.1.

I needed to fix date parsing on the message of the day for Eropean customers which use day/month/year instead of month/day/year. It broke the message of the day parsing code.

Also, I added several more error messages in case things go wrong. It should give you a reason why if it stops working. Thanks for your patience as I work through these issues as they pop up.

Tuesday, August 17, 2010

User survey

I have put together a survey for current and potential users of PingGraph to identify a few things about how they do their job how to reach people who can make good use of PingGraph. Please stop by and take the survey.

Double Release Day

Both PingGraph (version 3.0.0.0) and GPSMonitor (version 1.0.0.5) have been updated and are available for download.

PingGraph has a whole new design. New graphs, new data storage and logging capabilities, and much faster rendering of easily scalable graphs.

GPSMonitor now allows you to save a copy of the raw NMEA data to a text file.

In honor of the new release, PingGraph is on sale for 25% off until September 15th, 2010. When ordering, just enter the coupon code "3.0 Intro" to get the discount. Please pass the coupon code around to everyone you know!

If you have purchased PingGraph in the past, your registration code is still valid for this update. In fact, if you were running version 2.0.1.15, it should automatically pull your old registration code from the previous install and use it. If you have any problems at all, the registration code for the older version is stored here (assuming windows XP):

C:\Documents and Settings\All Users\Application Data\Infix Technologies\PingGraph\2.0.1.15\key.dat


As always, GPSMonitor is completely free. No coupon, no discount, just free.

Please let me know if you run into any problems with either program and I will do what I can to help.

Wednesday, August 11, 2010

C# Version Numer Tip

Have you ever tried to store data in the application properties in C#? It has some really slick abilities to store settings for you. I use it for window sizes and things like that. All you do is add data to your settings (usually found in Properties/Settings.settings in your project), then reference them. You start off by getting your application set up to use settings with this "using" statement:
using System.Configuration;

You read and write them like this:

internalValue = Properties.Settings.Default.MyNamedSetting;
// modify your internal value.

Properties.Settings.Default.MyNamedSetting = internalValue;

The tricky part is that every time you update your application version number, these settings are left behind and it creates a new set for you. How do you get around such a problem? By using a couple of the more obscure features of Properties.Settings.Default.

First, you need a way to detect when it's a new version. You can do that by creating a boolean settings entry named something like FirstRun with a default value of true. You can tell if it's your very first time to run the application at a particular version number because it will have the default value of true. Then you can set the value of FirstRun to false. By using the special built-in Upgrade() function, and saving the results, you can import your previous data just like this:

if(Properties.Settings.Default.FirstRun)
{
    Properties.Settings.Default.Upgrade();
    Properties.Settings.Default.FirstRun = false;
    Properties.Settings.Default.Save();
}

There. Now you have a system that automatically detects version bumps, and saves all your special settings from one version to the next.