Thursday, January 03, 2013

Improve Your App’s UI

Kevin Ragsdale has a great series of blog posts on improving the UI of your applications, a topic near and dear to my heart as well. Highly recommended reading.

Thursday, December 27, 2012

A Christmas Present

I usually try to get a small project done over the Christmas holidays. This year, I finally tackled something I’ve wanted to do for years: I’ve posted most of the session white papers and magazine articles I’ve written over the past 16 years (146 documents in all) at the Technical Papers page of my personal Web site, DougHennig.com. The list is alphabetical by title and includes an abstract and links to download the document and sample files (if there are any). Since the documents go back to 1996, some of them are likely out-of-date (I think “Windows 95 Issues for FoxPro” falls into that category), but most of them are still applicable. Note that anything presented or published in 2012 isn’t in the list yet.

Since most of the documents were originally in Microsoft Word, I automated the process of opening each one, writing the title and abstract to a table used to generate the list of articles, and saving the document as a PDF. As a result, although I spot-checked a lot of documents, there could be some glitches in formatting. Also, I sometimes presented a conference session on a topic I’d written a magazine article about, so I tried to remove duplicates as best I could. Please let me know if you find any problems or duplicates with these documents and I’ll get them fixed up.

Friday, December 14, 2012

When a Comma Isn’t

Stonefield Query has the ability to output reports to a CSV file. “CSV” is an abbreviation for “comma-separated values”, meaning there’s a comma between each value (which represents a field) in a row (which represents a record). Except when it’s supposed to be something else.

We recently had a customer in France report that when they output a report to CSV and then opened it in Microsoft Excel, numeric values didn’t come out right. I figured it was likely a regional setting, so I used the Control Panel Region and Language applet to change my setting to French (France) and voila (appropriate word choice, non?), was able to reproduce the problem. I thought perhaps the issue was that Excel didn’t like the fact that in France, a comma is used as a decimal separator, but changing a value like “45,25” to “45.25” didn’t fix the problem. Then I notice something I hadn’t noticed or heard of before: in the Customize Format dialog (click the Additional Settings button on the Formats tab of the Region and Language dialog), there’s a “list separator” setting. We in North America (and probably other places too) are used to having it be a comma, but for France, it’s a semi-colon.

image

Changing the CSV output to use a semi-colon instead of a comma for the separator fixed the problem. However, how to get the current value of the list separator? While VFP has functions to determine some of the user’s regional settings, such as SET(‘POINT’) (the character used for the decimal separator) and SET(‘SEPARATOR’) (the character used for the thousand separator), it doesn’t have one for this. Google turned up a few references to the Window API GetLocaleInfo function, but for some reason, that just gave me a blank rather than the expected comma or semi-colon. Fortunately, another site mentioned that it’s stored in the Windows Registry in the sList key of HKEY_CURRENT_USER\Control Panel\International.

So, now you can output a CSV file from Stonefield Query and while the “C” in “CSV” may not be accurate, the file is.

Thursday, December 06, 2012

Stonefield Query SDK Version 4.3

We are pleased to announce the release of version 4.3 of the Stonefield Query SDK. See the Stonefield Query blog for details on new features.

Wednesday, December 05, 2012

New VFPX Administrator

Since the inception of the SednaX project (the previous name of VFPX) there have been three administrators of the project: Craig Boyd, Rick Schummer, and me. Jim Nelson has been a long-time contributor to VFPX with PEM Editor, Code Reference updates, Thor, and IntelliSenseX. His contributions to the community through VFPX are legendary. Jim also has made numerous suggestions to us over the years that have improved the experience on CodePlex. It only seemed natural that Jim take a more prominent role in the future of VFPX, so we’ve asked him to join us and he’s agreed. Thanks for all you do, Jim.

Tuesday, November 13, 2012

Another 2012 Lifetime Achievement Award Recipient

At a special session of the 2012 German DevCon, Rainer Becker presented Igor Vit with a FoxPro Lifetime Achievement Award.

IgorVit

I’ve known Igor for a long time. He was a Microsoft MVP, organizer of the Czech FoxPro DevCon, and responsible for localizing FoxPro in the Czech Republic. I’m glad to see him finally receive the recognition he deserves.

Friday, October 26, 2012

Fixing Yet Another Report Designer Issue

Last month I blogged about an issue in the VFP Report Designer that causes a “printer not ready” error if you don’t have a default printer set up, as is sometimes the case in a Terminal Server environment. Recently I discovered a related issue: the same error occurs when opening the Page Setup dialog. The cause is the SET(‘PRINTER’, 3) statement in the LoadDeviceInfo method of FRXDeviceHelper in _FRXCursor.VCX. The fix is to wrap that statement in a TRY structure.

Tuesday, October 23, 2012

2011 Southwest Fox Speaker Award

Cathy Knight (then Cathy Pountney) was the top-ranked Southwest Fox 2008 speaker, as measured by attendee evaluations. Her friends Toni Feltman and Jody Meyer felt that she deserved an award for this accomplishment, so they created one and presented it to her at the keynote of the 2009 conference. They filled the cup with chocolates because that’s Cathy’s favorite food (not dessert, food).

Since then, it’s been a tradition for the winner to present the award to the next year’s top-ranked speaker, so Cathy presented it to Rick Schummer for being the top speaker in 2009 and Rick presented it to me for 2010. I had the pleasure of presenting the award for 2011 to Rick Borup. You can watch the presentation at the 19:50 mark of the streaming keynote. Rick has always been one of my favorite speakers: he’s extremely well-prepared and his sessions are always thought-provoking. We filled the award with unshelled peanuts because Rick is a huge baseball (and peanut) fan. Rick unselfishly shared the peanuts with attendees of his sessions. I went to both of his sessions for 2012, Advanced Topics in Mercurial: Taking it to the Next Level and Amazon Elastic Cloud Computing for Fun and Profit, and think he’s a likely candidate to win it again.

Congratulations and well-deserved, Rick!

2012 Lifetime Achievement Award Recipients

At the keynote for Southwest Fox 2012, we had the pleasure of announcing this year’s recipients of the FoxPro Lifetime Achievement Award: Cathy Knight and Craig Boyd. If you couldn’t make it to the conference, you can watch the awards being presented at the 24:33 mark of the streaming keynote.

image

Cathy is the reigning queen of reporting for Visual FoxPro. In fact, both of her sessions at Southwest Fox were how to get the most of the Report Writer and were among the most popular sessions. I’ve used her tips in countless places in Stonefield Query and it’s a much better product as a result. You can read Cathy’s bio and her thoughts on winning the award.

image

Craig has one of the best VFP blogs on the planet and has developed some of the most insanely useful tools around. I’ve written numerous articles about them in FoxRockX and Rick Schummer did a session about some of Craig’s tools; both just barely scratched the surface. I also use several of his tools and techniques in Stonefield Query. Craig couldn’t be at Southwest Fox to accept the award in person (Bo Durban accepted it on his behalf) but I’ve been assured he watched the streaming keynote. You can read Craig’s bio here.

Congratulations to both Cathy and Craig. Well-deserved!

2012 VFPX Administrators’ Award

The VFPX Administrators’ Award is an annual award given by the VFPX Administrators (Craig Boyd, Rick Schummer, and Doug Hennig) to recognize those people who made outstanding contributions to the VFP community through their projects on VFPX. The nominees this year were:

At the keynote for Southwest Fox 2012, the award was given to both Matt and Jim. Both have done an incredible amount of work this year. Congratulations to both and thanks for all your efforts in making VFPX the future of VFP.