*+ sadr¾aj baze u .PRG * Generi¹e program koji puni bazu sadr¾ajem zateèenim u; bazi u trenutku generisanja, preskaèuæi prazna polja. ; Generisani program mo¾e da ispadne dugaèak, ali æe da radi. * Parametri: * _txt - ime fajla u koji se pi¹e, difolt ekstenzija .prg * dbf - ime baze iz koje se èita i za koju se kreira program za; punjenje * * Istorija: v1.0 24.09.94, bio potreban da bi se napravili; gen_scx i gen_repo * 6.3.95 doteran da prihvata cr u memo poljetu * 2002.01.20 added some defaults. * * klasa: generator * *- para _txt,dbf, fldno IF !EMPTY(dbf) use (dbf) ELSE IF EMPTY(ALIAS()) =alert("no table open") ENDIF ENDIF IF !EMPTY(_txt) _txt=defaultext(_txt,'prg') ELSE _txt=FORCEEXT(DBF(),"prg") ENDIF if type('fldno')#"N" fldno=1 endif set text to (_txt) set text on \ #define cr chr(13) \ #define nul chr(0) n=afiel(_st) scan sp='' sv='' zz='' for i=fldno to n if !empty(eval(_st(i,1))) _add=all2str(i) if !empt(_add) sp=sp+zz+_st(i,1) sv=sv+zz+_add zz=', ' endif endif endf if !empt(sp) \Insert into <<alias()>> (<<sp>>); \ Value (<<sv>>) endif ends set text off set text to func all2str para _i do case case inlist(_st(_i,2),'N','F') retu allt(str(eval(_st(_i,1)))) case inlist(_st(_i,2),'C','M') _txt=eval(_st(_i,1)) do case case '"'$_txt _txt= "'"+_txt+"'" case "'" $ _txt _txt= '"'+_txt+'"' case _txt=chr(0) _txt= 'Nul' endc _txt=strt(_txt,chr(13),'"+cr+"') retu '"'+_txt+'"' case _st(_i,2)='L' retu '.T.' case _st(_i,2)='D' retu '{'+dtoc(eval(_st(_i,1)))+'}' other retu '' endc