Calvin Hsia's WebLog
thoughts from a professional developer
Running out of space ? What's on your disk?
Often a hard disk gets close to full and undesirable things happen, especially on the volume that...
Author: CalvinH Date: 06/15/2005
SQL Select data from a text file
It’s often very useful to be able to execute a SQL SELECT statement on a text file. I was debugging...
Author: CalvinH Date: 06/13/2005
Randy's Devcon Demo
Randy is using my blog as part of a Demo at the Devcon keynote. He has some Fox code running from...
Author: CalvinH Date: 06/12/2005
Data Entry for dates: autoincrement tip
A handy tip that is not widely known: When a VFP textbox contains a date or datetime field, the user...
Author: CalvinH Date: 06/06/2005
Write your own Task Manager
Often an error message occurs: “The process cannot access the file because it is being used by...
Author: CalvinH Date: 06/02/2005
Application logging and Error methods
I have some Fox classes that run in several modes. The normal fox interactive design environment In...
Author: CalvinH Date: 05/27/2005
Activation Key
Remember the old days when downloading a large file was a rare occurrence and your modem was the...
Author: CalvinH Date: 05/24/2005
Binding to Internet Explorer events: bug in Typelibrary
I was using the web browser control and getting some errors when binding to its events. This can be...
Author: CalvinH Date: 05/17/2005
What's the difference between Internet Explorer and Explorer?
From the navigate bar of either, you can type a web URL like www.msn.com or a local file path like...
Author: CalvinH Date: 05/16/2005
Word to audible speech
Here’s some interesting code to run. It starts Microsoft Word and binds some Fox code to some Word...
Author: CalvinH Date: 05/16/2005
Your VFP runtime splash screen
A customer asked the following: “When VFP starts wee see it's splash screen almost immediately after...
Author: CalvinH Date: 05/09/2005
Put your registry into a table
It’s pretty easy to use Foxpro to examine the registry. Here’s some simple recursive code I whipped...
Author: CalvinH Date: 05/05/2005
Third Party application does work as a COM+ application
A few months ago, I reported a problem that a customer was having with a particular 3rd party...
Author: CalvinH Date: 04/22/2005
Floating Point calculations: comparing with zero
I was asked about floating point calculations. In particular, I can write code like this: x=3.4 y=10...
Author: CalvinH Date: 04/13/2005
April Fool's Pranks
In the spirit of April Fool’s Day, I was talking to my daughter about some pranks that took place in...
Author: CalvinH Date: 04/01/2005
Calling the Windows APIs for Large Files
A customer was trying to use FoxPro to handle large files. The files that Fox handles natively (like...
Author: CalvinH Date: 03/18/2005
Memory Handles
I was asked a question about how VFP uses memory: Recently, on a project to determine and resolve...
Author: CalvinH Date: 02/17/2005
Sharing Disneyland Digital pictures
A family reunion in Disneyland means bring my camera! I wanted to make sure that the digital...
Author: CalvinH Date: 02/14/2005
Relaxen und watchen das blinkenlights. What lights?
In the old days, computers had blinking lights. Indeed, old movies used to show computers working...
Author: CalvinH Date: 01/28/2005
Undocumented APIs and 16 bit DLLs
As a long time software company, Microsoft has certain procedures to follow when releasing software...
Author: CalvinH Date: 01/26/2005
Intercept power broadcast messages: How do you tell if Bindevent is really successful? SendMessage!
Question: BINDEVENT( ) always returns 1 when a Windows message event binding is created. Soooo, how...
Author: CalvinH Date: 01/24/2005
How to use a COM interface when there is no COM object ?
I was asked a question: In VFP9 I am attempting to access StructuredStorage via the stgOpenStorageEx...
Author: CalvinH Date: 01/21/2005
Decoding the timestamp in class libararies and forms
I was asked Is there a way to translate the timestamp in a VCX to a human readable format? Visual...
Author: CalvinH Date: 01/21/2005
Heartbeat: Garbage collection in VFP and .NET are similar
VFP stores user defined names such as variable, field, property, class and procedure names in a...
Author: CalvinH Date: 01/20/2005
User Interface design for numeric keypads
I have just read Raymond’s User interface design for interior door locks which reminded me of a...
Author: CalvinH Date: 01/19/2005
Permutations
I saw this post which shows some VFP code to permute a string. For example, there are 6 permutations...
Author: CalvinH Date: 01/18/2005
Wite your own RSS News/Blog aggregator in <100 lines of code
The internet is a great way for people/entities to publish information. An RSS reader is a tool to...
Author: CalvinH Date: 01/14/2005
Do you like reading a blog author? Retrieve all blog entries locally for reading/searching using XML, XSLT, XPATH
If you like reading a particular blog and want to read more from the same author, you can subscribe...
Author: CalvinH Date: 01/12/2005
Use a simple XSLT to read the RSS feed from a blog
On most Blogs, there is a link called “Syndication”,”RSS”, or “XML” that is the RSS feed. Click on...
Author: CalvinH Date: 01/11/2005
Binding to Windows Events for Fox windows
In a prior blog I described a demo I gave at Las Vegas Devcon that showed how to bind to Windows...
Author: CalvinH Date: 01/04/2005
Interactively experimenting with controls: the Slider
I have a simple form that can show an individual photograph, or at the push of a button, show an...
Author: CalvinH Date: 12/17/2004
Fox plays music
I received a customer question: I have searched the net and asked as many people as I could and...
Author: CalvinH Date: 12/16/2004
Foxpro Performance tip: field name lookup for tables
When FoxPro opens or uses a table or cursor, internally we have to keep track of the field names...
Author: CalvinH Date: 12/14/2004
Creating a VFP application as a service:
Sometimes it’s useful to make your application run as a service. A service can run without any user...
Author: CalvinH Date: 12/13/2004
Sending Christmas cards: Creating mailng labels automatically
A family member sent out an emergency email plea for help: I bought labels: Avery 8160, which have...
Author: CalvinH Date: 12/10/2004
Using non-Automation compatible types
A customer asks: I’m using a third party COM server dll with my VFP8 application. One of its methods...
Author: CalvinH Date: 12/10/2004
Intellisense: inspecting live objects
In this entry I talked about a performance improvement of FoxPro’s object handling. I showed an...
Author: CalvinH Date: 12/08/2004
Unbelievable performance gain by changing an Algorithm
Visual Foxpro added Object Oriented Programming in version 3 which was released about 10 years ago....
Author: CalvinH Date: 12/06/2004
Another customer problem: a product doesn't work with VFP
A customer reported that a product they have doesn’t work with Visual Foxpro. Time to put on the...
Author: CalvinH Date: 12/03/2004
Programmatically add a watch expression to the debug watch window
A user may want to add a particular variable or expression to the Visual Foxpro debug watch window...
Author: CalvinH Date: 11/19/2004
Screen Saver Tricks
In a prior blog entry I describe how a couple lines of code can start the currently registered...
Author: CalvinH Date: 11/17/2004
Run your code in response to a new drive being inserted
At the Las Vegas Devcon last month I used a digital camera to take a picture, then I plugged the...
Author: CalvinH Date: 11/16/2004
Using Outlook to manage new documents
I like using Outlook to manage documents that I compose, such as this blog entry. What I mean by...
Author: CalvinH Date: 11/01/2004
Creating, parsing, graphing web hit logfiles or other temporal data
Looking at temporal data can be quite informative. For example, I have a table of about 16000...
Author: CalvinH Date: 10/28/2004
Very Advanced Debugging tips
While debugging code, it might take very many complicated steps to reproduce an issue. The following...
Author: CalvinH Date: 10/22/2004
Give the impression that you're an expert and earn palpable respect
Our local bridge club uses a computer program to tabulate scores. The bridge director enters scores...
Author: CalvinH Date: 10/19/2004
Is a process hijacking your machine?
Suppose there is a process on your machine that is hijacking your processor. Perhaps it’s in an...
Author: CalvinH Date: 10/18/2004
The Plane Man
A couple years ago, despite the airspace security implications just after 9/11, an airplane flew...
Author: CalvinH Date: 10/12/2004