PRB: Commands in dBASE Format File Ignored During BROWSE
ID: Q112471
The information in this article applies to:
- Microsoft FoxPro for MS-DOS, version 2.6
- Microsoft FoxPro for Windows, version 2.6
SYMPTOMS
FoxPro version 2.6 ignores some commands in a dBASE IV created format file
if a BROWSE FORMAT command is issued.
NOTE: The extra commands in a format file are ignored only during a BROWSE
FORMAT command. The EDIT, CHANGE, APPEND, and READ commands do not ignore
the extra commands in the format file.
CAUSE
FoxPro and dBASE format files differ in functionality. FoxPro allows only
@ ... SAY, @ ... GET, and COLOR commands in a format file, whereas dBASE
allows other program commands.
FoxPro provides for the use of other commands through the Screen Builder
power tool, which is the replacement for the dBASE format file. The FoxPro
Migration tool, MIGRATE.APP, will convert dBASE .FMT files into FoxPro .SCX
files. To run the Migration tool, choose Convert dBASE Files from the Run
menu in FoxPro version 2.6.
STATUS
This behavior is by design.
MORE INFORMATION
Steps to Reproduce Behavior
1. Create a file named CUSTOMER.FMT with the following commands:
*------------------------------------------------------------------
* Name.......: CUSTOMER.FMT
* Version....: dBASE IV, Format 2.0
* Notes......: Format files use "" as delimiters!
*------------------------------------------------------------------
*-- Format file initialization code -------------------------------
*-- Some of these PRIVATE variables are created based on CodeGen
*-- and may not be used by your particular .FMT file
PRIVATE ll_talk, ll_cursor, lc_display, lc_status, ll_carry, ;
lc_proc
IF SET("TALK") = "ON"
SET TALK OFF
ll_talk = .T.
ELSE
ll_talk = .F.
ENDIF
ll_cursor = SET("CURSOR") = "ON"
SET CURSOR ON
lc_display = SET("DISPLAY")
lc_status = SET("STATUS")
*-- SET STATUS was ON when you went into the Forms Designer.
IF lc_status = "OFF"
SET STATUS ON
ENDIF
*-- @ SAY GETS Processing. ----------------------------------------
*-- Format Page: 1
@ 1,0 SAY "CNO"
@ 1,4 GET cno PICTURE "XXXXXX"
@ 2,0 SAY "CONTACT"
@ 2,4 GET contact PICTURE "XXXXXXXXXXXXXXXXXXXX"
@ 3,0 SAY "COMPANY"
@ 3,4 GET company PICTURE "XXXXXXXXXXXXXXXXXXXXXXXXX"
*-- Format file exit code -----------------------------------------
*-- SET STATUS was ON when you went into the Forms Designer.
IF lc_status = "OFF" && Entered form with status off
SET STATUS OFF && Turn STATUS "OFF" on the way out
ENDIF
IF .NOT. ll_cursor
SET CURSOR OFF
ENDIF
IF SET( "DISPLAY" ) <> lc_display
SET DISPLAY TO &lc_display. && Reset Screen size if changed
ENDIF
RELEASE lc_fields,lc_STATUS
IF TYPE( "ll_echo" ) = "L"
IF ll_echo
SET ECHO ON
ENDIF
ENDIF
IF ll_talk
SET TALK ON
ENDIF
*-- EOP: CUSTOMER.FMT
2. Issue the following commands in the Command window:
USE customer
SET FORMAT TO customer.fmt
BROWSE FORMAT
FoxPro will ignore all commands except @ ... SAY, @ ... GET, and COLOR
commands.
This behavior is by design to eliminate the "Syntax error" message that
occurs in previous versions of FoxPro.
Additional reference words: FoxDos FoxWin 2.60
KBCategory: kbprg kbprb
KBSubcategory: FxinteropDbase