******************************************************************************************* * Description.......: ReportToAscii - this program uses ReportFile as Input Table * and results a program to produce the same Output (as Report should produce) * Calling Samples...: ReportToAscii("Galley","g:\redp\appl\Special\Progs\GalleyRpt.prg") * Parameter List....: tcReportFile, tcProgramFile * Created by........: Nadya Nosonovsky 12/22/2000 10:09:26 AM * Modified by.......: ******************************************************************************************** lparameters tcReportFile, tcProgramFile local lcReportName, lcProgramName, lnAnswer if vartype(tcReportFile)<>'C' or empty(m.tcReportFile) lcReportName=getfile("FRX") else lcReportName=forceext(m.tcReportFile,"frx") endif if empty(m.lcReportName) return .f. endif if !file(m.lcReportName) && Report file doesn't exist =messagebox("File "+m.lcReportName+" is not found!",48,"Error") return .f. endif if empty(m.tcProgramFile) or vartype(m.tcProgramFile)<>'C' lcProgramName=getfile("PRG") else lcProgramName=forceext(m.tcProgramFile,"prg") endif if file(m.lcProgramName) lnAnswer=messagebox("File "+m.lcProgramName+ " already exists. Do you want to re-create it?",36,"File exists") if m.lnAnswer=7 && No return .f. else erase (m.lcProgramName) endif endif local lcStr, lcHeader, lcBegin, lcEnd select expr, supexpr, vpos, hpos from (lcReportName) ; into cursor curReport where inlist(objtype,5,8) order by 3,4 #define LCRF chr(10) lcStr='' lcHeader="#define LCRF chr(10)"+LCRF+"local lcStr"+LCRF+"* Open table here, then scan ... endscan ..."+LCRF lcBegin="lcStr=lcStr+" lcEnd="+LCRF" scan if not empty(supexpr) lcStr=m.LcStr+"if "+alltrim(supexpr)+LCRF+ ; space(6)+m.lcBegin+alltrim(expr)+m.lcEnd+LCRF+"endif"+LCRF else lcStr=m.LcStr+m.lcBegin+alltrim(expr)+m.lcEnd+LCRF endif endscan *=messagebox(lcStr) =strtofile(m.lcHeader+lcStr,m.lcProgramName)You still have to modify this auto-generated program to produce desired result...