Skip to main content


Showing posts from May, 2010

Looking for Data: A cool framework class

As the article below notes, almost every application needs data searching. In Visual FoxPro, the first time out, many developers use a browse or a grid.

Or a user enters a value into a text box and the code behind it might look like:

IF SEEK(tcValue)
DO FORM details

But from Foxite and Jijo Pappachan, comes a very cool and easy to use Lookup class.

The class handles both SQL and VFP backends with ease, allowing for smart optimization.

Of course, if you're already using a framework, you may already have something like this - but this is something that should certainly be put into an updated FFC on VFPX. If you've ever used the existing FoxPro Foundation Classes search tool, it's pretty limited.

This one is definitely more in line with how applications are looking these days.

The sample pages don't work quite right and it needs a few tweaks to handle large field names but it can be easily called manually.

lo = NEWOBJECT("lookupdata","lookup")
USE Contact…

VFPX: New PEM Editor Beta Now Available

If you haven't downloaded the latest PEM Editor from VFPX, you're definitely missing out.

Instead of the traditional tiny dialog to add properties and methods, the new PEM Editor gives you literally everything at your fingertips. See here:

It's not just a good replacement for adding, it's also a fairly good replacement for the Property sheet as well. It's also starting to add features that VS developers have had in their IDE but VFP never got them.

Some immediate highlights (not just from this release but overall):
a) ability to mark properties as favorites globally (so any instance of those properties regardless of form becomes a favorite)
b) Dockable and resizeable
c) highlight inherited and custom code and properties with colors
d) Go To Definition
e) Extract to Method - kind of like instant refactoring

Not only that but PEMEditor features the funky VFPX-Powered logo, which I think needs to become standard for all VFPX IDE controls.

Great job!

SQL Scripts: Record Counts

As I'm populating a sample set of data in a SQL Server project, I needed a quick way of identifying what tables I had missed.

Here's what I came up with (but a much faster way is noted below using the sys tables).

--- Identifies zero record count tables
declare @vtb varchar(200)
declare @vsc varchar(200)

declare x cursor for select table_schema,table_name from information_schema.tables
open x
fetch next from x into @vsc,@vtb
declare @vcnt int
print 'declare @vcnt int'
while @@FETCH_STATUS = 0
set @vcnt = 0
print 'set @vcnt = 0'
print 'select @vcnt=count(*) from ' + @vsc+'.['+@vtb + ']'
print 'if @vcnt=0 print ''' + @vsc+'.'+@vtb + ''''

fetch next from x into @vsc,@vtb
close x
deallocate x

Note, that the script does support the schema tag but it does expect you to already be in the database (via USE).

This generates the output into the message window where you can then take it and run it.

You could also simpl…

From VFP to Silverlight (at SW Fox)

Looking at the Southwest Fox 2010 workshops list, it looks like this year's conference will have a silver lining, thanks to Uwe Habermann and Venelina Jordanova (from the dFPUG). The day after SW Fox ends, they are presenting VFP to Silverlight, showing how VFP developers can use a VFP COM server for the business layer and Silverlight as the main UI.

Maybe just an interesting is the note on what Visual Extend will offer:
"The next version of Visual Extend will come with a wizard that allows the migration of forms and reports from existing VFX and VFP applications to Silverlight."

Another good reason to be heading to Mesa in October.

Vote Now: Visual Studio Project and Solution Version Compatibility - .NETicated

As Steve notes on his big post:
Visual Studio Project and Solution Version Compatibility - .NETicated,
"Microsoft is saying though that they listen to Connect votes. Today Kathleen Dollard created a Connect item for this issue, and I encourage you to vote. It’s important. It matters. And Microsoft says they take action based on Connect votes."

"And remember, by not voting, you’re telling Microsoft this is not an important issue."

The link site is here

SQL: To Schema or not to schema?

To schema or not to schema - That is the question;
Whether it is easier to find a table with a Schema.TableName ;
Or to simply build one with a strong naming convention,
and, by opposing schemas, force other developers to learn (and re-learn)
No more, with schemas ;

It's an interesting dilemma - especially when designing a database for an organization who changes standards with almost every new development project.

One recent project implemented schemas along with a naming convention so much that the schema name was repeated in the name of the table:


Definitely overkill. But then if I want to be able to separate out lookup tables from my other tables, having a LOOKUPS schema would appear to work, except that it creates the "extra typing" scenario as every table has to include the schema.

There are a few alternatives:
a) prefix tables with naming conventions that make their purpose obvious. luStates = a lookup table of states and tblStates for a table wher…

Opinion: RIP Slate, Courier - and what might be missing in the Microsoft tablet strategy

Last week, there was quite a blow to the entire Windows 7 tablet business. HP dropped the Slate (less than a month after its internal PR push) and then Microsoft formally confirmed and killed the Courier project, a potentially game-changing Windows-based tablet, or was it?

The first thing that came to mind, unfortunately, was that while Windows 7 supports gesture-based input, it is more useful in a desktop environment (like the HP TouchSmart). I'm using Windows 7 and from a laptop and desktop, it completely rocks. I was in a business presentation two weeks ago and one of the Microsoft reps pulled out their tablet and used it quick effectively. But the Microsoft tablets (from Toshiba among others) have always been focused on the business end and putting your desktop applications into a pen-based environment.

Today's tablets (or the basic hype around them), on the other hand, are more focused on consumer or "lifestyle" use. I've tried Chromium on a laptop and was le…