| Command Name | Implemented | Comments |
| ! | Yes | |
| * | Yes | |
| = | Yes | |
| ? | Yes | Basic syntax implemented including several expressions at the same time. |
| ?? | Yes | |
| ??? | Yes | |
| ACTIVATE | Yes | |
| ADD | Yes | Implemented for ADD OBJECT AS <ClassName> |
| ALTER | No | |
| APPEND | Yes | Implemented: APPEND BLANK APPEND PROCEDURES APPEND MEMO |
| ASSERT | Yes | |
| AVERAGE | Yes | Added clause : IN eWorkArea |
| BEGIN | No | |
| BLANK | Yes | Implemented only as a Clause of other commands |
| BROWSE | No | |
| CALCULATE | Yes | |
| CANCEL | Yes | |
| CASE | Yes | |
| CATCH | Yes | |
| CD | Yes | |
| CHANGE | No | |
| CHDIR | Yes | |
| CLEAR | Yes | Implemented for CLEAR EVENTS |
| CLOSE | Yes | Implemented for CLOSE DATABASES
|
| COMPILE | Yes | |
| CONTINUE | Yes | |
| COPY | Yes | Iimplemented for: COPY FILE ... COPY PROCEDURES COPY MEMO COPY TO [TYPE] CSV | DELIMITED | ODS1_2 | HTML | CUSTOM yourFilter ODS1_2 = OpenDocument Workbook format as supported by www.OpenOffice.org Calc. You register a new export filter with VFP::Runtime::Data::BaseExporter::RegisterFormat(cName,oFilter) oFilter should derive from VFP::Runtime::Data::BaseExporter |
| COUNT | Yes | Has a new clause: IN eWorkarea |
| CREATE | Yes | TABLE | DBF Implemented for the FROM ARRAY syntax DATABASE implemented clause |
| DEACTIVATE | Yes | |
| DEBUG | Yes | |
| DEBUGOUT | Yes | |
| DECLARE | Yes | |
| DEFINE | Yes | Syntax implemented for Interfaces, Classes, Structures and enums: DEFINE CLASS myClass AS System::Object PROCEDURE MethodA Procedure MethodB as long TPARAMETERS cValue as String ENDDEFINE DEFINE INTERFACE aInteface PROCEDURE MethodA Procedure MethodB as long TPARAMETERS cValue as String ENDDEFINE DEFINE ENUM MyEnum nValue1 nValue2 ENDDEFINE DEFINE STRUCTURE MyStruct PROCEDURE MethodA Procedure MethodB as long TPARAMETERS cValue as String ENDEFINE |
| DELETE | Yes | Implemented for DELETE ** records ** DELETE FILE DELETE CONNECTION DELETE TRIGGER DELETE VIEW |
| DIMENSION | Yes | |
| DIR | Yes | |
| DIRECTORY | Yes | |
| DISPLAY | No | |
| DO | Yes | Implemented as DO ProcedureName WITH args... The parameters are passed by value. If you want to pass them by reference you can prefix them with @ like DO ProcedureName with @arg1, args ... ProcedureName can be a PROCEDURE or FUNCTION in the current program or in any other program also compiled in the project. You don't need to SET PROCEDURE TO progName, to use ProcedureName from progName. ProcedureName must be resolved at compile time or an error will arise. The syntax DO myprog.prg is allowed but not implemented yet (does nothing), it will be implemented before version 1.0 and DO FORM is implemented and used widely inside the runtime like: DO FORM FormName [NAME VarName [LINKED]] [WITH cParameterList] [TO VarName] [NOREAD] [NOSHOW] And as DO CASE |
| DOCK | Yes | The user defined forms still are not DOCK enabled |
| DOEVENTS | Yes | |
| DROP | Yes | |
| EDIT | No | |
| EJECT | Yes | |
| ELIF | Yes | |
| ELSE | Yes | |
| END | Yes | |
| ENDCASE | Yes | |
| ENDDEFINE | Yes | Syntax extended see DEFINE |
| ENDDO | Yes | |
| ENDFOR | Yes | |
| ENDFUNC | Yes | |
| ENDIF | Yes | |
| ENDPRINTJOB | Yes | |
| ENDPROC | Yes | |
| ENDSCAN | Yes | |
| ENDTEXT | Yes | |
| ENDTRY | Yes | |
| ENDWITH | Yes | |
| ERASE | Yes | Clause RECYCLE NOT IMPLEMENTED YET |
| ERROR | Yes | |
| EXIT | Yes | |
| EXPORT | Yes | Supports the same formats as COPY TO. See the supported formats and how to extend it with your own formats |
| EXTERNAL | Yes | This is just to enable more programs to compile under .NET |
| FINALLY | Yes | |
| FIND | Yes | Implemented as a call to SEEK |
| FLUSH | Yes | |
| FOR | Yes | |
| FREE | Yes | FREE TABLE - syntax
|
| FUNCTION | Yes | |
| GATHER | Yes | |
| GETEXPR | Yes | |
| GO | Yes | |
| GOTO | Yes | |
| HELP | Yes | |
| HIDDEN | Yes | Actually implemented as a private member |
| HIDE | Yes | |
| IF | Yes | |
| IFDEF | Yes | |
| IFNDEF | Yes | |
| IMPLEMENTS | Yes | |
| IMPORT | No | |
| INCLUDE | Yes | |
| INDEX | Yes | Implementado para CDX index files |
| INSERT | Yes | |
| KEYBOARD | Yes | |
| LABEL | No | |
| LIST | No | |
| LOCAL | Yes | |
| LOCATE | Yes | |
| LOOP | Yes | |
| LPARAMETERS | Yes | |
| MD | Yes | |
| MKDIR | Yes | |
| MODIFY | No | |
| MOVE | Yes | |
| NEXT | Yes | |
| NODEFAULT | Yes | |
| NOTE | Yes | |
| ON | Yes | |
| OPEN | Yes | OPEN DATABASE - implemented |
| OTHERWISE | Yes | |
| PACK | Yes | PACK for tables PACK DATABASE |
| PARAMETERS | Yes | |
| POP | Yes | POP KEY is not implemented |
| PRINTJOB | Yes | |
| PRIVATE | Yes | |
| PROCEDURE | Yes | |
| PROTECTED | Yes | |
| PUBLIC | Yes | |
| PUSH | Yes | PUSH KEY is not implemented |
| QUIT | Yes | |
| RD | Yes | |
| READ | Yes | Implemented for READ EVENTS |
| RECALL | Yes | |
| REINDEX | Yes | Needs exclusive access |
| RELEASE | Yes | |
| REMOVE | Yes | REMOVE TABLE - implemented |
| RENAME | Yes | |
| REPLACE | Yes | |
| REPORT | No | |
| RESTORE | No | |
| RESUME | Yes | |
| RETRY | Yes | |
| RETURN | Yes | |
| RMDIR | Yes | |
| ROLLBACK | No | |
| RUN | Yes | |
| SAVE | No | |
| SCAN | Yes | In the table layer for 64 bits, the WHILE clause is accepted but ignored this will be reenabled in the next revision. |
| SCATTER | Yes | NAME clause only works for VFPObjects |
| SEEK | Yes | |
| SELECT | Yes | |
| SET | Yes | |
| SHOW | Yes | |
| SIZE | Yes | |
| SKIP | Yes | |
| SORT | No | |
| STORE | Yes | |
| SUM | Yes | Has a new clause : IN eWorkArea |
| SUSPEND | Yes | Implemented as System::Diagnostics::Debugger::Break()
|
| TEXT | Yes | |
| THROW | Yes | |
| TOTAL | Yes | Has a new clause : IN eWorkArea |
| TRY | Yes | |
| TYPE | Yes | Implemented output to file |
| UNDEFINE | Yes | |
| UNLOCK | Yes | |
| UPDATE | No | |
| USE | Yes | |
| VALIDATE | Yes | |
| WAIT | Yes | Does not suportst the NOCLEAR BEHAVIOR. Allways use a Window to display the message even if you don't include WINDOW. TODO: Fix the implementation. |
| WITH | Yes | |
| ZAP | Yes | |
| ZOOM | Yes | |
| \ | Yes | |
| \\ | Yes | |
| DEFINE_MENU | Yes | |