*************************************************
Subject: cmView()DEMO Copyright 2002
Purpose: As Paradox's built in view() method
	 offers little control over user's
         input, you can use cmView() for user
         input of different datatypes. CmView
         prevents you from having to making many
         dialog forms and validates user's input. 
*************************************************

This zip.file contains 7 files:
CMVdemo.fsl
InpDlg.fsl
LuLists.db
LuLists.fam
LuLists.tv
CmView.lsl
README.txt

To run demo:
1. Place files in any directory
2. Make this your working directory
3. Run CMVdemo.fsl and try demo buttons

CmView works in Paradox versions 7 to 10.

Background:
From Dennis Santoro's article Data Base Basics:
"View() is a terrible way to interact with
users and should be avoided. When you use view()
you have no control over the formatting of the
input, no way to directly check its validity
and no ability to tell if the user wanted to
continue or cancel the process."
Taken from: http://www.rdaworldwide.com/pdoxres.htm

Solution:
A solution to this problem is to create your
own dialog boxes for user input. In stead of
making several dialog boxes for different kinds
of user input, "cmView()" offers one
dialog box which can be used for user input of
the following datatypes: Date, Datetime, Time,
Small integer,Long integer, Number, and String.
"cmView()" allows you to set the title
of the input dialog box and the label of the
input field.

How to use cmView
Check out the explanation in the CMVdemo.fsl
demo and in the method's and pushbutton's code.
In the demo form the CmView methods are declared
at form level.

Terms of use
You can use cmView freely in your application at
your own risk.

By: Peter Zevenaar (seven@paradoxcommunity.com)
Thanks to David Portwood, Dennis Santoro,
Liz Woodhouse, and Gene Millsaps for useful feedback.