fbpx

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 APPEND (other variations) NOT implemented
AVERAGE supported BEGIN TRANSACTION NOT implemented
CLOSE supported BLANK NOT implemented
CONTINUE supported CALCULATE NOT implemented
COPY FILE supported COPY (other variations) NOT implemented
COPY STRUCTURE supported DELETE - SQL NOT implemented
COPY STRUCTURE EXTENDED supported DROP TABLE/VIEW NOT implemented
COPY TO supported EXPORT NOT implemented
COUNT supported FLUSH NOT implemented
DELETE supported FREE TABLE NOT implemented
DELETE FILE supported GATHER NOT implemented
ERASE supported IMPORT NOT implemented
GO | GOTO supported INSERT - SQL NOT implemented
INDEX ON supported OPEN DATABASE NOT implemented
LOCATE supported REPLACE FROM ARRAY NOT implemented
PACK supported SCATTER NOT implemented
RECALL supported SELECT - SQL NOT implemented
REINDEX supported UPDATE - SQL NOT implemented
REPLACE supported VALIDATE DATABASE NOT implemented
SCAN .. ENDSCAN 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

Most of the workarea related functions and conversion and string manipulation functions are already available in X#.

Functions that are fully supported Functions with different
parameters (more or less)
Functions that are
not available (yet)
Functions that
won't be supported
ABS( ) ACOPY( ) ACLASS( ) ADLLS( )
ACOS( ) ADIR( ) ADATABASES( ) ADOCKSTATE( )
ADEL( ) AFIELDS( ) ADBOBJECTS( ) AERROR( )
ALIAS( ) AINS( ) ADDBS( ) AEVENTS( )
ASIN( ) ALEN( ) ADDPROPERTY( ) AFONT( )
ATAN( ) ALLTRIM( ) AELEMENT( ) AGETCLASS( )
ATCLINE( ) ASC( ) AGETFILEVERSION( ) AINSTANCE( )
ATLINE( ) ASCAN( ) ALINES( ) ALANGUAGE( )
ATN2( ) ASORT( ) AMEMBERS( ) AMOUSEOBJ( )
BETWEEN( ) AT( ) ANETRESOURCES( ) APROCINFO( )
BOF( ) ATC( ) APRINTERS( ) ASELOBJ( )
CDOW( ) ATCC( ) ASESSIONS( ) AVCXCLASSES( )
CHR( ) CHRSAW( ) ASQLHANDLES( ) BAR( )
CMONTH( ) CHRTRAN( ) ASTACKINFO( ) BARCOUNT( )
COS( ) CHRTRANC( ) ASUBSCRIPT( ) BARPROMPT( )
CREATEOBJECT( ) CLEARRESULTSET( ) AT_C( ) BINDEVENT( )
CTOD( ) CNTBAR( ) ATAGINFO( ) COMARRAY( )
CURDIR( ) CNTPAD( ) AUSED( ) COMCLASSINFO( )
DELETED( ) COL( ) BINTOC( ) COMPROP( )
DOW( ) DAY( ) BITAND( ) COMRETURNERROR( )
DTOC( ) DBF( ) BITCLEAR( ) CPCURRENT( )
DTOR( ) DIRECTORY( ) BITLSHIFT( ) CREATEBINARY( )
DTOS( ) DISKSPACE( ) BITNOT( ) DDEAbortTrans( )
EMPTY( ) EVALUATE( ) BITOR( ) DDEAdvise( )
EOF( ) INT( ) BITRSHIFT( ) DDEEnabled( )
EXP( ) MAX( ) BITSET( ) DDEExecute( )
FCHSIZE( ) MCOL( ) BITTEST( ) DDEInitiate( )
FCLOSE( ) MDOWN( ) BITXOR( ) DDELastError( )
FCOUNT( ) MIN( ) CANDIDATE( ) DDEPoke( )
FCREATE( ) OBJNUM( ) CAPSLOCK( ) DDERequest( )
FDATE( ) OBJVAR( ) CAST( ) DDESetOption( )
FEOF( ) OEMTOANSI( ) CDX( ) DDESetService( )
FERROR( ) SQRT( ) CEILING( ) DDESetTopic( )
FFLUSH( ) STRTRAN( ) COMPOBJ( ) DDETerminate( )
FGETS( ) TRIM( ) COMPILE() EDITSOURCE( )
FILE( ) TYPE( ) CPCONVERT( ) ERROR( )
FLOCK( )   CPDBF( ) EVENTHANDLER( )
FLOOR( )   CREATEOBJECTEX( ) FKLABEL( )
FOPEN( )   CREATEOFFLINE( ) FKMAX( )
FOUND( )   CTOBIN( ) GETBAR( )
FPUTS( )   CTOT( ) GETINTERFACE( )
FREAD( )   CURSORGETPROP( ) GETPAD( )
FSEEK( )   CURSORSETPROP( ) GETPEM( )
FSIZE( )   CURSORTOXML( ) HOME( )
FTIME( )   CURVAL( ) INKEY( )
FWRITE( )   DATE( ) ISLEADBYTE( )
GETENV( )   DATETIME( ) LASTKEY( )
HEADER( )   DBALIAS( ) MEMORY( )
ICASE( )   DBC( ) MENU( )
IIF()   DBGETPROP( ) MESSAGE( )
INLIST( )   DBSETPROP( ) MRKBAR( )
ISALPHA( )   DBUSED( ) MRKPAD( )
ISDIGIT( )   DEFAULTEXT( ) MROW( )
ISLOWER( )   DESCENDING( ) MWINDOW( )
ISUPPER( )   DIFFERENCE( ) OBJTOCLIENT( )
LEFT( )   DisplayPath( ) ON( )
LEN( )   DMY( ) PAD( )
LIKE( )   DODEFAULT( ) PADPROMPT( )
LOG( )   DRIVETYPE( ) PARAMETERS( )
LOG10( )   DROPOFFLINE( ) PEMSTATUS( )
LOWER( )   DTOT( ) POPUP( )
LTRIM( )   EVL( ) PRINTSTATUS( )
LUPDATE( )   EXECSCRIPT( ) PRMBAR( )
MEMLINES( )   FIELD( ) PRMPAD( )
MLINE( )   FILETOSTR( ) PROMPT( )
MOD( )   FILTER( ) RDLEVEL( )
MONTH( )   FLDCOUNT( ) READKEY( )
OCCURS( )   FLDLIST( ) SCOLS( )
OS( )   FONTMETRIC( ) SKPBAR( )
PADL( )   FOR( ) SKPPAD( )
PADR( )   FORCEEXT( ) SROWS( )
PADC( )   FORCEPATH( ) UNBINDEVENTS( )
PCOUNT( )   FULLPATH( ) UPDATED( )
PI( )   FV( ) VARREAD( )
PROPER( )   GETAUTOINCVALUE( ) WBORDER( )
RAND( )   GETCOLOR( ) WCHILD( )
RAT( )   GETCP( ) WCOLS( )
RATLINE( )   GETDIR( ) WDOCKABLE( )
RECCOUNT( )   GETFILE( ) WEXIST( )
RECNO( )   GETFLDSTATE( ) WFONT( )
RECSIZE( )   GETFONT( ) WLAST( )
REPLICATE( )   GETNEXTMODIFIED( ) WLCOL( )
RGB( )   GETOBJECT( ) WLROW( )
RIGHT( )   GETPICT( ) WMAXIMUM( )
RLOCK( )   GETPRINTER( ) WMINIMUM( )
ROUND( )   GETRESULTSET( ) WONTOP( )
ROW( )   GETWORDCOUNT( ) WOUTPUT( )
RTOD( )   GETWORDNUM( ) WPARENT( )
RTRIM( )   GETCURSORADAPTER( ) WREAD( )
SECONDS( )   GOMONTH( ) WROWS( )
SET( )   HOUR( ) WTITLE( )
SIN( )   ID( ) WVISIBLE( )
SOUNDEX( )   IDXCOLLATE( )  
SPACE( )   IMESTATUS( )  
STR( )   INDBC( )  
STUFF( )   INDEXSEEK( )  
SUBSTR( )   INPUTBOX( )  
TAN( )   INSMODE( )  
TIME( )   ISBLANK( )  
TRANSFORM( )   ISCOLOR( )  
UPPER( )   ISEXCLUSIVE( )  
USED( )   ISFLOCKED( )  
VAL( )   ISMEMOFETCHED( )  
VERSION( )   ISMOUSE( )  
YEAR( )   ISNULL( )  
    ISPEN( )  
    ISREADONLY( )  
    ISRLOCKED( )  
    ISTRANSACTABLE( )  
    JUSTDRIVE( )  
    JUSTEXT( )  
    JUSTFNAME( )  
    JUSTPATH( )  
    JUSTSTEM( )  
    KEY( )  
    KEYMATCH( )  
    LEFTC( )  
    LENC( )  
    LIKEC( )  
    LINENO( )  
    LOADPICTURE( )  
    LOCFILE( )  
    LOCK( )  
    LOOKUP( )  
    MAKETRANSACTABLE( )  
    MDX( )  
    MDY( )  
    MESSAGEBOX( )  
    MINUTE( )  
    MTON( )  
    NDX( )  
    NEWOBJECT( )  
    NORMALIZE( )  
    NTOM( )  
    NUMLOCK( )  
    NVL( )  
    OLDVAL( )  
    ORDER( )  
    PAYMENT( )  
    PCOL( )  
    PRIMARY( )  
    PROGRAM( )  
    PROW( )  
    PRTINFO( )  
    PUTFILE( )  
    PV( )  
    QUARTER( )  
    RAISEEVENT( )  
    RATC( )  
    REFRESH( )  
    RELATION( )  
    REMOVEPROPERTY( )  
    REQUERY( )  
    RGBSCHEME( )  
    RIGHTC( )  
    SAVEPICTURE( )  
    SCHEME( )  
    SEC( )  
    SEEK( )  
    SELECT( )  
    SETFLDSTATE( )  
    SETRESULTSET( )  
    SIGN( )  
    SQLCANCEL( )  
    SQLCOLUMNS( )  
    SQLCOMMIT( )  
    SQLCONNECT( )  
    SQLDISCONNECT( )  
    SQLEXEC( )  
    SQLGETPROP( )  
    SQLIDLEDISCONNECT( )  
    SQLMORERESULTS( )  
    SQLPREPARE( )  
    SQLROLLBACK( )  
    SQLSETPROP( )  
    SQLSTRINGCONNECT( )  
    SQLTABLES( )  
    STRCONV( )  
    STREXTRACT( )  
    STRTOFILE( )  
    STUFFC( )  
    SUBSTRC( )  
    SYSMETRIC( )  
    TABLEREVERT( )  
    TABLEUPDATE( )  
    TAG( )  
    TAGCOUNT( )  
    TAGNO( )  
    TARGET( )  
    TEXTMERGE( )  
    TTOC( )  
    TTOD( )  
    TXNLEVEL( )  
    TXTWIDTH( )  
    UNIQUE( )  
    VARTYPE( )  
    WEEK( )  
    XMLTOCURSOR( )  
    XMLUPDATEGRAM( )