Microsoft KB Archive/113523

{| = How to Convert a FoxPro 2.5 Report File to 2.0 Format =
 * width="100%"|

ID: Q113523

The information in this article applies to:


 * Microsoft FoxPro for MS-DOS, versions 2.0, 2.5a, 2.5b, and 2.6

SUMMARY
The sample program below will convert a FoxPro 2.5 report file (.FRX) to FoxPro 2.0 format without destroying the original FoxPro 2.5 report file.

MORE INFORMATION
The following sample program converts a FoxPro 2.5 report (RPT25.FRX) to a valid FoxPro 2.0 report (RPT20.FRX).

PROCEDURE cnvt2025 PARAMETER output, input * Add .FRX extension to report filename if not present IF .NOT. LIKE("*FRX",UPPER(output)) output = output+".FRX" ENDIF IF .NOT. LIKE("*FRX",UPPER(input)) input = input+".FRX" ENDIF * Store alias of input report database USE (input) m.alias = ALIAS * Selects only records pertaining to the MS-DOS platform SELECT * FROM (input) INTO TABLE tempfrx WHERE platform = "DOS" * Creates database with 2.0 structure CREATE TABLE (output) ; (objtype N(2,0), objcode N(2,0), name M, expr M, ;     vpos N(4,0), hpos N(4,0), height N(3,0), width N(3,0), ;      style M, picture M, order M, unique L, comment M, ;      environ L, boxchar C(1), fillchar C(1), tag M, ;      tag2 M, float L, stretch L, norepeat L, resetrpt N(2,0), ;      pagebreak L, resetpage L, ;      swapheader L, swapfooter L, ejectbefor L, ejectafter L, ;      plain L, summary L, addalias L, offset N(3,0), ;      topmargin N(3,0), botmargin N(3,0), totaltype N(2,0),   ;      resettotal N(2,0) ) * Copies data to new .FRX file APPEND FROM tempfrx * Changes version to 2.0 version number REPLACE objcode WITH 0 FOR objtype = 1 USE * Turn off SAFETY setting to prepare to delete temporary database oldsaf = SET("SAFETY") SET SAFETY OFF * Delete temporary database SELECT tempfrx USE ERASE tempfrx.DBF * Close original report database SELECT (m.alias) USE * Restore SAFETY setting SET SAFETY &oldsaf The program is called as follows, assuming RPT25.FRX is the 2.5 report and RPT20.FRX is the 2.0 report: =cnvt2025("rpt20.frx","rpt25.frx")