PRB: Commands in dBASE Format File Ignored During BROWSE

Last reviewed: June 28, 1995
Article 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

  • 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


    THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

    Last reviewed: June 28, 1995
    © 1998 Microsoft Corporation. All rights reserved. Terms of Use.