Author: Pablo Rivera Sr
Posted: 2005-04-05 at 01:30:00
This is code written by Fred Taylor. I wanted to expand it's availability to
more "newbies" and to see if you are interested in examining it to make sure
it's OK for redistribution. Is FT around? :). As a professional newbie
myself, I know this is very helpful to us. ;)
*
** Begin Code
* MakeBase.prg
* By Fred Taylor
* Updated for VFP9 April 2005 with help from Profox List members
*
* Fred Taylor 2/9/99 - just so you know where it came from!
* Define base classes into xxxBase.VCX
*
LOCAL cRoot, cBase
cRoot = 'ft' && Change these characters to what ever you want ie:
'pr'...
&& If you don't change them you will get classes named:
&& ftTextBox, etc in a ftBase9.VCX
cBase = cRoot + 'Base9'
*
* aBaseClass[x,2]
* [x,1] = VFP Base Class name
* [x,2] = .T. - Create subclass
*
LOCAL aBaseClass[41,2] && When VFP defines new baseclasses, add them here
aBaseClass[1,1] = 'CheckBox'
aBaseClass[1,2] = .T.
aBaseClass[2,1] = 'Collection'
aBaseClass[2,2] = .T.
aBaseClass[3,1] = 'ComboBox'
aBaseClass[3,2] = .T.
aBaseClass[4,1] = 'CommandButton'
aBaseClass[4,2] = .T.
aBaseClass[5,1] = 'CommandGroup'
aBaseClass[5,2] = .T.
aBaseClass[6,1] = 'Container'
aBaseClass[6,2] = .T.
aBaseClass[7,1] = 'Control'
aBaseClass[7,2] = .T.
aBaseClass[8,1] = 'Cursor'
aBaseClass[8,2] = .T.
aBaseClass[9,1] = 'CursorAdapter'
aBaseClass[9,2] = .T.
aBaseClass[10,1] = 'Custom'
aBaseClass[10,2] = .T.
aBaseClass[11,1] = 'DataEnvironment'
aBaseClass[11,2] = .T.
aBaseClass[12,1] = 'EditBox'
aBaseClass[12,2] = .T.
aBaseClass[13,1] = 'Exception'
aBaseClass[13,2] = .T.
aBaseClass[14,1] = 'Form'
aBaseClass[14,2] = .T.
aBaseClass[15,1] = 'FormSet'
aBaseClass[15,2] = .T.
aBaseClass[16,1] = 'Grid'
aBaseClass[16,2] = .T.
aBaseClass[17,1] = 'HyperLink'
aBaseClass[17,2] = .T.
aBaseClass[18,1] = 'Image'
aBaseClass[18,2] = .T.
aBaseClass[19,1] = 'Label'
aBaseClass[19,2] = .T.
aBaseClass[20,1] = 'Line'
aBaseClass[20,2] = .T.
aBaseClass[21,1] = 'ListBox'
aBaseClass[21,2] = .T.
aBaseClass[22,1] = 'OleContainer' && Something wrong?
aBaseClass[22,2] = .F.
aBaseClass[23,1] = 'OptionButton'
aBaseClass[23,2] = .T.
aBaseClass[24,1] = 'OptionGroup'
aBaseClass[24,2] = .T.
aBaseClass[25,1] = 'OleBoundControl' && OLE controls need to be manually
done
aBaseClass[25,2] = .F.
aBaseClass[26,1] = 'OleControl' && OLE controls need to be manually done
aBaseClass[26,2] = .F.
aBaseClass[27,1] = 'Page'
aBaseClass[27,2] = .T.
aBaseClass[28,1] = 'PageFrame'
aBaseClass[28,2] = .T.
aBaseClass[29,1] = 'ProjectHook'
aBaseClass[29,2] = .T.
aBaseClass[30,1] = 'Relation'
aBaseClass[30,2] = .T.
aBaseClass[31,1] = 'ReportListener'
aBaseClass[31,2] = .T.
aBaseClass[32,1] = 'Separator'
aBaseClass[32,2] = .T.
aBaseClass[33,1] = 'Session'
aBaseClass[33,2] = .T.
aBaseClass[34,1] = 'Shape'
aBaseClass[34,2] = .T.
aBaseClass[35,1] = 'Spinner'
aBaseClass[35,2] = .T.
aBaseClass[36,1] = 'TextBox'
aBaseClass[36,2] = .T.
aBaseClass[37,1] = 'Timer'
aBaseClass[37,2] = .T.
aBaseClass[38,1] = 'Toolbar'
aBaseClass[38,2] = .T.
aBaseClass[39,1] = 'XMLAdapter'
aBaseClass[39,2] = .T.
aBaseClass[40,1] = 'XMLField'
aBaseClass[40,2] = .T.
aBaseClass[41,1] = 'XMLTable'
aBaseClass[41,2] = .T.
*
* Now lets create the empty subclasses
*
* Delete any existing table
*
ERASE (cBase+'.VC*')
*
* Now add the VFP base classes
*
LOCAL xx
FOR xx=1 TO ALEN(aBaseClass,1)
IF aBaseClass[xx,2]
od = CREATEOBJECT(aBaseClass[xx,1])
od.SaveAsClass(cBase,cRoot+aBaseClass[xx,1])
ENDIF
ENDFOR
od = .NULL.
** End Code
Best regards.
PabloSr
Still Learning.
That which I value!
==============