Some people have asked for a list that indicates which features of FoxPro are supported in X#.
The list below represents the status of build 2.08.
Some of what FoxPro calls commands are built into the compiler. We call these statements.
Others are implemented in so called User Defined Commands (UDCs). These are defined in an external header file. The compiler compiles these into function calls in the runtime library. For example the SEEK command is translated into a call to the DbSeek() function and the SKIP command is translated into a call to the DbSkip() function.
This list will be updated for each build that adds VFP features.
Statements (built into the compiler)
Feature | Available |
& | supported |
? | ?? | supported |
??? | NOT supported |
\ | \\ | supported |
= | supported |
DECLARE | supported |
DEFINE CLASS | supported |
DIMENSION | supported |
DO CASE | supported |
DO | supported |
DO WHILE | supported |
EXIT | supported |
FOR .. ENDFOR | supported |
FOR EACH .. ENDFOR | supported |
IF .. ELSE .. ENDIF | supported |
LOCAL | supported. |
LOOP | supported |
LPARAMETERS | supported |
MEMVAR | supported |
PARAMETERS | supported |
PRIVATE | supported |
PUBLIC | supported |
RETURN | supported |
TEXT .. ENDTEXT | supported |
TRY .. CATCH .. FINALLY | supported |
WITH .. ENDWITH | supported |
Database and Workarea commands.
Some of these only apply to an interactive environment such as VFP.
Some of the not supported commands will be relatively easy to implement
using a UDC and already available functions in the X# runtime.
Feature | Available | Feature | Available |
APPEND FROM | supported | BEGIN TRANSACTION | NOT implemented |
APPEND FROM ARRAY | supported | BLANK | NOT implemented |
AVERAGE | supported | CALCULATE | NOT implemented |
CLOSE | supported | DELETE - SQL | NOT implemented |
CONTINUE | supported | DROP TABLE/VIEW | NOT implemented |
COPY FILE | supported | EXPORT | NOT implemented |
COPY STRUCTURE | supported | FLUSH | NOT implemented |
COPY STRUCTURE EXTENDED | supported | FREE TABLE | NOT implemented |
COPY TO | supported | IMPORT | NOT implemented |
COPY TO ARRAY | supported | INSERT - SQL | NOT implemented |
COUNT | supported | OPEN DATABASE | NOT implemented |
DELETE | supported | REPLACE FROM ARRAY | NOT implemented |
DELETE FILE | supported | SELECT - SQL | NOT implemented |
ERASE | supported | UPDATE - SQL | NOT implemented |
GATHER | supported | VALIDATE DATABASE | NOT implemented |
GO | GOTO | supported | ||
INDEX ON | supported | ||
LOCATE | supported | ||
PACK | supported | ||
RECALL | supported | ||
REINDEX | supported | ||
REPLACE | supported | ||
SCAN .. ENDSCAN | supported | ||
SCATTER | supported | ||
SEEK | supported | ||
SELECT | supported | ||
SET (variations) | partially supported | ||
SKIP | supported | ||
SORT | supported | ||
SUM | supported | ||
TOTAL | supported | ||
UNLOCK | supported | ||
USE | supported | ||
ZAP | supported |
Other Commands
Most of these commands have either to do with the VFP IDE or with the VFP UI Classes
Feature | Available | Feature | Available | Feature | Available | ||
CLEAR | supported | BEGIN TRANSACTION | NOT impl | ACTIVATE (all variations) | n/a | ||
DEFINE (other variations) | supported | CD / CHDIR | NOT impl | APPEND (other variations) | n/a | ||
ERASE | supported | COPY (other variations) | NOT impl | BROWSE | n/a | ||
NODEFAULT | supported | EJECT | NOT impl | BUILD | n/a | ||
QUIT | supported | ERROR | NOT impl | CANCEL | n/a | ||
RELEASE memvars | supported | EXPORT | NOT impl | CHANGE | n/a | ||
RESTORE FROM | supported | FLUSH | NOT impl | CLOSE MEMO | n/a | ||
RUN | supported | HELP | NOT impl | COMPILE | n/a | ||
SAVE TO | supported | KEYBOARD | NOT impl | CREATE (all variations) | n/a | ||
SCROLL | supported | LABEL | NOT impl | DEACTIVATE (all variations) | n/a | ||
SET (global state) | partially supported | MD | MKDIR | NOT impl | DEBUG | n/a | ||
STORE | supported | ON (all variations) | NOT impl | DEBUGOUT | n/a | ||
WAIT | supported | PRINTJOB | NOT impl | DELETE (other variations) | n/a | ||
PUSH (all variations) | NOT impl | DISPLAY (all variations) | n/a | ||||
RD | RMDIR | NOT impl | DO FORM | n/a | ||||
RELEASE (other variations) | NOT impl | DOCK | n/a | ||||
REMOVE (all variations) | NOT impl | DOEVENTS | n/a | ||||
RENAME (all variations) | NOT impl | EXTERNAL | n/a | ||||
REPORT FORM | NOT impl | GETEXPR | n/a | ||||
RESTORE (other variations) | NOT impl | HIDE (all variations) | n/a | ||||
ROLLBACK | NOT impl | LIST (all variations) | n/a | ||||
TYPE | NOT impl | MENU | n/a | ||||
MODIFY (all variations) | n/a | ||||||
PLAY MACRO | n/a | ||||||
POP (all variations) | n/a | ||||||
READ EVENTS | n/a | ||||||
RESUME | n/a | ||||||
RETRY | n/a | ||||||
SAVE (other variations) | n/a | ||||||
SHOW (all variations) | n/a | ||||||
SIZE (all variations) | n/a | ||||||
SUSPEND | n/a | ||||||
ZOOM WINDOW | n/a |
Functions that are | Functions with different | Functions that are | Functions that |
fully supported | parameters (more or less) | not available (yet) | won't be supported |
ABS( ) | ACOPY( ) | ACLASS( ) | ADLLS( ) |
ACOS( ) | ADIR( ) | ADBOBJECTS( ) | ADOCKSTATE( ) |
ADATABASES( ) | AFIELDS( ) | AGETFILEVERSION( ) | AERROR( ) |
ADDBS( ) | ALEN( ) | ALINES( ) | AEVENTS( ) |
ADDPROPERTY( ) | ASC( ) | AMEMBERS( ) | AFONT( ) |
ADEL( ) | ASCAN( ) | ANETRESOURCES( ) | AGETCLASS( ) |
AELEMENT( ) | ASORT( ) | APRINTERS( ) | AINSTANCE( ) |
AINS( ) | CHRSAW( ) | ASESSIONS( ) | ALANGUAGE( ) |
ALIAS( ) | CHRTRAN( ) | ASTACKINFO( ) | AMOUSEOBJ( ) |
ALLTRIM( ) | CHRTRANC( ) | ASUBSCRIPT( ) | APROCINFO( ) |
ASIN( ) | CLEARRESULTSET( ) | ATAGINFO( ) | ASELOBJ( ) |
ASQLHANDLES( ) | CNTBAR( ) | AUSED( ) | AVCXCLASSES( ) |
ASUBSCRIPT( ) | CNTPAD( ) | CANDIDATE( ) | BAR( ) |
AT( ) | COL( ) | CAST( ) | BARCOUNT( ) |
AT_C( ) | DAY( ) | CEILING( ) | BARPROMPT( ) |
ATAN( ) | DIRECTORY( ) | COMPILE() | BINDEVENT( ) |
ATC( ) | DISKSPACE( ) | COMPOBJ( ) | COMARRAY( ) |
ATCC( ) | EVALUATE( ) | CPCONVERT( ) | COMCLASSINFO( ) |
ATCLINE( ) | INT( ) | CREATEOBJECTEX( ) | COMPROP( ) |
ATLINE( ) | MAX( ) | CREATEOFFLINE( ) | COMRETURNERROR( ) |
ATN2( ) | MCOL( ) | CTOBIN( ) | CPCURRENT( ) |
BETWEEN( ) | MDOWN( ) | CTOT( ) | CREATEBINARY( ) |
BINTOC( ) | MIN( ) | CURSORGETPROP( ) | DDEAbortTrans( ) |
BITAND( ) | OBJNUM( ) | CURSORSETPROP( ) | DDEAdvise( ) |
BITCLEAR( ) | OBJVAR( ) | CURSORTOXML( ) | DDEEnabled( ) |
BITLSHIFT( ) | OEMTOANSI( ) | CURVAL( ) | DDEExecute( ) |
BITNOT( ) | SQRT( ) | DBSETPROP( ) | DDEInitiate( ) |
BITOR( ) | STRTRAN( ) | DEFAULTEXT( ) | DDELastError( ) |
BITRSHIFT( ) | TYPE( ) | DIFFERENCE( ) | DDEPoke( ) |
BITSET( ) | DisplayPath( ) | DDERequest( ) | |
BITTEST( ) | DODEFAULT( ) | DDESetOption( ) | |
BITXOR( ) | DRIVETYPE( ) | DDESetService( ) | |
BOF( ) | DROPOFFLINE( ) | DDESetTopic( ) | |
CAPSLOCK( ) | DTOT( ) | DDETerminate( ) | |
CDOW( ) | EVL( ) | EDITSOURCE( ) | |
CDX( ) | EXECSCRIPT( ) | ERROR( ) | |
CHR( ) | FLDLIST( ) | EVENTHANDLER( ) | |
CMONTH( ) | FONTMETRIC( ) | FKLABEL( ) | |
COS( ) | FULLPATH( ) | FKMAX( ) | |
CPDBF( ) | GETAUTOINCVALUE( ) | GETBAR( ) | |
CREATEOBJECT( ) | GETCP( ) | GETINTERFACE( ) | |
CTOD( ) | GETCURSORADAPTER( ) | GETPAD( ) | |
CURDIR( ) | GETDIR( ) | GETPEM( ) | |
DATE( ) | GETFILE( ) | HOME( ) | |
DATETIME( ) | GETFLDSTATE( ) | INKEY( ) | |
DBALIAS( ) | GETFONT( ) | ISLEADBYTE( ) | |
DBC( ) | GETNEXTMODIFIED( ) | LASTKEY( ) | |
DBF( ) | GETOBJECT( ) | MEMORY( ) | |
DBGETPROP( ) | GETPICT( ) | MENU( ) | |
DBUSED( ) | GETPRINTER( ) | MESSAGE( ) | |
DELETED( ) | GETRESULTSET( ) | MRKBAR( ) | |
DESCENDING( ) | ID( ) | MRKPAD( ) | |
DMY( ) | IMESTATUS( ) | MROW( ) | |
DOW( ) | INDBC( ) | MWINDOW( ) | |
DTOC( ) | INDEXSEEK( ) | OBJTOCLIENT( ) | |
DTOR( ) | INPUTBOX( ) | ON( ) | |
DTOS( ) | ISBLANK( ) | PAD( ) | |
EMPTY( ) | ISEXCLUSIVE( ) | PADPROMPT( ) | |
EOF( ) | ISMEMOFETCHED( ) | PARAMETERS( ) | |
EXP( ) | ISMOUSE( ) | PEMSTATUS( ) | |
FCHSIZE( ) | ISNULL( ) | POPUP( ) | |
FCLOSE( ) | ISPEN( ) | PRINTSTATUS( ) | |
FCOUNT( ) | ISTRANSACTABLE( ) | PRMBAR( ) | |
FCREATE( ) | KEYMATCH( ) | PRMPAD( ) | |
FDATE( ) | LINENO( ) | PROMPT( ) | |
FEOF( ) | LOADPICTURE( ) | RDLEVEL( ) | |
FERROR( ) | LOCFILE( ) | READKEY( ) | |
FFLUSH( ) | LOCK( ) | SCOLS( ) | |
FGETS( ) | LOOKUP( ) | SKPBAR( ) | |
FIELD( ) | MAKETRANSACTABLE( ) | SKPPAD( ) | |
FILE( ) | NDX( ) | SROWS( ) | |
FILETOSTR( ) | NEWOBJECT( ) | UNBINDEVENTS( ) | |
FILTER( ) | NORMALIZE( ) | UPDATED( ) | |
FLDCOUNT( ) | NVL( ) | VARREAD( ) | |
FLOCK( ) | OLDVAL( ) | WBORDER( ) | |
FLOOR( ) | PCOL( ) | WCHILD( ) | |
FOPEN( ) | PRIMARY( ) | WCOLS( ) | |
FOR( ) | PROGRAM( ) | WDOCKABLE( ) | |
FORCEEXT( ) | PROW( ) | WEXIST( ) | |
FORCEPATH( ) | PRTINFO( ) | WFONT( ) | |
FOUND( ) | PUTFILE( ) | WLAST( ) | |
FPUTS( ) | RAISEEVENT( ) | WLCOL( ) | |
FREAD( ) | REFRESH( ) | WLROW( ) | |
FSEEK( ) | REQUERY( ) | WMAXIMUM( ) | |
FSIZE( ) | RGBSCHEME( ) | WMINIMUM( ) | |
FTIME( ) | SAVEPICTURE( ) | WONTOP( ) | |
FV( ) | SCHEME( ) | WOUTPUT( ) | |
FWRITE( ) | SEEK( ) | WPARENT( ) | |
GETCOLOR( ) | SETFLDSTATE( ) | WREAD( ) | |
GETENV( ) | SETRESULTSET( ) | WROWS( ) | |
GETWORDCOUNT( ) | SIGN( ) | WTITLE( ) | |
GETWORDNUM( ) | SQLIDLEDISCONNECT( ) | WVISIBLE( ) | |
GOMONTH( ) | STRCONV( ) | ||
HEADER( ) | STREXTRACT( ) | ||
HOUR( ) | SYSMETRIC( ) | ||
ICASE( ) | TABLEREVERT( ) | ||
IDXCOLLATE( ) | TABLEUPDATE( ) | ||
IIF() | TTOC( ) | ||
INLIST( ) | TXNLEVEL( ) | ||
INSMODE( ) | TXTWIDTH( ) | ||
ISALPHA( ) | XMLTOCURSOR( ) | ||
ISCOLOR( ) | XMLUPDATEGRAM( ) | ||
ISDIGIT( ) | |||
ISFLOCKED( ) | |||
ISLOWER( ) | |||
ISREADONLY( ) | |||
ISRLOCKED( ) | |||
ISUPPER( ) | |||
JUSTDRIVE( ) | |||
JUSTEXT( ) | |||
JUSTFNAME( ) | |||
JUSTPATH( ) | |||
JUSTSTEM( ) | |||
KEY( ) | |||
LEFT( ) | |||
LEFTC( ) | |||
LEN( ) | |||
LENC( ) | |||
LIKE( ) | |||
LIKEC( ) | |||
LOG( ) | |||
LOG10( ) | |||
LOWER( ) | |||
LTRIM( ) | |||
LUPDATE( ) | |||
MDX( ) | |||
MDY( ) | |||
MEMLINES( ) | |||
MESSAGEBOX( ) | |||
MINUTE( ) | |||
MLINE( ) | |||
MOD( ) | |||
MONTH( ) | |||
MTON( ) | |||
NDX( ) | |||
NTOM( ) | |||
NUMLOCK( ) | |||
OCCURS( ) | |||
ORDER( ) | |||
OS( ) | |||
PADC( ) | |||
PADL( ) | |||
PADR( ) | |||
PAYMENT( ) | |||
PCOUNT( ) | |||
PI( ) | |||
PROPER( ) | |||
PV( ) | |||
QUARTER( ) | |||
RAND( ) | |||
RAT( ) | |||
RATC( ) | |||
RATLINE( ) | |||
RECCOUNT( ) | |||
RECNO( ) | |||
RECSIZE( ) | |||
RELATION( ) | |||
REMOVEPROPERTY( ) | |||
REPLICATE( ) | |||
RGB( ) | |||
RIGHT( ) | |||
RIGHTC( ) | |||
RLOCK( ) | |||
ROUND( ) | |||
ROW( ) | |||
RTOD( ) | |||
RTRIM( ) | |||
SEC( ) | |||
SECONDS( ) | |||
SELECT( ) | |||
SET( ) | |||
SIN( ) | |||
SOUNDEX( ) | |||
SPACE( ) | |||
SQLCANCEL( ) | |||
SQLCOLUMNS( ) | |||
SQLCOMMIT( ) | |||
SQLCONNECT( ) | |||
SQLDISCONNECT( ) | |||
SQLEXEC( ) | |||
SQLGETPROP( ) | |||
SQLMORERESULTS( ) | |||
SQLPREPARE( ) | |||
SQLROLLBACK( ) | |||
SQLSETPROP( ) | |||
SQLSTRINGCONNECT( ) | |||
SQLTABLES( ) | |||
STR( ) | |||
STRTOFILE( ) | |||
STUFF( ) | |||
STUFFC( ) | |||
SUBSTR( ) | |||
SUBSTRC( ) | |||
TAG( ) | |||
TAGCOUNT( ) | |||
TAGNO( ) | |||
TAN( ) | |||
TARGET( ) | |||
TEXTMERGE( ) | |||
TIME( ) | |||
TRANSFORM( ) | |||
TRIM( ) | |||
TTOD( ) | |||
UNIQUE( ) | |||
UPPER( ) | |||
USED( ) | |||
VAL( ) | |||
VARTYPE( ) | |||
VERSION( ) | |||
WEEK( ) | |||
YEAR( ) |