Calvin Hsia's WebLog

thoughts from a professional developer

August, 2005

  • Calvin Hsia's WebLog

    How to use DEVMODE

    • 8 Comments
    I received a question about how to use DEVMODE . Below is some sample code that retrieves the screen’s current width/height screen resolution and rotates it for a few seconds if supported by your machine (mostly on Tablet PCs) The user’s question...
  • Calvin Hsia's WebLog

    Computer music on the radio

    • 4 Comments
    If you listen to an AM radio that’s placed near a computer, you can hear interference. I can put my radio next to my tablet and hear all the calculations being done as my ink handwriting is being converted to text. The AM frequency range is from...
  • Calvin Hsia's WebLog

    The .Object member

    • 0 Comments
    If you have an ActiveX control and you want intellisense to show just the control’s members, you can use the virtual “object” member. A control is hosted in a container, which has ambient properties For example, type this in the command window:...
  • Calvin Hsia's WebLog

    What printers are available to your program?

    • 1 Comments
    The APRINTERS function allows you to enumerate all the printers to which your application can print. ?"Printer info" ShowPrinters( 0 ) ?"More printer info" ShowPrinters( 1 ) PROCEDURE ShowPrinters(nMode) n= APRINTERS (aa,nMode...
  • Calvin Hsia's WebLog

    How do I backup files that are still in use without shutting down the application?

    • 0 Comments
    In my prior post ( Puzzle: Why does backing up a data file require web application shut down? ) the customer wanted to keep the application running while doing a backup of the data files The reason the code seemed to work in the VFP IDE is because...
  • Calvin Hsia's WebLog

    Puzzle: Why does backing up a data file require web application shut down?

    • 3 Comments
    A customer reported a problem: Customer has a VB/ASP .NET web app that uses VFP data via the provider. When they do a nightly backup of the VFP data (via a simple .CMD with XCOPY), the web app starts tossing errors as it processes SQL commands....
  • Calvin Hsia's WebLog

    Inheritance levels

    • 1 Comments
    The program below generates code to demonstrate 1000 levels of inheritance of VFP objects. The code looks like this: DEFINE CLASS c1 as c2 ENDDEFINE DEFINE CLASS c2 as c3 ENDDEFINE DEFINE CLASS c3 as c4 ENDDEFINE That...
  • Calvin Hsia's WebLog

    Foxpro Language into a table

    • 3 Comments
    Sometimes it’s useful to get the VFP language into a table, including commands, functions, properties, events, and methods. CREATE CURSOR lang (word c( 30 ), stuff c( 20 )) FOR nType= 1 to 4 n= ALANGUAGE (aa,nType) FOR i = 1 to n ...
  • Calvin Hsia's WebLog

    The mechanics of Sudoku

    • 8 Comments
    The rules of Sudoku are so simple (see Sudoku puzzles screen capture ) that it seems easy to write the mechanics of the puzzle in Fox. It took 20 minutes to write this. Move the mouse over a desired square and type a digit key. ‘0’ means erase what’s...
  • Calvin Hsia's WebLog

    Sudoku puzzles screen capture

    • 17 Comments
    I love doing crossword puzzles: I’m a huge fan of Merle Reagle (I have all his books www.sundaycrosswords.com ) and I love the NY Times Sunday puzzles, both of which come in the Seattle Times. We also love listening to the NPR Sunday Puzzle by Puzzlemaster...
  • Calvin Hsia's WebLog

    Move your "My Documents" folder

    • 1 Comments
    The “My Documents” special folder feature of Windows helps users to separate their programs from their data. The default location for “My Documents” is a few levels down in the Explorer hierarchy C:\Documents and Settings\calvinh\My Documents...
  • Calvin Hsia's WebLog

    Have you used remote assistance ?

    • 7 Comments
    I wanted to demonstrate something on my machine to somebody in another location. Using remote assistance is easy. It allows another person to view and/or control your computer from another location. Try it with yourself (the term hermaphrodite comes...
  • Calvin Hsia's WebLog

    Use Windows 2003 Server and remote desktops for debugging

    • 5 Comments
    When debugging a process, you are often examining the context of a process at a breakpoint. When done, you resume the suspended process. However, just the act of resuming causes various events to fire that may not have fired when not debugging. These...
  • Calvin Hsia's WebLog

    Why a large picture works, but a small one fails?

    • 0 Comments
    In my last post Enable crop and zooming in on your digital photograph display form there is code that seemed to work just fine for me, but failed for others. I subsequently fixd the code in that post to call ValidateRect , which works around the problem...
  • Calvin Hsia's WebLog

    Enable crop and zooming in on your digital photograph display form

    • 22 Comments
    I wanted to add the ability to zoom into a portion of a photograph on my photo viewer. Below is some code that processes the MouseUp, MouseDown and MouseMove events to add a yellow dotted-dash selection rectangle using a Shape control that the mouse can...
  • Calvin Hsia's WebLog

    Print method parameters are undocumented

    • 2 Comments
    The Print method of the Form or _screen shows only one parameter (the text to print) is accepted. Furthermore, the property sheet, documentation and intellisense show only the one parameter. However, more parameters are accepted as demonstrated by this...
  • Calvin Hsia's WebLog

    Interesting form paint behavior

    • 18 Comments
    A customer sent us a repro scenario of a problem. There was a fairly complicated form with a PageFrame tab control with several pages, each with grids and other controls on it. Sometimes, the form did not paint completely, even though the grid did. It...
  • Calvin Hsia's WebLog

    Puzzle: Creating an INDEX requires EXCLUSIVE use of the table, doesn't it?

    • 7 Comments
    A coworker asked a question about some code. It creates a table with 2 fields, reopens the table SHARED, creates an index tag using the INDEX command , closes all, then tries to do the same thing, but this time it fails. Why? CLEAR ALL CLEAR...
  • Calvin Hsia's WebLog

    Remove double spaces from pasted code samples in blog

    • 12 Comments
    If you highlight a recent code sample from my blog and paste it into VFP, you might see the code double spaced. This can be annoying, especially if there are line continuation characters: x= "This is a " +; "continued line" I’ve found that...
  • Calvin Hsia's WebLog

    Generating VBScript to read a blog

    • 7 Comments
    Sometimes I need to test something using VBScript . A user sends a code snippet and asks why it behaves a certain way. Examining the behavior in VB can help. Below is a VFP code sample which demonstrates VBScript code which uses several objects...
  • Calvin Hsia's WebLog

    Watch the Autocomplete values change as you enter data

    • 7 Comments
    Here is some code to demonstrate the AutoComplete property Its behavior is very similar to Outlook 2003 or the Internet Explorer Address URL entry control. It prompts the user with possible entries in a drop down like Intellisense. The code creates...
  • Calvin Hsia's WebLog

    Internet Explorer wordwrap doesn't break at commas

    • 5 Comments
    I was modifying my web based thumbnail image viewer. Under each thumb I wanted the description of the photo. I wanted the photos to have captions below, and the unit to be rendered horizontally so they will fill the IE width. However, Internet Explorer...
  • Calvin Hsia's WebLog

    Reacting to Windows Session events.

    • 4 Comments
    Sometimes it’s useful to run some code in response to an event like somebody locking or unlocking your desktop via Ctrl-Alt-Del or WindowsKey+L or the screen saver activating You can use the new VFP9 BindEvent to capture WM_WTSSESSION_CHANGE to...
Page 1 of 1 (23 items)